@nxuss/lemma 1.22.1 → 1.23.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 (52) hide show
  1. package/README.md +33 -7
  2. package/dist/cjs/cloud/store/FileBrainStore.d.ts.map +1 -1
  3. package/dist/cjs/cloud/store/FileBrainStore.js +5 -2
  4. package/dist/cjs/cloud/store/FileBrainStore.js.map +1 -1
  5. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  6. package/dist/cjs/mcp/tool-profiles.js +3 -0
  7. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  8. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  9. package/dist/cjs/mcp/tools/memory.js +212 -7
  10. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  11. package/dist/cjs/mcp/tools.d.ts +9 -0
  12. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  13. package/dist/cjs/mcp/tools.js +25 -4
  14. package/dist/cjs/mcp/tools.js.map +1 -1
  15. package/dist/cjs/security/scrubForStorage.d.ts +16 -0
  16. package/dist/cjs/security/scrubForStorage.d.ts.map +1 -0
  17. package/dist/cjs/security/scrubForStorage.js +35 -0
  18. package/dist/cjs/security/scrubForStorage.js.map +1 -0
  19. package/dist/cjs/subconscious/BrainEncryption.d.ts +38 -0
  20. package/dist/cjs/subconscious/BrainEncryption.d.ts.map +1 -0
  21. package/dist/cjs/subconscious/BrainEncryption.js +137 -0
  22. package/dist/cjs/subconscious/BrainEncryption.js.map +1 -0
  23. package/dist/cjs/subconscious/TheBrainV2.d.ts +294 -0
  24. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  25. package/dist/cjs/subconscious/TheBrainV2.js +1070 -111
  26. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  27. package/dist/esm/cloud/store/FileBrainStore.d.ts.map +1 -1
  28. package/dist/esm/cloud/store/FileBrainStore.js +5 -2
  29. package/dist/esm/cloud/store/FileBrainStore.js.map +1 -1
  30. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  31. package/dist/esm/mcp/tool-profiles.js +3 -0
  32. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  33. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  34. package/dist/esm/mcp/tools/memory.js +212 -7
  35. package/dist/esm/mcp/tools/memory.js.map +1 -1
  36. package/dist/esm/mcp/tools.d.ts +9 -0
  37. package/dist/esm/mcp/tools.d.ts.map +1 -1
  38. package/dist/esm/mcp/tools.js +25 -5
  39. package/dist/esm/mcp/tools.js.map +1 -1
  40. package/dist/esm/security/scrubForStorage.d.ts +16 -0
  41. package/dist/esm/security/scrubForStorage.d.ts.map +1 -0
  42. package/dist/esm/security/scrubForStorage.js +32 -0
  43. package/dist/esm/security/scrubForStorage.js.map +1 -0
  44. package/dist/esm/subconscious/BrainEncryption.d.ts +38 -0
  45. package/dist/esm/subconscious/BrainEncryption.d.ts.map +1 -0
  46. package/dist/esm/subconscious/BrainEncryption.js +126 -0
  47. package/dist/esm/subconscious/BrainEncryption.js.map +1 -0
  48. package/dist/esm/subconscious/TheBrainV2.d.ts +294 -0
  49. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  50. package/dist/esm/subconscious/TheBrainV2.js +1068 -111
  51. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * At-rest encryption for the Brain corpus (AES-256-GCM).
