crbro-memory 1.5.2 β†’ 1.6.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 (39) hide show
  1. package/README.md +174 -170
  2. package/dist/engine/brain.d.ts +2 -0
  3. package/dist/engine/brain.d.ts.map +1 -1
  4. package/dist/engine/brain.js +4 -0
  5. package/dist/engine/brain.js.map +1 -1
  6. package/dist/engine/cortex.d.ts +24 -0
  7. package/dist/engine/cortex.d.ts.map +1 -1
  8. package/dist/engine/cortex.js +187 -98
  9. package/dist/engine/cortex.js.map +1 -1
  10. package/dist/engine/heat.d.ts.map +1 -1
  11. package/dist/engine/heat.js +9 -5
  12. package/dist/engine/heat.js.map +1 -1
  13. package/dist/engine/maintenance.d.ts +10 -0
  14. package/dist/engine/maintenance.d.ts.map +1 -1
  15. package/dist/engine/maintenance.js +57 -0
  16. package/dist/engine/maintenance.js.map +1 -1
  17. package/dist/engine/secrets.d.ts +21 -0
  18. package/dist/engine/secrets.d.ts.map +1 -0
  19. package/dist/engine/secrets.js +86 -0
  20. package/dist/engine/secrets.js.map +1 -0
  21. package/dist/search/index.d.ts.map +1 -1
  22. package/dist/search/index.js +19 -2
  23. package/dist/search/index.js.map +1 -1
  24. package/dist/search/tokenize.d.ts +10 -0
  25. package/dist/search/tokenize.d.ts.map +1 -1
  26. package/dist/search/tokenize.js +32 -0
  27. package/dist/search/tokenize.js.map +1 -1
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +85 -2
  30. package/dist/server.js.map +1 -1
  31. package/dist/utils/fs.d.ts +13 -0
  32. package/dist/utils/fs.d.ts.map +1 -1
  33. package/dist/utils/fs.js +24 -0
  34. package/dist/utils/fs.js.map +1 -1
  35. package/dist/utils/lock.d.ts +11 -0
  36. package/dist/utils/lock.d.ts.map +1 -0
  37. package/dist/utils/lock.js +121 -0
  38. package/dist/utils/lock.js.map +1 -0
  39. package/package.json +1 -1
