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.
Files changed (80) hide show
  1. package/README.md +25 -16
  2. package/SECURITY.md +27 -2
  3. package/bin/crbro.mjs +18 -1
  4. package/dist/daemon/endpoint.d.ts +1 -0
  5. package/dist/daemon/endpoint.d.ts.map +1 -1
  6. package/dist/daemon/endpoint.js +4 -13
  7. package/dist/daemon/endpoint.js.map +1 -1
  8. package/dist/engine/backup.d.ts.map +1 -1
  9. package/dist/engine/backup.js +4 -0
  10. package/dist/engine/backup.js.map +1 -1
  11. package/dist/engine/cortex.d.ts +18 -6
  12. package/dist/engine/cortex.d.ts.map +1 -1
  13. package/dist/engine/cortex.js +119 -92
  14. package/dist/engine/cortex.js.map +1 -1
  15. package/dist/engine/doctor.d.ts +93 -0
  16. package/dist/engine/doctor.d.ts.map +1 -0
  17. package/dist/engine/doctor.js +378 -0
  18. package/dist/engine/doctor.js.map +1 -0
  19. package/dist/engine/evidence.d.ts +26 -0
  20. package/dist/engine/evidence.d.ts.map +1 -0
  21. package/dist/engine/evidence.js +171 -0
  22. package/dist/engine/evidence.js.map +1 -0
  23. package/dist/engine/hippocampus.d.ts.map +1 -1
  24. package/dist/engine/hippocampus.js +32 -29
  25. package/dist/engine/hippocampus.js.map +1 -1
  26. package/dist/engine/keychain.d.ts.map +1 -1
  27. package/dist/engine/keychain.js +52 -20
  28. package/dist/engine/keychain.js.map +1 -1
  29. package/dist/engine/maintenance.d.ts.map +1 -1
  30. package/dist/engine/maintenance.js +3 -3
  31. package/dist/engine/maintenance.js.map +1 -1
  32. package/dist/engine/prefrontal.d.ts +4 -1
  33. package/dist/engine/prefrontal.d.ts.map +1 -1
  34. package/dist/engine/prefrontal.js +100 -66
  35. package/dist/engine/prefrontal.js.map +1 -1
  36. package/dist/engine/projects.d.ts +20 -0
  37. package/dist/engine/projects.d.ts.map +1 -0
  38. package/dist/engine/projects.js +80 -0
  39. package/dist/engine/projects.js.map +1 -0
  40. package/dist/engine/secrets.d.ts.map +1 -1
  41. package/dist/engine/secrets.js +12 -1
  42. package/dist/engine/secrets.js.map +1 -1
  43. package/dist/engine/shelf.d.ts +66 -8
  44. package/dist/engine/shelf.d.ts.map +1 -1
  45. package/dist/engine/shelf.js +350 -12
  46. package/dist/engine/shelf.js.map +1 -1
  47. package/dist/search/index.d.ts +5 -0
  48. package/dist/search/index.d.ts.map +1 -1
  49. package/dist/search/index.js +21 -8
  50. package/dist/search/index.js.map +1 -1
  51. package/dist/search/quality.d.ts +18 -0
  52. package/dist/search/quality.d.ts.map +1 -0
  53. package/dist/search/quality.js +31 -0
  54. package/dist/search/quality.js.map +1 -0
  55. package/dist/server.d.ts.map +1 -1
  56. package/dist/server.js +123 -34
  57. package/dist/server.js.map +1 -1
  58. package/dist/sync/materialize.d.ts +1 -0
  59. package/dist/sync/materialize.d.ts.map +1 -1
  60. package/dist/sync/materialize.js +33 -8
  61. package/dist/sync/materialize.js.map +1 -1
  62. package/dist/sync/ops.d.ts +7 -2
  63. package/dist/sync/ops.d.ts.map +1 -1
  64. package/dist/sync/ops.js.map +1 -1
  65. package/dist/sync/space.d.ts +5 -3
  66. package/dist/sync/space.d.ts.map +1 -1
  67. package/dist/sync/space.js +187 -77
  68. package/dist/sync/space.js.map +1 -1
  69. package/dist/types/index.d.ts +30 -5
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/utils/lock.d.ts +2 -0
  72. package/dist/utils/lock.d.ts.map +1 -1
  73. package/dist/utils/lock.js +132 -52
  74. package/dist/utils/lock.js.map +1 -1
  75. package/dist/version.d.ts +26 -0
  76. package/dist/version.d.ts.map +1 -0
  77. package/dist/version.js +65 -0
  78. package/dist/version.js.map +1 -0
  79. package/hooks/crbro-lifecycle.mjs +612 -608
  80. 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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"}