4
+ *
5
+ * Threat model, honestly stated: the key lives next to the data (`.brain.key`, mode
6
+ * 0600), so this does NOT protect against an attacker with your uid — it protects the
7
+ * corpus at rest against everything else: backups, dotfile sync, disk disposal, a
8
+ * teammate peeking at a shared machine, a stolen laptop with full-disk encryption off.
9
+ * Combined with scrub-on-store (no live secrets ever reach the corpus), the NDJSON on
10
+ * disk holds redacted, encrypted text.
11
+ *
12
+ * Key resolution, in order: LEMMA_BRAIN_KEY env (64-char hex or base64 of 32 bytes, so
13
+ * teams can share one key out-of-band) → `<brainDir>/.brain.key` → generate-and-store
14
+ * (0600) when LEMMA_BRAIN_ENCRYPT=1. No env and no key file means disabled: plaintext,
15
+ * exactly as before, byte for byte.
16
+ *
17
+ * Failure contract: key CONFIGURATION errors (malformed env key, corrupt key file)
18
+ * throw loud — silently storing plaintext while the operator believes otherwise is the
19
+ * one unacceptable outcome. DECRYPTION failures (wrong key, tampered bytes) return null
20
+ * and flow into the corpus integrity fallback (backup → quarantine → fresh start),
21
+ * never an exception, never half a corpus.
22
+ */
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.BRAIN_ENC_MAGIC = void 0;
28
+ exports.brainKeyFile = brainKeyFile;
29
+ exports.resolveBrainKey = resolveBrainKey;
30
+ exports.encryptionActive = encryptionActive;
31
+ exports.encryptEnvelope = encryptEnvelope;
32
+ exports.decryptEnvelope = decryptEnvelope;
33
+ const crypto_1 = __importDefault(require("crypto"));
34
+ const fs_1 = __importDefault(require("fs"));
35
+ const path_1 = __importDefault(require("path"));
36
+ exports.BRAIN_ENC_MAGIC = 'LEMMA-ENC-V1:';
37
+ const KEY_BYTES = 32;
38
+ function brainKeyFile(brainDir) {
39
+ return path_1.default.join(brainDir, '.brain.key');
40
+ }
41
+ function parseEnvKey(raw) {
42
+ const trimmed = raw.trim();
43
+ let key = null;
44
+ if (/^[0-9a-fA-F]{64}$/.test(trimmed))
45
+ key = Buffer.from(trimmed, 'hex');
46
+ else {
47
+ try {
48
+ const decoded = Buffer.from(trimmed, 'base64');
49
+ if (decoded.length === KEY_BYTES)
50
+ key = decoded;
51
+ }
52
+ catch { /* fall through to the loud error below */ }
53
+ }
54
+ if (!key) {
55
+ throw new Error('LEMMA_BRAIN_KEY must be 64 hex chars or base64 of 32 bytes. Unset it to use the local key file, or fix its format — refusing to guess.');
56
+ }
57
+ return key;
58
+ }
59
+ /**
60
+ * Resolve the data key, or null when encryption is off. Throws on malformed key
61
+ * configuration (see module contract). Callers cache the result per process (see
62
+ * TheBrainV2): rotating the key requires a restart, which is the safe direction —
63
+ * a mid-process key change must never split one corpus across two keys.
64
+ */
65
+ function resolveBrainKey(brainDir) {
66
+ if (process.env.LEMMA_BRAIN_KEY)
67
+ return parseEnvKey(process.env.LEMMA_BRAIN_KEY);
68
+ try {
69
+ const raw = fs_1.default.readFileSync(brainKeyFile(brainDir), 'utf8').trim();
70
+ if (!/^[0-9a-fA-F]{64}$/.test(raw)) {
71
+ throw new Error(`Brain key file ${brainKeyFile(brainDir)} is corrupt (not 64 hex chars). ` +
72
+ `Back it up, delete it, and re-run with LEMMA_BRAIN_ENCRYPT=1 to generate a fresh key — ` +
73
+ `refusing to store anything under a key I cannot read back.`);
74
+ }
75
+ return Buffer.from(raw, 'hex');
76
+ }
77
+ catch (err) {
78
+ if (err && err.code !== 'ENOENT')
79
+ throw err;
80
+ }
81
+ if (process.env.LEMMA_BRAIN_ENCRYPT === '1') {
82
+ const key = crypto_1.default.randomBytes(KEY_BYTES);
83
+ fs_1.default.mkdirSync(brainDir, { recursive: true });
84
+ fs_1.default.writeFileSync(brainKeyFile(brainDir), key.toString('hex'), { mode: 0o600 });
85
+ try {
86
+ fs_1.default.chmodSync(brainKeyFile(brainDir), 0o600);
87
+ }
88
+ catch { /* mode option above already applied on most platforms */ }
89
+ return key;
90
+ }
91
+ return null;
92
+ }
93
+ function encryptionActive(brainDir) {
94
+ if (process.env.LEMMA_BRAIN_KEY)
95
+ return { enabled: true, keySource: 'env' };
96
+ try {
97
+ if (fs_1.default.statSync(brainKeyFile(brainDir)).isFile())
98
+ return { enabled: true, keySource: 'file' };
99
+ }
100
+ catch { /* no key file */ }
101
+ if (process.env.LEMMA_BRAIN_ENCRYPT === '1')
102
+ return { enabled: true, keySource: 'file' };
103
+ return { enabled: false, keySource: null };
104
+ }
105
+ function encryptEnvelope(key, plain) {
106
+ const iv = crypto_1.default.randomBytes(12);
107
+ const cipher = crypto_1.default.createCipheriv('aes-256-gcm', key, iv);
108
+ const data = Buffer.concat([cipher.update(plain, 'utf8'), cipher.final()]);
109
+ const tag = cipher.getAuthTag();
110
+ const envelope = JSON.stringify({
111
+ v: 1,
112
+ iv: iv.toString('base64'),
113
+ tag: tag.toString('base64'),
114
+ data: data.toString('base64'),
115
+ });
116
+ return exports.BRAIN_ENC_MAGIC + Buffer.from(envelope, 'utf8').toString('base64');
117
+ }
118
+ /** Null on wrong key, tampered bytes, or malformed envelope — never throws. */
119
+ function decryptEnvelope(key, stored) {
120
+ try {
121
+ if (!stored.startsWith(exports.BRAIN_ENC_MAGIC))
122
+ return null;
123
+ const envelope = JSON.parse(Buffer.from(stored.slice(exports.BRAIN_ENC_MAGIC.length), 'base64').toString('utf8'));
124
+ if (!envelope || envelope.v !== 1)
125
+ return null;
126
+ const decipher = crypto_1.default.createDecipheriv('aes-256-gcm', key, Buffer.from(envelope.iv, 'base64'));
127
+ decipher.setAuthTag(Buffer.from(envelope.tag, 'base64'));
128
+ return Buffer.concat([
129
+ decipher.update(Buffer.from(envelope.data, 'base64')),
130
+ decipher.final(),
131
+ ]).toString('utf8');
132
+ }
133
+ catch {
134
+ return null;
135
+ }
136
+ }
137
+ //# sourceMappingURL=BrainEncryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainEncryption.js","sourceRoot":"","sources":["../../../src/subconscious/BrainEncryption.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,20 @@ export interface BrainEntry {
78
78
  * "reuse turned out to be wrong." Absent/0 means never downvoted.