package/README.md CHANGED
@@ -1,170 +1,174 @@
1
- # 🧠 CRBRO β€” Persistent Neural Memory for AI
2
-
3
- [![npm](https://img.shields.io/npm/v/crbro-memory)](https://www.npmjs.com/package/crbro-memory)
4
- [![license](https://img.shields.io/github/license/Octonove/crbro-memory)](LICENSE)
5
- [![MCP](https://img.shields.io/badge/MCP-Claude%20Code%20%C2%B7%20Claude%20Desktop%20%C2%B7%20Cursor-1E3A5F)](https://modelcontextprotocol.io)
6
-
7
- **CRBRO** is a local MCP (Model Context Protocol) server that gives your AI assistant **persistent long-term memory** across sessions. It uses a biological neural architecture β€” cortex, synapses, hippocampus β€” to store, connect, and retrieve knowledge automatically.
8
-
9
- ![CRBRO demo](docs/demo.gif)
10
-
11
- Free and open source (MIT). All 16 tools included β€” no license, no account, no tiers.
12
-
13
- > ⭐ **If CRBRO gives your AI a memory worth keeping, a star on GitHub is the best way to support it.**
14
-
15
- ## Features
16
-
17
- - **🧬 Biological Architecture** β€” Knowledge organized as neurons (cortex), connections (synapses), and session memory (hippocampus)
18
- - **πŸ” Fact-Level Search** β€” Powered by [Orama](https://orama.com/). Every fact is indexed on its own, so a topic with hundreds of facts stays as findable as one with three, and each result comes back with the exact fact that matched and the date it was recorded
19
- - **πŸ”₯ Heat Scores** β€” Automatic relevance tracking based on frequency, recency, and connectivity
20
- - **✏️ Correctable** β€” Knowledge can be superseded or retracted, not just piled up. A memory that only appends keeps serving yesterday's answer with today's confidence
21
- - **πŸ—ΊοΈ Global Map** β€” Cluster detection and cross-domain bridge identification
22
- - **⛏️ Knowledge Miner** β€” Optionally scans your local `.md`/`.txt` notes and feeds them into the brain
23
- - **πŸ”’ Fully Local** β€” Runs on Node.js alone: no Python, no Docker, no databases, no external services. Your memory never leaves your machine
24
- - **πŸ’Ύ File-Based** β€” All data stored as readable JSON files in `~/.crbro/` β€” inspectable, diffable, and versionable with git
25
- - **πŸ”Œ MCP Native** β€” Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client
26
-
27
- ## Quick Start
28
-
29
- ### 1. Initialize
30
-
31
- ```bash
32
- npx crbro-memory init
33
- ```
34
-
35
- ### 2. Add to your MCP config
36
-
37
- > **Register CRBRO at the user level, not per-project.** Your brain lives in
38
- > `~/.crbro/` and is shared across every folder β€” but if you register the
39
- > server inside a single project, other folders won't have the tools and it
40
- > will *look* like the memory is gone. User-level registration makes it
41
- > available everywhere, which is the whole point.
42
-
43
- **Claude Code** (one command, available in every folder):
44
- ```bash
45
- claude mcp add --scope user crbro -- npx -y crbro-memory
46
- ```
47
-
48
- **Claude Desktop** (`~/AppData/Roaming/Claude/claude_desktop_config.json`):
49
- ```json
50
- {
51
- "mcpServers": {
52
- "crbro": {
53
- "command": "npx",
54
- "args": ["-y", "crbro-memory"]
55
- }
56
- }
57
- }
58
- ```
59
-
60
- **Cursor** (`~/.cursor/mcp.json` β€” the one in your home folder, not a project's `.cursor/`):
61
- ```json
62
- {
63
- "mcpServers": {
64
- "crbro": {
65
- "command": "npx",
66
- "args": ["-y", "crbro-memory"]
67
- }
68
- }
69
- }
70
- ```
71
-
72
- ### 3. Start using it
73
-
74
- Your AI will now have access to 16 memory tools. Start any session with `crbro_boot`.
75
-
76
- ## Tools
77
-
78
- | Tool | Description |
79
- |------|-------------|
80
- | `crbro_boot` | Boot the brain at session start β€” loads hot topics and context |
81
- | `crbro_status` | Brain status β€” neurons, synapses, sessions count |
82
- | `crbro_learn` | Store a fact, decision, pattern, or preference |
83
- | `crbro_neuron` | Read a specific neuron (topic) with all its knowledge |
84
- | `crbro_neurons` | List neurons with optional filters (domain, type, heat) |
85
- | `crbro_recall` | Search every stored fact, not just topic names β€” returns the fact that matched |
86
- | `crbro_connect` | Create or strengthen a connection between neurons |
87
- | `crbro_connections` | Get all connections for a neuron |
88
- | `crbro_session_log` | Log a session summary |
89
- | `crbro_sessions` | List recent sessions |
90
- | `crbro_context` | Read/update active working context |
91
- | `crbro_hot_topics` | Get the most active topics by heat score |
92
- | `crbro_global_map` | View the neural network β€” clusters and cross-domain bridges |
93
- | `crbro_revise` | Mark facts as superseded or retracted when they stop being true |
94
- | `crbro_maintenance` | Brain maintenance β€” heat, pruning, integrity, index rebuild |
95
- | `crbro_consolidate` | End-of-session consolidation |
96
-
97
- ## Architecture
98
-
99
- ```
100
- ~/.crbro/
101
- β”œβ”€β”€ manifest.json ← Brain metadata
102
- β”œβ”€β”€ cortex/ ← One JSON per neuron (topic)
103
- β”‚ β”œβ”€β”€ project_octochat.json
104
- β”‚ └── tech_firebase.json
105
- β”œβ”€β”€ synapses/ ← One JSON per connection
106
- β”‚ └── syn_octochat__firebase.json
107
- β”œβ”€β”€ hippocampus/ ← One JSON per session
108
- β”‚ └── session_2026-05-06.json
109
- β”œβ”€β”€ prefrontal/ ← Working memory
110
- β”‚ β”œβ”€β”€ active_context.json
111
- β”‚ β”œβ”€β”€ hot_topics.json
112
- β”‚ └── global_map.json
113
- β”œβ”€β”€ archives/ ← Cold neurons (opt-in; nothing is archived unless you ask)
114
- └── .search/ ← Orama search index
115
- └── chunks.index.json ← one document per fact
116
- ```
117
-
118
- ## Heat Score Algorithm
119
-
120
- Each neuron has a heat score (0.0 - 1.0) calculated from:
121
-
122
- - **Frequency (35%)** β€” How often the neuron is accessed
123
- - **Recency (40%)** β€” When it was last accessed (today = 1.0, >3 months = 0.05)
124
- - **Connectivity (25%)** β€” How many synapses connect to it
125
-
126
- ## Knowledge Miner
127
-
128
- The miner is an **optional, fully local** helper that scans a directory for `.md` and `.txt` files (notes, docs, journals) and extracts knowledge into the brain β€” so CRBRO can learn from what you already wrote, not just from conversations. It never touches the network and never leaves your machine.
129
-
130
- ```bash
131
- npx crbro-memory mine [dir] # One-shot scan of a directory
132
- npx crbro-memory setup-miner # Install a scheduled auto-scan (OS task scheduler)
133
- npx crbro-memory miner-status # Check the auto-miner status
134
- npx crbro-memory remove-miner # Remove the scheduled task
135
- ```
136
-
137
- > Naming note: "miner" here means *knowledge* mining β€” extracting facts from your own text files. Nothing to do with cryptocurrency.
138
-
139
- ## CLI Commands
140
-
141
- ```bash
142
- npx crbro-memory # Start MCP server (stdio)
143
- npx crbro-memory init # Initialize brain + detect IDEs
144
- npx crbro-memory status # Show brain status
145
- npx crbro-memory reindex # Rebuild the search index
146
- npx crbro-memory eval # Measure retrieval quality against your own query set
147
- npx crbro-memory --help # Help
148
- ```
149
-
150
- ### Measuring retrieval
151
-
152
- `eval` is there so you can tell a fix from a feeling. Write
153
- `~/.crbro/.eval/queries.json` as a list of questions you would actually ask,
154
- each naming the neuron that should answer it:
155
-
156
- ```json
157
- [
158
- { "query": "how we deploy the api",
159
- "expect_neuron": "project_octochat",
160
- "expect_contains": "Cloud Run" }
161
- ]
162
- ```
163
-
164
- Then `npx crbro-memory eval` reports how often the right neuron comes back
165
- first, how often it makes the top three, and MRR β€” plus every miss, so you can
166
- see what it got wrong instead of guessing.
167
-
168
- ## License
169
-
170
- MIT β€” see [LICENSE](LICENSE). Built by [Octonove](https://github.com/Octonove).
1
+ # 🧠 CRBRO β€” Persistent Neural Memory for AI
2
+
3
+ [![npm](https://img.shields.io/npm/v/crbro-memory)](https://www.npmjs.com/package/crbro-memory)
4
+ [![license](https://img.shields.io/github/license/Octonove/crbro-memory)](LICENSE)
5
+ [![MCP](https://img.shields.io/badge/MCP-Claude%20Code%20%C2%B7%20Claude%20Desktop%20%C2%B7%20Cursor-1E3A5F)](https://modelcontextprotocol.io)
6
+
7
+ **CRBRO** is a local MCP (Model Context Protocol) server that gives your AI assistant **persistent long-term memory** across sessions. It uses a biological neural architecture β€” cortex, synapses, hippocampus β€” to store, connect, and retrieve knowledge automatically.
8
+
9
+ ![CRBRO demo](docs/demo.gif)
10
+
11
+ Free and open source (MIT). All 18 tools included β€” no license, no account, no tiers.
12
+
13
+ > ⭐ **If CRBRO gives your AI a memory worth keeping, a star on GitHub is the best way to support it.**
14
+
15
+ ## Features
16
+
17
+ - **🧬 Biological Architecture** β€” Knowledge organized as neurons (cortex), connections (synapses), and session memory (hippocampus)
18
+ - **πŸ” Fact-Level Search** β€” Powered by [Orama](https://orama.com/). Every fact is indexed on its own, so a topic with hundreds of facts stays as findable as one with three, and each result comes back with the exact fact that matched and the date it was recorded
19
+ - **πŸ”₯ Heat Scores** β€” Automatic relevance tracking based on frequency, recency, and connectivity
20
+ - **✏️ Correctable** β€” Knowledge can be superseded or retracted, not just piled up. A memory that only appends keeps serving yesterday's answer with today's confidence
21
+ - **πŸ” Credential-aware** β€” API keys, tokens and passwords are replaced with a marker before they touch the disk. The sentence around them survives; the secret does not
22
+ - **πŸ‘₯ Safe with two editors open** β€” Writes are serialised per neuron, so running CRBRO in two IDEs at once does not silently lose facts
23
+ - **πŸ—ΊοΈ Global Map** β€” Cluster detection and cross-domain bridge identification
24
+ - **⛏️ Knowledge Miner** β€” Optionally scans your local `.md`/`.txt` notes and feeds them into the brain
25
+ - **πŸ”’ Fully Local** β€” Runs on Node.js alone: no Python, no Docker, no databases, no external services. Your memory never leaves your machine
26
+ - **πŸ’Ύ File-Based** β€” All data stored as readable JSON files in `~/.crbro/` β€” inspectable, diffable, and versionable with git
27
+ - **πŸ”Œ MCP Native** β€” Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client
28
+
29
+ ## Quick Start
30
+
31
+ ### 1. Initialize
32
+
33
+ ```bash
34
+ npx crbro-memory init
35
+ ```
36
+
37
+ ### 2. Add to your MCP config
38
+
39
+ > **Register CRBRO at the user level, not per-project.** Your brain lives in
40
+ > `~/.crbro/` and is shared across every folder β€” but if you register the
41
+ > server inside a single project, other folders won't have the tools and it
42
+ > will *look* like the memory is gone. User-level registration makes it
43
+ > available everywhere, which is the whole point.
44
+
45
+ **Claude Code** (one command, available in every folder):
46
+ ```bash
47
+ claude mcp add --scope user crbro -- npx -y crbro-memory
48
+ ```
49
+
50
+ **Claude Desktop** (`~/AppData/Roaming/Claude/claude_desktop_config.json`):
51
+ ```json
52
+ {
53
+ "mcpServers": {
54
+ "crbro": {
55
+ "command": "npx",
56
+ "args": ["-y", "crbro-memory"]
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ **Cursor** (`~/.cursor/mcp.json` β€” the one in your home folder, not a project's `.cursor/`):
63
+ ```json
64
+ {
65
+ "mcpServers": {
66
+ "crbro": {
67
+ "command": "npx",
68
+ "args": ["-y", "crbro-memory"]
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### 3. Start using it
75
+
76
+ Your AI will now have access to 18 memory tools. Start any session with `crbro_boot`.
77
+
78
+ ## Tools
79
+
80
+ | Tool | Description |
81
+ |------|-------------|
82
+ | `crbro_boot` | Boot the brain at session start β€” loads hot topics and context |
83
+ | `crbro_status` | Brain status β€” neurons, synapses, sessions count |
84
+ | `crbro_learn` | Store a fact, decision, pattern, or preference |
85
+ | `crbro_neuron` | Read a specific neuron (topic) with all its knowledge |
86
+ | `crbro_neurons` | List neurons with optional filters (domain, type, heat) |
87
+ | `crbro_recall` | Search every stored fact, not just topic names β€” returns the fact that matched |
88
+ | `crbro_connect` | Create or strengthen a connection between neurons |
89
+ | `crbro_connections` | Get all connections for a neuron |
90
+ | `crbro_session_log` | Log a session summary |
91
+ | `crbro_sessions` | List recent sessions |
92
+ | `crbro_context` | Read/update active working context |
93
+ | `crbro_hot_topics` | Get the most active topics by heat score |
94
+ | `crbro_global_map` | View the neural network β€” clusters and cross-domain bridges |
95
+ | `crbro_revise` | Mark facts as superseded or retracted when they stop being true |
96
+ | `crbro_audit` | Find credentials stored in the brain β€” reports the kind, never the value |
97
+ | `crbro_forget` | Remove facts for good, keeping a copy in `.quarantine/` first |
98
+ | `crbro_maintenance` | Brain maintenance β€” heat, pruning, integrity, index rebuild |
99
+ | `crbro_consolidate` | End-of-session consolidation |
100
+
101
+ ## Architecture
102
+
103
+ ```
104
+ ~/.crbro/
105
+ β”œβ”€β”€ manifest.json ← Brain metadata
106
+ β”œβ”€β”€ cortex/ ← One JSON per neuron (topic)
107
+ β”‚ β”œβ”€β”€ project_octochat.json
108
+ β”‚ └── tech_firebase.json
109
+ β”œβ”€β”€ synapses/ ← One JSON per connection
110
+ β”‚ └── syn_octochat__firebase.json
111
+ β”œβ”€β”€ hippocampus/ ← One JSON per session
112
+ β”‚ └── session_2026-05-06.json
113
+ β”œβ”€β”€ prefrontal/ ← Working memory
114
+ β”‚ β”œβ”€β”€ active_context.json
115
+ β”‚ β”œβ”€β”€ hot_topics.json
116
+ β”‚ └── global_map.json
117
+ β”œβ”€β”€ archives/ ← Cold neurons (opt-in; nothing is archived unless you ask)
118
+ └── .search/ ← Orama search index
119
+ └── chunks.index.json ← one document per fact
120
+ ```
121
+
122
+ ## Heat Score Algorithm
123
+
124
+ Each neuron has a heat score (0.0 - 1.0) calculated from:
125
+
126
+ - **Frequency (35%)** β€” How often the neuron is accessed
127
+ - **Recency (40%)** β€” When it was last accessed (today = 1.0, >3 months = 0.05)
128
+ - **Connectivity (25%)** β€” How many synapses connect to it
129
+
130
+ ## Knowledge Miner
131
+
132
+ The miner is an **optional, fully local** helper that scans a directory for `.md` and `.txt` files (notes, docs, journals) and extracts knowledge into the brain β€” so CRBRO can learn from what you already wrote, not just from conversations. It never touches the network and never leaves your machine.
133
+
134
+ ```bash
135
+ npx crbro-memory mine [dir] # One-shot scan of a directory
136
+ npx crbro-memory setup-miner # Install a scheduled auto-scan (OS task scheduler)
137
+ npx crbro-memory miner-status # Check the auto-miner status
138
+ npx crbro-memory remove-miner # Remove the scheduled task
139
+ ```
140
+
141
+ > Naming note: "miner" here means *knowledge* mining β€” extracting facts from your own text files. Nothing to do with cryptocurrency.
142
+
143
+ ## CLI Commands
144
+
145
+ ```bash
146
+ npx crbro-memory # Start MCP server (stdio)
147
+ npx crbro-memory init # Initialize brain + detect IDEs
148
+ npx crbro-memory status # Show brain status
149
+ npx crbro-memory reindex # Rebuild the search index
150
+ npx crbro-memory eval # Measure retrieval quality against your own query set
151
+ npx crbro-memory --help # Help
152
+ ```
153
+
154
+ ### Measuring retrieval
155
+
156
+ `eval` is there so you can tell a fix from a feeling. Write
157
+ `~/.crbro/.eval/queries.json` as a list of questions you would actually ask,
158
+ each naming the neuron that should answer it:
159
+
160
+ ```json
161
+ [
162
+ { "query": "how we deploy the api",
163
+ "expect_neuron": "project_octochat",
164
+ "expect_contains": "Cloud Run" }
165
+ ]
166
+ ```
167
+
168
+ Then `npx crbro-memory eval` reports how often the right neuron comes back
169
+ first, how often it makes the top three, and MRR β€” plus every miss, so you can
170
+ see what it got wrong instead of guessing.
171
+
172
+ ## License
173
+
174
+ MIT β€” see [LICENSE](LICENSE). Built by [Octonove](https://github.com/Octonove).
@@ -6,6 +6,8 @@ export declare class BrainPaths {
6
6
  readonly hippocampus: string;
7
7
  readonly prefrontal: string;
8
8
  readonly archives: string;
9
+ /** Copies kept before anything is removed. Nothing is deleted outright. */
10
+ readonly quarantine: string;
9
11
  readonly search: string;
10
12
  readonly prompts: string;
11
13
  constructor(rootDir?: string);
@@ -1 +1 @@
1
- {"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../src/engine/brain.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAoC,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQnH,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,CAAC,EAAE,MAAM;IAW5B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI3B,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAInB,8DAA8D;IAC9D,WAAW,IAAI,MAAM;IAIrB,kFAAkF;IAClF,WAAW,IAAI,MAAM;CAGtB;AAID,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAyB;IACzC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBAEf,OAAO,CAAC,EAAE,MAAM;IAI5B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAkDrC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAgEjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAUtC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA4CpD"}
1
+ {"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../src/engine/brain.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAoC,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQnH,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,CAAC,EAAE,MAAM;IAY5B,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI3B,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAInB,8DAA8D;IAC9D,WAAW,IAAI,MAAM;IAIrB,kFAAkF;IAClF,WAAW,IAAI,MAAM;CAGtB;AAID,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAyB;IACzC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBAEf,OAAO,CAAC,EAAE,MAAM;IAI5B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAmDrC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAgEjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAUtC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA4CpD"}
@@ -20,6 +20,8 @@ class BrainPaths {
20
20
  hippocampus;
21
21
  prefrontal;
22
22
  archives;
23
+ /** Copies kept before anything is removed. Nothing is deleted outright. */
24
+ quarantine;
23
25
  search;
24
26
  prompts;
25
27
  constructor(rootDir) {
@@ -29,6 +31,7 @@ class BrainPaths {
29
31
  this.hippocampus = node_path_1.default.join(this.root, 'hippocampus');
30
32
  this.prefrontal = node_path_1.default.join(this.root, 'prefrontal');
31
33
  this.archives = node_path_1.default.join(this.root, 'archives');
34
+ this.quarantine = node_path_1.default.join(this.root, '.quarantine');
32
35
  this.search = node_path_1.default.join(this.root, '.search');
33
36
  this.prompts = node_path_1.default.join(this.root, 'prompts');
34
37
  }
@@ -82,6 +85,7 @@ class Brain {
82
85
  this.paths.hippocampus,
83
86
  this.paths.prefrontal,
84
87
  this.paths.archives,
88
+ this.paths.quarantine,
85
89
  this.paths.search,
86
90
  this.paths.prompts,
87
91
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/engine/brain.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,gEAAgE;;;;;;AAEhE,0DAA6B;AAC7B,qCAAyC;AACzC,0CAAsE;AAGtE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC7H,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B,oEAAoE;AAEpE,MAAa,UAAU;IACZ,IAAI,CAAS;IACb,MAAM,CAAS;IACf,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,OAAO,CAAS;IAEzB,YAAY,OAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,aAAa;QACX,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACP,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,SAAS;QACP,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,8DAA8D;IAC9D,WAAW;QACT,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACpD,CAAC;IAED,kFAAkF;IAClF,WAAW;QACT,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;CACF;AA1DD,gCA0DC;AAED,oEAAoE;AAEpE,MAAa,KAAK;IACR,QAAQ,GAAoB,IAAI,CAAC;IAChC,KAAK,CAAa;IAE3B,YAAY,OAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,qBAAqB;QACrB,MAAM,IAAI,GAAG;YACX,IAAI,CAAC,KAAK,CAAC,MAAM;YACjB,IAAI,CAAC,KAAK,CAAC,QAAQ;YACnB,IAAI,CAAC,KAAK,CAAC,WAAW;YACtB,IAAI,CAAC,KAAK,CAAC,UAAU;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ;YACnB,IAAI,CAAC,KAAK,CAAC,MAAM;YACjB,IAAI,CAAC,KAAK,CAAC,OAAO;SACnB,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,IAAA,WAAG,GAAE;YACd,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YAC3B,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,IAAI;YACf,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,gCAAgC;QAChC,MAAM,YAAY,GAAkB;YAClC,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,IAAA,WAAG,GAAE;SACpB,CAAC;QACF,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;QAE1D,MAAM,cAAc,GAAc;YAChC,MAAM,EAAE,EAAE;YACV,iBAAiB,EAAE,IAAA,WAAG,GAAE;SACzB,CAAC;QACF,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;QAExD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,EAAE;gBACpB,OAAO,EAAE,8BAA8B,IAAI,CAAC,KAAK,CAAC,IAAI,4BAA4B;aACnF,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,gBAAQ,EAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAG,MAAM,IAAA,gBAAQ,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpE,sBAAsB;QACtB,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAQ,EAAgB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAEhF,wBAAwB;QACxB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAEnD,mEAAmE;QACnE,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7D,OAAO,CAAC,KAAK,QAAQ;YACnB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,CAAC,CAAC,CAAC,CACN,CAAC;QACF,MAAM,cAAc,GAAG,aAAa,EAAE,eAAe,IAAI,EAAE,CAAC;QAE5D,wBAAwB;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAA,WAAG,GAAE,CAAC;QAChC,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC1C,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC5C,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC5C,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE;YACnC,YAAY,EAAE,aAAa,EAAE,YAAY,IAAI,IAAI;YACjD,cAAc,EAAE,aAAa;YAC7B,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,SAAS;YACrB,eAAe,EAAE,cAAc;YAC/B,OAAO,EACL,wBAAwB,IAAI,CAAC,QAAQ,CAAC,aAAa,aAAa,IAAI,CAAC,QAAQ,CAAC,cAAc,aAAa;gBACzG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,cAAc,eAAe,CAAC,MAAM,uBAAuB;gBAC1F,GAAG,SAAS,CAAC,MAAM,kBAAkB,cAAc,CAAC,MAAM,mBAAmB;SAChF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,gBAAQ,EAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAA0B;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACpC,MAAM,SAAS,GAAwB,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAEvE,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAS,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,mDAAmD;gBACnD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEvE,sDAAsD;gBACtD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAE9D,oDAAoD;gBACpD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK;qBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAChB,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhB,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,SAAS,CAAC,IAAI,CAAC;wBACb,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ;wBACR,YAAY;wBACZ,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;QAED,mCAAmC;QACnC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA1MD,sBA0MC"}
1
+ {"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/engine/brain.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,7 @@ export declare class Cortex {
76
76
  neuron: Neuron | null;
77
77
  action: 'created' | 'updated' | 'skipped';
78
78
  superseded: number;
79
+ redacted: string[];
79
80
  }>;
80
81
  /**
81
82
  * Mark facts as no longer current.
@@ -121,6 +122,29 @@ export declare class Cortex {
121
122
  * Add tags to a neuron.
122
123
  */
123
124
  addTags(id: string, tags: string[]): Promise<Neuron | null>;
125
+ /**
126
+ * Remove facts for good.
127
+ *
128
+ * The only destructive operation in CRBRO, so it never edits in place: the
129
+ * whole neuron is copied to .quarantine/ first, with a timestamp, and can be
130
+ * put back by hand. Superseding hides a fact; this is for the ones that must
131
+ * not exist at all β€” a credential, someone's personal data.
132
+ */
133
+ forget(neuronRef: string, targets: string[]): Promise<{
134
+ neuron_id: string | null;
135
+ removed: number;
136
+ backup: string | null;
137
+ }>;
138
+ /**
139
+ * Which neurons hold something that looks like a credential.
140
+ * Reports the kind and where it is, never the value.
141
+ */
142
+ auditSecrets(): Promise<Array<{
143
+ neuron_id: string;
144
+ name: string;
145
+ kinds: string[];
146
+ facts: number;
147
+ }>>;
124
148
  /**
125
149
  * Get all neuron IDs.
126
150
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}