@@ -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 and by a session learning the same fact
104
- * again. `eid` is the fact id (ekind 'fact') or the entryId of a decision or
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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/sync/ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/sync/ops.ts"],"names":[],"mappings":"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"}
@@ -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;;;AAgJpD,sCAEC;AAED,0BAEC;AAGD,4BAEC;AAOD,8BAyBC;AAGD,gCAEC;AA9LD,8CAA+C;AAE/C,2EAA2E;AAC9D,QAAA,WAAW,GAAG,CAAC,CAAC;AAoI7B;;;;;;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"}
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"}
@@ -1,4 +1,4 @@
1
- import { type MergeReport } from './materialize.js';
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 removed and its neurons stop being followed. The local
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
- /** Append one note for a neuron that is already shared. Silent if it is not. */
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. */
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/sync/space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../src/sync/space.ts"],"names":[],"mappings":"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"}
@@ -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 materialize_js_1 = require("./materialize.js");
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
- (neuron.facts || []).forEach((f, i) => revisar(`facts[${i}]`, f.text));
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 markShared(brain, neuron.id, spaceName);
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
- const m = await sharedMap(brain);
254
- m[neuronId] = space;
255
- await (0, fs_js_1.writeJSON)(sharedMapPath(brain), m);
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
- const lista = await unsharedList(brain);
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
- const lista = await unsharedList(brain);
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 removed and its neurons stop being followed. The local
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
- const cfg = await readSpace(brain, name);
316
- if (!cfg) {
317
- return { ok: false, message: `You are not in a space called "${name}".`, synced_before_leaving: 'skipped', neurons_unshared: 0 };
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
- if (neurons_unshared > 0)
340
- await (0, fs_js_1.writeJSON)(sharedMapPath(brain), m);
341
- const aviso = synced === 'ok'
342
- ? 'Your pending notes went out first.'
343
- : synced === 'offline' || synced === 'auth'
344
- ? `Your pending notes could not be pushed (${synced}); they are gone with the local copy.`
345
- : 'No final sync was possible.';
346
- return {
347
- ok: true,
348
- message: `Left "${name}". ${aviso} ${neurons_unshared} neuron(s) are no longer followed; ` +
349
- 'your local copies are untouched and the remote repository was not modified.',
350
- synced_before_leaving: synced,
351
- neurons_unshared,
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
- /** Append one note for a neuron that is already shared. Silent if it is not. */
451
+ /** Registra antes de confirmar. Solo omite una neurona que ya no se comparte. */
355
452
  async function emitOps(brain, neuronId, make) {
356
- const m = await sharedMap(brain);
357
- const space = m[neuronId];
358
- if (!space)
359
- return;
360
- const dir = spaceDir(brain, space);
361
- if (!(await (0, fs_js_1.fileExists)(node_path_1.default.join(dir, 'space.json'))))
362
- return;
363
- const id = await getIdentity(brain);
364
- const abs = node_path_1.default.join(dir, (0, ops_js_1.opsRelPath)(neuronId, id.author, id.device));
365
- await node_fs_1.promises.mkdir(node_path_1.default.dirname(abs), { recursive: true });
366
- const ops = make(id);
367
- if (ops.length === 0)
368
- return;
369
- await node_fs_1.promises.appendFile(abs, ops.map(ops_js_1.encodeOp).join('\n') + '\n', 'utf-8');
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 local = await cortex.peek(nid);
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 || !local) {
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 markShared(brain, nid, spaceName);
550
+ await markSharedUnlocked(brain, nid, spaceName);
447
551
  }
448
- base.pushed = !!pushed?.ok;
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 }];