79
79
  */
80
80
  demerits?: number;
81
+ /**
82
+ * Secrets/credentials redacted from this entry at store time (scrub-on-store). Absent
83
+ * means the text arrived clean. Kept so audits can prove PII never persisted, and so a
84
+ * `[NAME_n]` placeholder in a response is explainable rather than mysterious.
85
+ */
86
+ redactions?: number;
87
+ /**
88
+ * Cumulative tokens this memory's reuse has saved, booked by search_memory on every
89
+ * fresh hit (response length/4, floor 100 — the same heuristic as the savings ledger).
90
+ * Absent means never reused. This is the per-memory ROI ledger: it survives restarts
91
+ * (persisted), merges (max, like hits), and imports, so brain_stats can name which
92
+ * memories actually pay for the Brain.
93
+ */
94
+ tokensSaved?: number;
81
95
  /**
82
96
  * Ids of other entries/claims this memory's conclusion was built on top of (the agent
83
97
  * read memory A, then stored B as a conclusion derived from it). Absent means B's
@@ -88,6 +102,13 @@ export interface BrainEntry {
88
102
  * current state, only inherited.
89
103
  */
90
104
  derivedFrom?: string[];
105
+ /**
106
+ * Ids folded into this entry by mergeEntries(). Informational only — deliberately NEVER
107
+ * consulted by freshness: a folded id is tombstoned, and walking it would poison the
108
+ * keeper the merge just created. Tells the reader "this canonical memory absorbed
109
+ * these fragments" without inheriting their staleness.
110
+ */
111
+ mergedFrom?: string[];
91
112
  /**
92
113
  * Normalized record of what wrote this memory, as opposed to `provider` — a free-text
93
114
  * model/provider label that several auto-capture paths have been overloading to mean
@@ -219,6 +240,14 @@ export interface BrainSearchResult {
219
240
  outcome?: 'confirmed' | 'failed';
220
241
  claims?: ClaimFreshness[];
221
242
  domain?: string;
243
+ /** Lifetime tokens this memory's reuse has saved. Absent means never reused. */
244
+ tokensSaved?: number;
245
+ /** Times this memory was the top hit of a counted search. Absent means never. */
246
+ hits?: number;
247
+ /** Which ranking signals fired for this result — popularity, penalties, re-verification. */
248
+ whyShown?: string[];
249
+ /** Absolute tracked paths / path::symbol keys the freshness verdict was judged against. */
250
+ evidence?: string[];
222
251
  /** Fase D, only set under semanticDiff: symbols whose raw hash changed but only cosmetically. */
