crbro-memory 2.9.0 → 2.10.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 +25 -16
- package/SECURITY.md +27 -2
- package/bin/crbro.mjs +18 -1
- package/dist/daemon/endpoint.d.ts +1 -0
- package/dist/daemon/endpoint.d.ts.map +1 -1
- package/dist/daemon/endpoint.js +4 -13
- package/dist/daemon/endpoint.js.map +1 -1
- package/dist/engine/backup.d.ts.map +1 -1
- package/dist/engine/backup.js +4 -0
- package/dist/engine/backup.js.map +1 -1
- package/dist/engine/cortex.d.ts +18 -6
- package/dist/engine/cortex.d.ts.map +1 -1
- package/dist/engine/cortex.js +119 -92
- package/dist/engine/cortex.js.map +1 -1
- package/dist/engine/doctor.d.ts +93 -0
- package/dist/engine/doctor.d.ts.map +1 -0
- package/dist/engine/doctor.js +378 -0
- package/dist/engine/doctor.js.map +1 -0
- package/dist/engine/evidence.d.ts +26 -0
- package/dist/engine/evidence.d.ts.map +1 -0
- package/dist/engine/evidence.js +171 -0
- package/dist/engine/evidence.js.map +1 -0
- package/dist/engine/hippocampus.d.ts.map +1 -1
- package/dist/engine/hippocampus.js +32 -29
- package/dist/engine/hippocampus.js.map +1 -1
- package/dist/engine/keychain.d.ts.map +1 -1
- package/dist/engine/keychain.js +52 -20
- package/dist/engine/keychain.js.map +1 -1
- package/dist/engine/maintenance.d.ts.map +1 -1
- package/dist/engine/maintenance.js +3 -3
- package/dist/engine/maintenance.js.map +1 -1
- package/dist/engine/prefrontal.d.ts +4 -1
- package/dist/engine/prefrontal.d.ts.map +1 -1
- package/dist/engine/prefrontal.js +100 -66
- package/dist/engine/prefrontal.js.map +1 -1
- package/dist/engine/projects.d.ts +20 -0
- package/dist/engine/projects.d.ts.map +1 -0
- package/dist/engine/projects.js +80 -0
- package/dist/engine/projects.js.map +1 -0
- package/dist/engine/secrets.d.ts.map +1 -1
- package/dist/engine/secrets.js +12 -1
- package/dist/engine/secrets.js.map +1 -1
- package/dist/engine/shelf.d.ts +66 -8
- package/dist/engine/shelf.d.ts.map +1 -1
- package/dist/engine/shelf.js +350 -12
- package/dist/engine/shelf.js.map +1 -1
- package/dist/search/index.d.ts +5 -0
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +21 -8
- package/dist/search/index.js.map +1 -1
- package/dist/search/quality.d.ts +18 -0
- package/dist/search/quality.d.ts.map +1 -0
- package/dist/search/quality.js +31 -0
- package/dist/search/quality.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +123 -34
- package/dist/server.js.map +1 -1
- package/dist/sync/materialize.d.ts +1 -0
- package/dist/sync/materialize.d.ts.map +1 -1
- package/dist/sync/materialize.js +33 -8
- package/dist/sync/materialize.js.map +1 -1
- package/dist/sync/ops.d.ts +7 -2
- package/dist/sync/ops.d.ts.map +1 -1
- package/dist/sync/ops.js.map +1 -1
- package/dist/sync/space.d.ts +5 -3
- package/dist/sync/space.d.ts.map +1 -1
- package/dist/sync/space.js +187 -77
- package/dist/sync/space.js.map +1 -1
- package/dist/types/index.d.ts +30 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/lock.d.ts +2 -0
- package/dist/utils/lock.d.ts.map +1 -1
- package/dist/utils/lock.js +132 -52
- package/dist/utils/lock.js.map +1 -1
- package/dist/version.d.ts +26 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +65 -0
- package/dist/version.js.map +1 -0
- package/hooks/crbro-lifecycle.mjs +612 -608
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/sync/materialize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/sync/materialize.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/ops.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SourceReference, Verification } from '../types/index.js';
|
|
1
2
|
/** Bumped only if the shape changes in a way older clients cannot read. */
|
|
2
3
|
export declare const OPS_VERSION = 1;
|
|
3
4
|
export type OpKind = 'neuron' | 'fact' | 'status' | 'decision' | 'pattern' | 'tag' | 'error' | 'map' | 'purge' | 'debt' | 'verify';
|
|
@@ -24,6 +25,9 @@ export interface FactOp extends OpBase {
|
|
|
24
25
|
text: string;
|
|
25
26
|
conf: number;
|
|
26
27
|
src?: string;
|
|
28
|
+
reference?: SourceReference;
|
|
29
|
+
temporal?: 'current' | 'historical';
|
|
30
|
+
verification_invalidated_at?: string;
|
|
27
31
|
/** Aliases indexed with the fact (1.15). Merged, never replaced, on the receiving side. */
|
|
28
32
|
keys?: string[];
|
|
29
33
|
/**
|
|
@@ -100,8 +104,8 @@ export interface PurgeOp extends OpBase {
|
|
|
100
104
|
}
|
|
101
105
|
/**
|
|
102
106
|
* A line was checked against its source and still held (shelf life): emitted
|
|
103
|
-
* by crbro_revise status=verified
|
|
104
|
-
*
|
|
107
|
+
* by crbro_revise status=verified. Repetir un hecho no emite esta operación.
|
|
108
|
+
* `eid` is the fact id (ekind 'fact') or the entryId of a decision or
|
|
105
109
|
* pattern (ekind 'entry'); `at` is the check. Merge: the latest `at` wins over
|
|
106
110
|
* every log and the local value. A later check is newer evidence, there is
|
|
107
111
|
* nothing to vote on, and max() keeps the merge order-independent.
|
|
@@ -114,6 +118,7 @@ export interface VerifyOp extends OpBase {
|
|
|
114
118
|
op: 'verify';
|
|
115
119
|
eid: string;
|
|
116
120
|
ekind: 'fact' | 'entry';
|
|
121
|
+
verification?: Verification;
|
|
117
122
|
}
|
|
118
123
|
export type Op = NeuronOp | FactOp | StatusOp | DecisionOp | PatternOp | TagOp | ErrorOp | MapOp | PurgeOp | DebtOp | VerifyOp;
|
|
119
124
|
/**
|
package/dist/sync/ops.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/sync/ops.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/sync/ops.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/ops.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/sync/ops.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,uBAAuB;AACvB,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/sync/ops.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,uBAAuB;AACvB,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,oDAAoD;;;AAqJpD,sCAEC;AAED,0BAEC;AAGD,4BAEC;AAOD,8BAyBC;AAGD,gCAEC;AAnMD,8CAA+C;AAG/C,2EAA2E;AAC9D,QAAA,WAAW,GAAG,CAAC,CAAC;AAwI7B;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnE,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,IAAA,qBAAW,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,gDAAgD;AAChD,SAAgB,QAAQ,CAAC,EAAM;IAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAe;IACvC,MAAM,GAAG,GAAS,EAAE,CAAC;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAO,CAAC;YACnC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACvE,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,IAAI,MAAM,CAAC,CAAC,GAAG,mBAAW,EAAE,CAAC;gBAC3B,0EAA0E;gBAC1E,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,gEAAgE;AAChE,SAAgB,UAAU,CAAC,QAAgB,EAAE,MAAc,EAAE,MAAc;IACzE,OAAO,WAAW,QAAQ,QAAQ,MAAM,IAAI,MAAM,QAAQ,CAAC;AAC7D,CAAC"}
|
package/dist/sync/space.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { MergeReport } from './materialize.js';
|
|
2
2
|
import { type Op } from './ops.js';
|
|
3
3
|
import { type GitResult } from './git.js';
|
|
4
4
|
import type { Brain } from '../engine/brain.js';
|
|
@@ -88,7 +88,7 @@ export declare function unshareNeuron(brain: Brain, cortex: Cortex, neuronRef: s
|
|
|
88
88
|
}>;
|
|
89
89
|
/**
|
|
90
90
|
* Leave a space: one last sync so pending notes go out, then the local copy
|
|
91
|
-
* of the space is
|
|
91
|
+
* of the space is archived and its neurons stop being followed. The local
|
|
92
92
|
* neurons and the remote repository are untouched. The ids are NOT
|
|
93
93
|
* tombstoned — re-joining should follow them again.
|
|
94
94
|
*/
|
|
@@ -96,9 +96,11 @@ export declare function leaveSpace(brain: Brain, cortex: Cortex, name: string):
|
|
|
96
96
|
ok: boolean;
|
|
97
97
|
message: string;
|
|
98
98
|
synced_before_leaving: SyncReport['state'] | 'skipped';
|
|
99
|
+
pushed_before_leaving: boolean;
|
|
99
100
|
neurons_unshared: number;
|
|
101
|
+
archive_path?: string;
|
|
100
102
|
}>;
|
|
101
|
-
/**
|
|
103
|
+
/** Registra antes de confirmar. Solo omite una neurona que ya no se comparte. */
|
|
102
104
|
export declare function emitOps(brain: Brain, neuronId: string, make: (id: Identity) => Op[]): Promise<void>;
|
|
103
105
|
export declare function syncSpaceNow(brain: Brain, cortex: Cortex, spaceName: string, timeoutMs?: number): Promise<SyncReport>;
|
|
104
106
|
/** Sync every space. Used at boot and at consolidation, with a short budget. */
|
package/dist/sync/space.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/sync/space.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/sync/space.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/space.js
CHANGED
|
@@ -29,12 +29,57 @@ exports.syncAll = syncAll;
|
|
|
29
29
|
exports.attachSync = attachSync;
|
|
30
30
|
const node_fs_1 = require("node:fs");
|
|
31
31
|
const node_path_1 = __importDefault(require("node:path"));
|
|
32
|
+
const node_crypto_1 = require("node:crypto");
|
|
32
33
|
const fs_js_1 = require("../utils/fs.js");
|
|
34
|
+
const lock_js_1 = require("../utils/lock.js");
|
|
33
35
|
const hash_js_1 = require("../utils/hash.js");
|
|
34
36
|
const secrets_js_1 = require("../engine/secrets.js");
|
|
35
|
-
const
|
|
37
|
+
const evidence_js_1 = require("../engine/evidence.js");
|
|
36
38
|
const ops_js_1 = require("./ops.js");
|
|
37
39
|
const git_js_1 = require("./git.js");
|
|
40
|
+
// Fuera de shared/: el bloqueo debe sobrevivir al traslado de un espacio.
|
|
41
|
+
// Orden: shared-state -> shared-outbox-state -> JSON. Nunca a la inversa.
|
|
42
|
+
// Git retiene shared-state, pero NUNCA shared-outbox-state. Los emisores de
|
|
43
|
+
// Cortex llegan después de soltar la neurona y solo toman el segundo.
|
|
44
|
+
function withSharedState(brain, fn) {
|
|
45
|
+
return (0, lock_js_1.withLock)(node_path_1.default.join(brain.paths.root, 'shared-state'), fn);
|
|
46
|
+
}
|
|
47
|
+
function withOutboxState(brain, fn) {
|
|
48
|
+
return (0, lock_js_1.withLock)(node_path_1.default.join(brain.paths.root, 'shared-outbox-state'), fn);
|
|
49
|
+
}
|
|
50
|
+
function outboxDir(brain, space) {
|
|
51
|
+
return node_path_1.default.join(brain.paths.root, 'shared-outbox', space);
|
|
52
|
+
}
|
|
53
|
+
/** Con outbox-state adquirido y sin Git concurrente sobre este repositorio. */
|
|
54
|
+
async function drainOutboxUnlocked(brain, space) {
|
|
55
|
+
const pendingDir = outboxDir(brain, space);
|
|
56
|
+
let files;
|
|
57
|
+
try {
|
|
58
|
+
files = await node_fs_1.promises.readdir(pendingDir);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
if (err.code === 'ENOENT')
|
|
62
|
+
return 0;
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
let drained = 0;
|
|
66
|
+
for (const file of files.filter(f => f.endsWith('.json')).sort()) {
|
|
67
|
+
const pending = node_path_1.default.join(pendingDir, file);
|
|
68
|
+
const record = await (0, fs_js_1.readJSON)(pending);
|
|
69
|
+
if (!record)
|
|
70
|
+
continue;
|
|
71
|
+
if (!(await readSpace(brain, space)))
|
|
72
|
+
throw new Error('Cannot deliver pending notes: space is missing.');
|
|
73
|
+
const abs = node_path_1.default.join(spaceDir(brain, space), (0, ops_js_1.opsRelPath)(record.neuronId, record.identity.author, record.identity.device));
|
|
74
|
+
await node_fs_1.promises.mkdir(node_path_1.default.dirname(abs), { recursive: true });
|
|
75
|
+
// La línea inicial aísla un posible append truncado por caída del proceso.
|
|
76
|
+
// Si cayó tras append pero antes de unlink se repite: applyOps es idempotente.
|
|
77
|
+
await node_fs_1.promises.appendFile(abs, '\n' + record.ops.map(ops_js_1.encodeOp).join('\n') + '\n', 'utf-8');
|
|
78
|
+
await node_fs_1.promises.unlink(pending);
|
|
79
|
+
drained += record.ops.length;
|
|
80
|
+
}
|
|
81
|
+
return drained;
|
|
82
|
+
}
|
|
38
83
|
/**
|
|
39
84
|
* Who this machine is. Not a security claim — anyone with push access to the
|
|
40
85
|
* repository can write any name — just a label so a fact says where it came
|
|
@@ -69,6 +114,9 @@ async function listSpaces(brain) {
|
|
|
69
114
|
}
|
|
70
115
|
// ─── Creating and joining ────────────────────────────────────────
|
|
71
116
|
async function createSpace(brain, name, remote, author, branch = 'main') {
|
|
117
|
+
return withSharedState(brain, () => createSpaceUnlocked(brain, name, remote, author, branch));
|
|
118
|
+
}
|
|
119
|
+
async function createSpaceUnlocked(brain, name, remote, author, branch) {
|
|
72
120
|
if (!(0, git_js_1.gitAvailable)()) {
|
|
73
121
|
return { ok: false, message: 'git is not installed, and it is what carries the shared memory. Install it and try again.' };
|
|
74
122
|
}
|
|
@@ -97,6 +145,9 @@ async function createSpace(brain, name, remote, author, branch = 'main') {
|
|
|
97
145
|
};
|
|
98
146
|
}
|
|
99
147
|
async function joinSpace(brain, name, remote, author, branch = 'main') {
|
|
148
|
+
return withSharedState(brain, () => joinSpaceUnlocked(brain, name, remote, author, branch));
|
|
149
|
+
}
|
|
150
|
+
async function joinSpaceUnlocked(brain, name, remote, author, branch) {
|
|
100
151
|
if (!(0, git_js_1.gitAvailable)()) {
|
|
101
152
|
return { ok: false, message: 'git is not installed, and it is what carries the shared memory. Install it and try again.' };
|
|
102
153
|
}
|
|
@@ -132,10 +183,14 @@ function neuronOps(neuron, id) {
|
|
|
132
183
|
const fid = f.id || (0, ops_js_1.entryId)(f.text);
|
|
133
184
|
ops.push({ v: ops_js_1.OPS_VERSION, op: 'fact', nid: neuron.id, by: id.author,
|
|
134
185
|
at: f.added || at, fid, text: f.text, conf: f.confidence ?? 1, src: f.source,
|
|
186
|
+
...(f.reference ? { reference: f.reference } : {}),
|
|
187
|
+
...(f.temporal ? { temporal: f.temporal } : {}),
|
|
188
|
+
...(f.verification_invalidated_at ? { verification_invalidated_at: f.verification_invalidated_at } : {}),
|
|
135
189
|
...(f.keys?.length ? { keys: f.keys } : {}),
|
|
136
190
|
...(f.shelf_life ? { shelf: f.shelf_life } : {}) });
|
|
137
191
|
if (f.verified) {
|
|
138
|
-
ops.push({ v: ops_js_1.OPS_VERSION, op: 'verify', nid: neuron.id, by: id.author, at: f.verified, eid: fid, ekind: 'fact'
|
|
192
|
+
ops.push({ v: ops_js_1.OPS_VERSION, op: 'verify', nid: neuron.id, by: id.author, at: f.verified, eid: fid, ekind: 'fact',
|
|
193
|
+
...(f.verification ? { verification: f.verification } : {}) });
|
|
139
194
|
}
|
|
140
195
|
if (f.status === 'superseded' || f.status === 'retracted') {
|
|
141
196
|
ops.push({ v: ops_js_1.OPS_VERSION, op: 'status', nid: neuron.id, by: id.author,
|
|
@@ -169,7 +224,8 @@ function neuronOps(neuron, id) {
|
|
|
169
224
|
}
|
|
170
225
|
for (const [k, when] of Object.entries(neuron.entry_verified || {})) {
|
|
171
226
|
if (k && when)
|
|
172
|
-
ops.push({ v: ops_js_1.OPS_VERSION, op: 'verify', nid: neuron.id, by: id.author, at: when, eid: k, ekind: 'entry'
|
|
227
|
+
ops.push({ v: ops_js_1.OPS_VERSION, op: 'verify', nid: neuron.id, by: id.author, at: when, eid: k, ekind: 'entry',
|
|
228
|
+
...(neuron.entry_verification?.[k] ? { verification: neuron.entry_verification[k] } : {}) });
|
|
173
229
|
}
|
|
174
230
|
if (neuron.map && neuron.map.text) {
|
|
175
231
|
ops.push({ v: ops_js_1.OPS_VERSION, op: 'map', nid: neuron.id, by: id.author,
|
|
@@ -198,7 +254,25 @@ async function prepareShare(brain, cortex, neuronRef, spaceName) {
|
|
|
198
254
|
for (const kind of (0, secrets_js_1.secretKinds)(text || ''))
|
|
199
255
|
blocked.push({ where, kind });
|
|
200
256
|
};
|
|
201
|
-
|
|
257
|
+
const revisarReferencia = (where, reference) => {
|
|
258
|
+
if (reference === undefined)
|
|
259
|
+
return;
|
|
260
|
+
try {
|
|
261
|
+
(0, evidence_js_1.sanitizeReference)(reference);
|
|
262
|
+
revisar(where, JSON.stringify(reference));
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
blocked.push({ where, kind: 'unsafe source reference' });
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
(neuron.facts || []).forEach((f, i) => {
|
|
269
|
+
revisar(`facts[${i}]`, f.text);
|
|
270
|
+
revisarReferencia(`facts[${i}].reference`, f.reference);
|
|
271
|
+
revisarReferencia(`facts[${i}].verification.reference`, f.verification?.reference);
|
|
272
|
+
});
|
|
273
|
+
for (const [k, v] of Object.entries(neuron.entry_verification || {})) {
|
|
274
|
+
revisarReferencia(`entry_verification[${k}].reference`, v.reference);
|
|
275
|
+
}
|
|
202
276
|
(neuron.decisions || []).forEach((d, i) => revisar(`decisions[${i}]`, d.text));
|
|
203
277
|
(neuron.patterns || []).forEach((p, i) => revisar(`patterns[${i}]`, p));
|
|
204
278
|
(neuron.errors || []).forEach((e, i) => revisar(`errors[${i}]`, e));
|
|
@@ -219,6 +293,9 @@ async function prepareShare(brain, cortex, neuronRef, spaceName) {
|
|
|
219
293
|
};
|
|
220
294
|
}
|
|
221
295
|
async function commitShare(brain, cortex, neuronRef, spaceName, token) {
|
|
296
|
+
return withSharedState(brain, () => withOutboxState(brain, () => commitShareUnlocked(brain, cortex, neuronRef, spaceName, token)));
|
|
297
|
+
}
|
|
298
|
+
async function commitShareUnlocked(brain, cortex, neuronRef, spaceName, token) {
|
|
222
299
|
const prep = await prepareShare(brain, cortex, neuronRef, spaceName);
|
|
223
300
|
if ('error' in prep)
|
|
224
301
|
return { ok: false, message: prep.error };
|
|
@@ -240,7 +317,7 @@ async function commitShare(brain, cortex, neuronRef, spaceName, token) {
|
|
|
240
317
|
// keep flowing without anyone having to share it again. A neuron that was
|
|
241
318
|
// unshared earlier loses its tombstone here, so re-sharing works.
|
|
242
319
|
await removeUnshared(brain, neuron.id);
|
|
243
|
-
await
|
|
320
|
+
await markSharedUnlocked(brain, neuron.id, spaceName);
|
|
244
321
|
return { ok: true, message: `"${neuron.id}" is now shared in "${spaceName}".`, ops: ops.length };
|
|
245
322
|
}
|
|
246
323
|
function sharedMapPath(brain) {
|
|
@@ -250,9 +327,10 @@ async function sharedMap(brain) {
|
|
|
250
327
|
return (await (0, fs_js_1.readJSON)(sharedMapPath(brain))) || {};
|
|
251
328
|
}
|
|
252
329
|
async function markShared(brain, neuronId, space) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
330
|
+
await withSharedState(brain, () => withOutboxState(brain, () => markSharedUnlocked(brain, neuronId, space)));
|
|
331
|
+
}
|
|
332
|
+
async function markSharedUnlocked(brain, neuronId, space) {
|
|
333
|
+
await (0, fs_js_1.updateJSON)(sharedMapPath(brain), current => ({ ...current, [neuronId]: space }));
|
|
256
334
|
}
|
|
257
335
|
// ─── Unsharing ───────────────────────────────────────────────────
|
|
258
336
|
//
|
|
@@ -268,16 +346,10 @@ async function unsharedList(brain) {
|
|
|
268
346
|
return Array.isArray(raw) ? raw.filter((x) => typeof x === 'string') : [];
|
|
269
347
|
}
|
|
270
348
|
async function addUnshared(brain, neuronId) {
|
|
271
|
-
|
|
272
|
-
if (!lista.includes(neuronId))
|
|
273
|
-
lista.push(neuronId);
|
|
274
|
-
await (0, fs_js_1.writeJSON)(unsharedPath(brain), lista);
|
|
349
|
+
await (0, fs_js_1.updateJSON)(unsharedPath(brain), current => [...new Set([...(current || []), neuronId])]);
|
|
275
350
|
}
|
|
276
351
|
async function removeUnshared(brain, neuronId) {
|
|
277
|
-
|
|
278
|
-
if (!lista.includes(neuronId))
|
|
279
|
-
return;
|
|
280
|
-
await (0, fs_js_1.writeJSON)(unsharedPath(brain), lista.filter(id => id !== neuronId));
|
|
352
|
+
await (0, fs_js_1.updateJSON)(unsharedPath(brain), current => current?.filter(id => id !== neuronId) || null);
|
|
281
353
|
}
|
|
282
354
|
/**
|
|
283
355
|
* Stop following a neuron in its space. Local only: no more notes go out and
|
|
@@ -287,6 +359,9 @@ async function removeUnshared(brain, neuronId) {
|
|
|
287
359
|
* already been forgotten can still be unshared.
|
|
288
360
|
*/
|
|
289
361
|
async function unshareNeuron(brain, cortex, neuronRef) {
|
|
362
|
+
return withSharedState(brain, () => withOutboxState(brain, () => unshareNeuronUnlocked(brain, cortex, neuronRef)));
|
|
363
|
+
}
|
|
364
|
+
async function unshareNeuronUnlocked(brain, cortex, neuronRef) {
|
|
290
365
|
const neuron = (await cortex.peek(neuronRef)) || (await cortex.findByName(neuronRef));
|
|
291
366
|
const id = neuron?.id || neuronRef;
|
|
292
367
|
const m = await sharedMap(brain);
|
|
@@ -294,6 +369,8 @@ async function unshareNeuron(brain, cortex, neuronRef) {
|
|
|
294
369
|
if (!space) {
|
|
295
370
|
return { ok: false, neuron_id: id, space: null, message: `"${id}" is not shared in any space.` };
|
|
296
371
|
}
|
|
372
|
+
// Lo ya confirmado debe llegar al log antes de dejar de seguir la neurona.
|
|
373
|
+
await drainOutboxUnlocked(brain, space);
|
|
297
374
|
delete m[id];
|
|
298
375
|
await (0, fs_js_1.writeJSON)(sharedMapPath(brain), m);
|
|
299
376
|
await addUnshared(brain, id);
|
|
@@ -307,66 +384,91 @@ async function unshareNeuron(brain, cortex, neuronRef) {
|
|
|
307
384
|
}
|
|
308
385
|
/**
|
|
309
386
|
* Leave a space: one last sync so pending notes go out, then the local copy
|
|
310
|
-
* of the space is
|
|
387
|
+
* of the space is archived and its neurons stop being followed. The local
|
|
311
388
|
* neurons and the remote repository are untouched. The ids are NOT
|
|
312
389
|
* tombstoned — re-joining should follow them again.
|
|
313
390
|
*/
|
|
314
391
|
async function leaveSpace(brain, cortex, name) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
// Offline or no access are not failures here: the point is to leave, and
|
|
320
|
-
// what could not be pushed is reported, not blocking.
|
|
321
|
-
let synced = 'skipped';
|
|
322
|
-
try {
|
|
323
|
-
synced = (await syncSpaceNow(brain, cortex, name, 10_000)).state;
|
|
324
|
-
}
|
|
325
|
-
catch {
|
|
326
|
-
synced = 'offline';
|
|
327
|
-
}
|
|
328
|
-
// maxRetries: the space is a git repository, and on Windows its pack files
|
|
329
|
-
// are read-only; Node retries after fixing the mode, but only if asked.
|
|
330
|
-
await node_fs_1.promises.rm(spaceDir(brain, name), { recursive: true, force: true, maxRetries: 3 });
|
|
331
|
-
const m = await sharedMap(brain);
|
|
332
|
-
let neurons_unshared = 0;
|
|
333
|
-
for (const [nid, space] of Object.entries(m)) {
|
|
334
|
-
if (space === name) {
|
|
335
|
-
delete m[nid];
|
|
336
|
-
neurons_unshared++;
|
|
392
|
+
return withSharedState(brain, async () => {
|
|
393
|
+
const cfg = await readSpace(brain, name);
|
|
394
|
+
if (!cfg) {
|
|
395
|
+
return { ok: false, message: `You are not in a space called "${name}".`, synced_before_leaving: 'skipped', pushed_before_leaving: false, neurons_unshared: 0 };
|
|
337
396
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
397
|
+
// Offline or no access are not failures here: the point is to leave, and
|
|
398
|
+
// what could not be pushed is reported, not blocking.
|
|
399
|
+
let synced = 'skipped';
|
|
400
|
+
let pushed = false;
|
|
401
|
+
try {
|
|
402
|
+
const result = await syncSpaceUnlocked(brain, cortex, name, 10_000);
|
|
403
|
+
synced = result.state;
|
|
404
|
+
pushed = result.pushed;
|
|
405
|
+
}
|
|
406
|
+
catch {
|
|
407
|
+
synced = 'offline';
|
|
408
|
+
}
|
|
409
|
+
return withOutboxState(brain, async () => {
|
|
410
|
+
// Siempre se conserva TODO el repositorio (incluido .git), incluso tras
|
|
411
|
+
// enviar: las operaciones y su historial siguen siendo recuperables.
|
|
412
|
+
const archive = node_path_1.default.join(brain.paths.root, 'shared-archives', `${name}-${(0, node_crypto_1.randomUUID)()}`);
|
|
413
|
+
try {
|
|
414
|
+
// También lo confirmado mientras Git o la materialización estaban ocupados.
|
|
415
|
+
if (await drainOutboxUnlocked(brain, name))
|
|
416
|
+
pushed = false;
|
|
417
|
+
await node_fs_1.promises.mkdir(node_path_1.default.dirname(archive), { recursive: true });
|
|
418
|
+
await node_fs_1.promises.rename(spaceDir(brain, name), archive);
|
|
419
|
+
}
|
|
420
|
+
catch {
|
|
421
|
+
return {
|
|
422
|
+
ok: false, message: `Could not archive "${name}". The space and its logs were kept; you have not left.`,
|
|
423
|
+
synced_before_leaving: synced, pushed_before_leaving: pushed, neurons_unshared: 0,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
const m = await sharedMap(brain);
|
|
427
|
+
let neurons_unshared = 0;
|
|
428
|
+
for (const [nid, space] of Object.entries(m)) {
|
|
429
|
+
if (space === name) {
|
|
430
|
+
delete m[nid];
|
|
431
|
+
neurons_unshared++;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
if (neurons_unshared > 0)
|
|
435
|
+
await (0, fs_js_1.writeJSON)(sharedMapPath(brain), m);
|
|
436
|
+
const aviso = pushed
|
|
437
|
+
? 'Your pending notes went out first.'
|
|
438
|
+
: 'The final push was not confirmed; pending notes remain recoverable in the archive.';
|
|
439
|
+
return {
|
|
440
|
+
ok: true,
|
|
441
|
+
message: `Left "${name}". ${aviso} ${neurons_unshared} neuron(s) are no longer followed; ` +
|
|
442
|
+
`your local neurons are kept. Recoverable space archive: ${archive}`,
|
|
443
|
+
synced_before_leaving: synced,
|
|
444
|
+
pushed_before_leaving: pushed,
|
|
445
|
+
neurons_unshared,
|
|
446
|
+
archive_path: archive,
|
|
447
|
+
};
|
|
448
|
+
});
|
|
449
|
+
});
|
|
353
450
|
}
|
|
354
|
-
/**
|
|
451
|
+
/** Registra antes de confirmar. Solo omite una neurona que ya no se comparte. */
|
|
355
452
|
async function emitOps(brain, neuronId, make) {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
453
|
+
return withOutboxState(brain, async () => {
|
|
454
|
+
const m = await sharedMap(brain);
|
|
455
|
+
const space = m[neuronId];
|
|
456
|
+
if (!space)
|
|
457
|
+
return;
|
|
458
|
+
const id = await getIdentity(brain);
|
|
459
|
+
const ops = make(id);
|
|
460
|
+
if (ops.length === 0)
|
|
461
|
+
return;
|
|
462
|
+
await (0, fs_js_1.writeJSON)(node_path_1.default.join(outboxDir(brain, space), `${(0, node_crypto_1.randomUUID)()}.json`), { neuronId, identity: id, ops });
|
|
463
|
+
// Si sync adquiere shared-state después de esta comprobación, debe esperar
|
|
464
|
+
// nuestro outbox-state antes de empezar Git. No hay ventana de append/Git.
|
|
465
|
+
if (!(await (0, fs_js_1.fileExists)(node_path_1.default.join(brain.paths.root, 'shared-state.lock')))) {
|
|
466
|
+
try {
|
|
467
|
+
await drainOutboxUnlocked(brain, space);
|
|
468
|
+
}
|
|
469
|
+
catch { /* Ya persistido: se reintenta en sync/leave, incluso tras reinicio. */ }
|
|
470
|
+
}
|
|
471
|
+
});
|
|
370
472
|
}
|
|
371
473
|
// ─── Sync ────────────────────────────────────────────────────────
|
|
372
474
|
async function readAllOps(dir, neuronId) {
|
|
@@ -391,12 +493,16 @@ async function readAllOps(dir, neuronId) {
|
|
|
391
493
|
return all;
|
|
392
494
|
}
|
|
393
495
|
async function syncSpaceNow(brain, cortex, spaceName, timeoutMs = 30_000) {
|
|
496
|
+
return withSharedState(brain, () => syncSpaceUnlocked(brain, cortex, spaceName, timeoutMs));
|
|
497
|
+
}
|
|
498
|
+
async function syncSpaceUnlocked(brain, cortex, spaceName, timeoutMs) {
|
|
394
499
|
const base = {
|
|
395
500
|
space: spaceName, state: 'ok', neurons_touched: [], merged: [], pushed: false, message: '',
|
|
396
501
|
};
|
|
397
502
|
const cfg = await readSpace(brain, spaceName);
|
|
398
503
|
if (!cfg)
|
|
399
504
|
return { ...base, state: 'not_joined', message: `You are not in a space called "${spaceName}".` };
|
|
505
|
+
await withOutboxState(brain, () => drainOutboxUnlocked(brain, spaceName));
|
|
400
506
|
if (!(0, git_js_1.gitAvailable)())
|
|
401
507
|
return { ...base, state: 'no_git', message: 'git is not installed on this machine.' };
|
|
402
508
|
const dir = spaceDir(brain, spaceName);
|
|
@@ -431,21 +537,21 @@ async function syncSpaceNow(brain, cortex, spaceName, timeoutMs = 30_000) {
|
|
|
431
537
|
const ops = await readAllOps(dir, nid);
|
|
432
538
|
if (ops.length === 0)
|
|
433
539
|
continue;
|
|
434
|
-
const
|
|
435
|
-
const { neuron, report } = (0, materialize_js_1.applyOps)(local, ops, { id: nid });
|
|
540
|
+
const { report, created } = await cortex.mergeFromSync(nid, ops);
|
|
436
541
|
const cambio = report.facts_added + report.facts_retracted + report.facts_superseded +
|
|
437
542
|
report.decisions_added + report.patterns_added + report.tags_added +
|
|
438
543
|
report.errors_added + report.debts_added + report.entries_removed +
|
|
439
|
-
report.verifications_updated + report.shelf_updated +
|
|
544
|
+
report.verifications_updated + report.shelf_updated + report.metadata_updated +
|
|
440
545
|
(report.map_updated ? 1 : 0);
|
|
441
|
-
if (cambio > 0 ||
|
|
442
|
-
await cortex.replaceFromSync(neuron);
|
|
546
|
+
if (cambio > 0 || created) {
|
|
443
547
|
base.neurons_touched.push(nid);
|
|
444
548
|
base.merged.push(report);
|
|
445
549
|
}
|
|
446
|
-
await
|
|
550
|
+
await markSharedUnlocked(brain, nid, spaceName);
|
|
447
551
|
}
|
|
448
|
-
|
|
552
|
+
const pending = await withOutboxState(brain, () => drainOutboxUnlocked(brain, spaceName));
|
|
553
|
+
// Git solo envió lo que había antes: lo añadido después espera el próximo sync.
|
|
554
|
+
base.pushed = !!pushed?.ok && pending === 0;
|
|
449
555
|
const nuevos = base.merged.reduce((n, m) => n + m.facts_added, 0);
|
|
450
556
|
base.message = base.neurons_touched.length === 0
|
|
451
557
|
? 'Up to date. Nothing new from anyone.'
|
|
@@ -484,11 +590,15 @@ function attachSync(brain, cortex) {
|
|
|
484
590
|
if (change.kind === 'fact') {
|
|
485
591
|
return [{ ...comun, op: 'fact', fid: change.fid, text: change.text,
|
|
486
592
|
conf: change.conf, src: change.src,
|
|
593
|
+
...(change.reference ? { reference: change.reference } : {}),
|
|
594
|
+
...(change.temporal ? { temporal: change.temporal } : {}),
|
|
595
|
+
...(change.verification_invalidated_at ? { verification_invalidated_at: change.verification_invalidated_at } : {}),
|
|
487
596
|
...(change.keys?.length ? { keys: change.keys } : {}),
|
|
488
597
|
...(change.shelf ? { shelf: change.shelf } : {}) }];
|
|
489
598
|
}
|
|
490
599
|
if (change.kind === 'verify') {
|
|
491
|
-
return [{ ...comun, op: 'verify', eid: change.eid, ekind: change.ekind
|
|
600
|
+
return [{ ...comun, op: 'verify', eid: change.eid, ekind: change.ekind,
|
|
601
|
+
...(change.verification ? { verification: change.verification } : {}) }];
|
|
492
602
|
}
|
|
493
603
|
if (change.kind === 'status') {
|
|
494
604
|
return [{ ...comun, op: 'status', fid: change.fid, to: change.to, why: change.why }];
|