223
252
  cosmeticChanges?: string[];
224
253
  /**
@@ -300,7 +329,101 @@ export interface BrainStats {
300
329
  * (no hashing), so it is always computed, unlike staleEntries.
301
330
  */
302
331
  untrackedEntries?: number;
332
+ /** Sum of per-memory lifetime savings across the corpus. Always computed (in-memory). */
333
+ totalTokensSaved?: number;
334
+ /**
335
+ * Top 5 memories by lifetime savings — the entries that pay for the Brain. Queries
336
+ * truncated to 80 chars to keep stats output bounded.
337
+ */
338
+ topSavers?: Array<{
339
+ id: string;
340
+ query: string;
341
+ tokensSaved: number;
342
+ hits: number;
343
+ }>;
344
+ /**
345
+ * Integrity + rollback posture. Present on every call (cheap: no hashing, one dir
346
+ * listing) so a silently-degraded Brain never reports itself as healthy.
347
+ */
348
+ integrity?: {
349
+ ok: boolean;
350
+ lastIssue: IntegrityIssue | null;
351
+ snapshots: number;
352
+ backups: boolean;
353
+ encrypted: boolean;
354
+ };
303
355
  }
356
+ /** Read-only upkeep pass over the corpus — see upkeep(). Every finding carries its fix. */
357
+ export interface BrainUpkeepReport {
358
+ checkedAt: string;
359
+ totalEntries: number;
360
+ revalidated: {
361
+ checked: number;
362
+ fresh: string[];
363
+ stale: Array<{
364
+ id: string;
365
+ query: string;
366
+ staleFiles: string[];
367
+ action: string;
368
+ }>;
369
+ untracked: Array<{
370
+ id: string;
371
+ query: string;
372
+ action: string;
373
+ }>;
374
+ unverified: Array<{
375
+ id: string;
376
+ query: string;
377
+ action: string;
378
+ }>;
379
+ };
380
+ duplicatePairs: Array<{
381
+ ids: [string, string];
382
+ similarity: number;
383
+ queries: [string, string];
384
+ action: string;
385
+ }>;
386
+ mergeCandidates: Array<{
387
+ ids: [string, string];
388
+ similarity: number;
389
+ queries: [string, string];
390
+ action: string;
391
+ }>;
392
+ deadWeight: {
393
+ neverHit: number;
394
+ neverHitSample: string[];
395
+ downvoted: Array<{
396
+ id: string;
397
+ demerits: number;
398
+ }>;
399
+ action: string;
400
+ };
401
+ savings: {
402
+ totalTokensSaved: number;
403
+ topSavers: Array<{
404
+ id: string;
405
+ query: string;
406
+ tokensSaved: number;
407
+ hits: number;
408
+ }>;
409
+ };
410
+ deep?: {
411
+ staleEntries: number;
412
+ staleRatio: number;
413
+ action: string;
414
+ };
415
+ }
416
+ /** Test seam: drop the cached key so a test can rotate env/key-file mid-process. */
417
+ export declare function resetBrainKeyCache(): void;
418
+ /** What the checked loader reports when the corpus file on disk isn't trustworthy. */
419
+ export interface IntegrityIssue {
420
+ at: string;
421
+ file: string;
422
+ action: 'fallback-to-backup' | 'fresh-start' | 'sync-skipped' | 'partial-corpus';
423
+ detail: string;
424
+ }
425
+ /** Names of rollback snapshots on disk, newest last. */
426
+ export declare function listSnapshotNames(): string[];
304
427
  /**
305
428
  * Union two views of the corpus. Never subtracts: an id present in either side survives
306
429
  * unless it is tombstoned, because "absent from my copy" and "deleted" are indistinguishable
@@ -464,6 +587,13 @@ export declare class TheBrainV2 {
464
587
  private diskStamp;
465
588
  /** id -> ISO deletion time, for ids that must not come back through a merge. */
466
589
  private tombstones;
590
+ /**
591
+ * Last integrity incident on the corpus files (corrupt main file, undecryptable
592
+ * envelope, skipped sync). Set by load()/save()/syncIfChanged(), never cleared
593
+ * except by a clean verified read — health() and brain_stats surface it so a silent
594
+ * fallback never looks like a healthy Brain.
595
+ */
596
+ private integrityIssue;
467
597
  /**
468
598
  * id -> terms of that entry's own `query` field. Derived state, never persisted: `terms`
469
599
  * covers query+response together, so scoring the query field on its own (see the
@@ -527,6 +657,8 @@ export declare class TheBrainV2 {
527
657
  query: string;
528
658
  outcome: 'confirmed' | 'failed';
529
659
  }>;
660
+ /** Secrets/credentials redacted from query+response before anything was persisted. */
661
+ redactions: number;
530
662
  };
531
663
  /**
532
664
  * Hard cap on entry count. Past this, the inverted index keeps growing and old, unused
@@ -570,6 +702,12 @@ export declare class TheBrainV2 {
570
702
  private sidecar;
571
703
  private embeddingSidecar;
572
704
  getEntriesForProject(projectId: string): BrainEntry[];
705
+ /**
706
+ * Opposite-outcome entries tracking any of these symbols. Shared by store() (warn before
707
+ * writing) and previewImport() (warn before importing): two memories about one function
708
+ * disagreeing on whether an approach works is a trap for whoever searches next.
709
+ */
710
+ private findOutcomeConflicts;
573
711
  /**
574
712
  * Check if a query is likely a duplicate before storing.
575
713
  * Uses bloom filter for O(1) fast-path.
@@ -613,6 +751,20 @@ export declare class TheBrainV2 {
613
751
  ok: boolean;
614
752
  message: string;
615
753
  };
754
+ /**
755
+ * Book tokens saved by reusing a memory, called by search_memory on a fresh hit — the
756
+ * same event that books the savings ledger, so the two can never disagree about
757
+ * whether a reuse happened. Unknown ids fail silently (a peer may have forgotten the
758
+ * entry since the search ranked it); savings attribution must never break a search.
759
+ */
760
+ creditSavings(id: string, tokens: number): void;
761
+ /**
762
+ * Archive one entry to the trash, drop it from the corpus, and tombstone the id so no
763
+ * merge resurrects it. Shared by forget() (one memory) and mergeEntries() (folded
764
+ * fragments). Returns whether the archive write succeeded — a failure never blocks the
765
+ * removal itself, it only narrows the restore paths.
766
+ */
767
+ private dropWithArchive;
616
768
  /**
617
769
  * Permanently remove one memory.
618
770
  *
@@ -639,6 +791,70 @@ export declare class TheBrainV2 {
639
791
  };
640
792
  archivePath?: string;
641
793
  };
794
+ /**
795
+ * Fold entries into a keeper. All-or-nothing on validation (unknown keeper, unknown or
796
+ * repeated fragment, keeper listed as its own fragment all fail before anything
797
+ * changes), then one snapshot covers the whole operation.
798
+ */
799
+ mergeEntries(keepId: string, foldIds: string[]): {
800
+ ok: boolean;
801
+ message: string;
802
+ kept?: string;
803
+ folded?: string[];
804
+ claimsAdded?: number;
805
+ };
806
+ /**
807
+ * Persist the current in-memory corpus as a timestamped snapshot. Best-effort and
808
+ * synchronous like save(): a failed snapshot must never block the operation it
809
+ * protects. Returns the snapshot name, or null when nothing was written.
810
+ */
811
+ snapshotCorpus(reason: string): string | null;
812
+ /** Rollback points on disk, newest last: name, size, and modification time. */
813
+ listSnapshots(): Array<{
814
+ name: string;
815
+ bytes: number;
816
+ mtime: string;
817
+ }>;
818
+ /**
819
+ * Replace the corpus with a snapshot. The current state is snapshotted first
820
+ * (`pre-restore`), so a restore is itself undoable. Deliberately does NOT tombstone
821
+ * the ids that vanish: a peer session holding unflushed memories would lose them on
822
+ * its next read, and "restore never destroys" beats "restore is total" — whatever a
823
+ * peer still holds comes back on its next flush, honestly, through the normal merge.
824
+ */
825
+ restoreSnapshot(name: string): {
826
+ ok: boolean;
827
+ message: string;
828
+ restored?: number;
829
+ };
830
+ /** What the trash holds: one row per archived deletion, newest last. */
831
+ listForgotten(): Array<{
832
+ id: string;
833
+ query: string;
834
+ timestamp: string;
835
+ hits: number;
836
+ forgottenAt: string;
837
+ }>;
838
+ /**
839
+ * Bring a forgotten memory back. The archived copy becomes a live entry again under its
840
+ * original id (so any external reference to the id keeps working), its old tombstone is
841
+ * lifted, and freshness is re-judged on the next search like any other entry. The
842
+ * archive line stays as history — the trash is append-only, restore doesn't rewrite it.
843
+ */
844
+ restoreForgotten(id: string): {
845
+ ok: boolean;
846
+ message: string;
847
+ };
848
+ /**
849
+ * Permanently drop archived deletions. Without a filter this empties the whole trash;
850
+ * with olderThanDays it keeps recent deletions restorable. Tombstones are untouched —
851
+ * purging the archive removes the restore path, not the deletion itself, so purged ids
852
+ * still cannot come back through a merge or an import.
853
+ */
854
+ purgeForgotten(olderThanDays?: number): {
855
+ purged: number;
856
+ remaining: number;
857
+ };
642
858
  /**
643
859
  * Re-verify a memory against the code as it stands now, keeping its identity.
644
860
  *
@@ -726,6 +942,32 @@ export declare class TheBrainV2 {
726
942
  * next search) — see findBlastRadius for the algorithm and cost.
727
943
  */
728
944
  findBlastRadius(filePath: string, symbolName?: string): BlastRadiusResult;
945
+ /**
946
+ * Near-duplicate entry pairs worth consolidating with brain_merge (see Fase E). Pairs
947
+ * at or above `hi` are excluded: those should have been refused at store time, so a
948
+ * surviving one is a `forget one of them` case, not a merge — report those separately
949
+ * via the same call with lo=hi. Bounded: at most `sample` entries each issue one
950
+ * search, and at most 20 pairs come back.
951
+ */
952
+ findMergeCandidates(opts?: {
953
+ sample?: number;
954
+ lo?: number;
955
+ hi?: number;
956
+ }): Array<{
957
+ ids: [string, string];
958
+ similarity: number;
959
+ queries: [string, string];
960
+ }>;
961
+ /**
962
+ * Full upkeep pass. Read-only over the corpus: revalidates the top-N most-reused
963
+ * memories by hash-compare, lists exact duplicates and merge candidates, dead weight,
964
+ * and the savings ledger — with a concrete suggested action per finding.
965
+ */
966
+ upkeep(opts?: {
967
+ topN?: number;
968
+ sample?: number;
969
+ deep?: boolean;
970
+ }): BrainUpkeepReport;
729
971
  /**
730
972
  * Serialize memories to a portable NDJSON bundle: a header line, then one entry per line.
731
973
  *
@@ -743,6 +985,46 @@ export declare class TheBrainV2 {
743
985
  count: number;
744
986
  skippedStale: number;
745
987
  };
988
+ /**
989
+ * Classify one bundle line without touching the corpus. The single planning step behind
990
+ * both importBundle() (which then applies the plan) and previewImport() (which only
991
+ * reports it) — one classifier means a dry run can never disagree with the real thing
992
+ * about what would happen. Scrubbing the freshly-parsed object is safe: it is not
993
+ * corpus state yet.
994
+ */
995
+ private planImportLine;
996
+ /** Fold the other side's counters into ours without losing feedback either side collected. */
997
+ private absorbImportCounters;
998
+ /** Split a bundle into candidate lines. No header means raw entries — see below. */
999
+ private static splitBundleLines;
1000
+ /**
1001
+ * What importBundle() WOULD do, without writing anything: counts, the first 50 items,
1002
+ * and opposite-outcome conflicts against the live corpus. Run this before importing a
1003
+ * bundle from a teammate or another machine — especially a large one — so a flood of
1004
+ * stale, wrong-project memories is a preview, not a surprise.
1005
+ */
1006
+ previewImport(text: string, opts?: {
1007
+ markSource?: boolean;
1008
+ }): {
1009
+ ok: boolean;
1010
+ wouldImport: number;
1011
+ wouldUpdate: number;
1012
+ wouldSkip: number;
1013
+ items: Array<{
1014
+ id: string;
1015
+ query: string;
1016
+ action: 'import' | 'update' | 'skip';
1017
+ reason: string;
1018
+ }>;
1019
+ truncated: boolean;
1020
+ conflicts: Array<{
1021
+ id: string;
1022
+ query: string;
1023
+ outcome: 'confirmed' | 'failed';
1024
+ against: string;
1025
+ }>;
1026
+ message: string;
1027
+ };
746
1028
  /**
747
1029
  * Merge a bundle produced by exportBundle into this Brain.
748
1030
  *
@@ -776,6 +1058,18 @@ export declare class TheBrainV2 {
776
1058
  getStats(options?: {
777
1059
  deep?: boolean;
778
1060
  }): BrainStats;
1061
+ /**
1062
+ * Integrity + rollback posture in one cheap call (no hashing, no disk reads beyond a
1063
+ * directory listing). `ok` is false while an unverified read, a backup fallback, or an
1064
+ * undecryptable envelope is the reason this process is serving what it serves.
1065
+ */
1066
+ health(): {
1067
+ ok: boolean;
1068
+ lastIssue: IntegrityIssue | null;
1069
+ snapshots: number;
1070
+ backups: boolean;
1071
+ encrypted: boolean;
1072
+ };
779
1073
  clear(): void;
780
1074
  }
781
1075
  export declare function getBrain(): TheBrainV2;
@@ -1 +1 @@
1
- {"version":3,"file":"TheBrainV2.d.ts","sourceRoot":"","sources":["../../../src/subconscious/TheBrainV2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAcxE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,QAAQ,CAAC;AAEb;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kFAAkF;IAClF,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yGAAyG;IACzG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oEAAoE;IACpE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IAMpB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA0ND;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC/B,UAAU,GAAE,GAAG,CAAC,MAAM,CAAa,GAClC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAmBzB;AAiBD,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAwBnG;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAKrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAUtE;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAqCnE;AAID;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA+D/C;AAoDD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvE;AAgBD,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;gBAEb,UAAU,CAAC,EAAE,MAAM;IAQ/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ1B,SAAS,IAAI,MAAM;CAGpB;AAID,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAO9E;AA6CD,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEnG;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,EAAE,EAAE,MAAM,GACT,aAAa,GAAG,SAAS,CAM3B;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAOpF;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAInC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjC,qHAAqH;IACrH,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,8FAA8F;IAC9F,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AA6ED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,iBAAiB,CAqCnB;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mHAAmH;IACnH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,EACvD,KAAK,SAAI,EACT,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAChC,YAAY,UAAQ,GACnB,gBAAgB,CA6ElB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQ9D;AAED,uDAAuD;AACvD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE9D;AAeD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,UAAQ,GACnB,cAAc,CAwDhB;AAID,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAA8C;IAChE,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAmB;IACpC,gFAAgF;IAChF,OAAO,CAAC,UAAU,CAAkC;IACpD;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAuC;;IAS7D,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,IAAI;IA6BZ,qEAAqE;IACrE,OAAO,CAAC,YAAY;IASpB,2EAA2E;IAC3E,OAAO,CAAC,YAAY;IAiBpB;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,IAAI;IAsDZ;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB,4FAA4F;IAC5F,OAAO,CAAC,eAAe;IAQvB,yFAAyF;IACzF,OAAO,CAAC,SAAS;IAajB;;;OAGG;IACH,KAAK,CACH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAY,EACpB,YAAY,SAAO,EACnB,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,SAAS,GAAE,MAA0B,EACrC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAChC,UAAU,CAAC,EAAE,SAAS,EAAE,EACxB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,OAAO,GAAE,iBAAsB,GAC9B;QACD,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAA;SAAE,CAAC,CAAC;KACnF;IA2GD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAC3C,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAO;IAE1C;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;OAGG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,aAAa,SAAI,EACjB,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,EAAE;IAoMtB;;;OAGG;IACH;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,aAAa,SAAI,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAoD/B,OAAO,CAAC,OAAO,CAAiC;IAEhD,OAAO,CAAC,gBAAgB;IAKxB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE;IAQrD;;;OAGG;IACH,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAO,GACf;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;KAAE;IA6B7E;;;;;;;OAOG;IAGH;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,GAAG,SAAS;IASrE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAWtD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG;QAClB,EAAE,EAAE,OAAO,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAqCD;;;;;;;;;;;;;;;;;;OAkBG;IACH;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CACL,EAAE,EAAE,MAAM,EACV,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;KAAO,GACzD;QACD,EAAE,EAAE,OAAO,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;IAmCD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,GAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,GACL;QACD,EAAE,EAAE,OAAO,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IA0ED;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;KAAO,GAAG,kBAAkB,EAAE;IAsDvH;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAOzE;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG;QACxF,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACtB;IA+BD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG;QAC/D,EAAE,EAAE,OAAO,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;IA6FD;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,UAAU;IA2DtD,KAAK,IAAI,IAAI;CAkBd;AAMD,wBAAgB,QAAQ,IAAI,UAAU,CAGrC"}
1
+ {"version":3,"file":"TheBrainV2.d.ts","sourceRoot":"","sources":["../../../src/subconscious/TheBrainV2.ts"],"names":[],"mappings":"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"}