crbro-memory 1.5.2 β 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -170
- package/dist/engine/brain.d.ts +2 -0
- package/dist/engine/brain.d.ts.map +1 -1
- package/dist/engine/brain.js +4 -0
- package/dist/engine/brain.js.map +1 -1
- package/dist/engine/cortex.d.ts +27 -0
- package/dist/engine/cortex.d.ts.map +1 -1
- package/dist/engine/cortex.js +207 -98
- package/dist/engine/cortex.js.map +1 -1
- package/dist/engine/heat.d.ts.map +1 -1
- package/dist/engine/heat.js +9 -5
- package/dist/engine/heat.js.map +1 -1
- package/dist/engine/maintenance.d.ts +10 -0
- package/dist/engine/maintenance.d.ts.map +1 -1
- package/dist/engine/maintenance.js +57 -0
- package/dist/engine/maintenance.js.map +1 -1
- package/dist/engine/secrets.d.ts +21 -0
- package/dist/engine/secrets.d.ts.map +1 -0
- package/dist/engine/secrets.js +92 -0
- package/dist/engine/secrets.js.map +1 -0
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +19 -2
- package/dist/search/index.js.map +1 -1
- package/dist/search/tokenize.d.ts +10 -0
- package/dist/search/tokenize.d.ts.map +1 -1
- package/dist/search/tokenize.js +32 -0
- package/dist/search/tokenize.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +85 -2
- package/dist/server.js.map +1 -1
- package/dist/utils/fs.d.ts +13 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +24 -0
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/lock.d.ts +11 -0
- package/dist/utils/lock.d.ts.map +1 -0
- package/dist/utils/lock.js +121 -0
- package/dist/utils/lock.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,170 +1,174 @@
|
|
|
1
|
-
# π§ CRBRO β Persistent Neural Memory for AI
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/crbro-memory)
|
|
4
|
-
[](LICENSE)
|
|
5
|
-
[](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
|
-

|
|
10
|
-
|
|
11
|
-
Free and open source (MIT). All
|
|
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
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
>
|
|
40
|
-
>
|
|
41
|
-
>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
|
81
|
-
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
89
|
-
| `
|
|
90
|
-
| `
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
βββ
|
|
106
|
-
|
|
107
|
-
βββ
|
|
108
|
-
β βββ
|
|
109
|
-
βββ
|
|
110
|
-
β
|
|
111
|
-
|
|
112
|
-
β βββ
|
|
113
|
-
βββ
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
npx crbro-memory
|
|
147
|
-
npx crbro-memory
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
1
|
+
# π§ CRBRO β Persistent Neural Memory for AI
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/crbro-memory)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](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
|
+

|
|
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).
|
package/dist/engine/brain.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/engine/brain.js
CHANGED
|
@@ -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
|
];
|
package/dist/engine/brain.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../src/engine/brain.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/cortex.d.ts
CHANGED
|
@@ -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,32 @@ 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
|
+
decisions: number;
|
|
148
|
+
patterns: number;
|
|
149
|
+
preferences: number;
|
|
150
|
+
}>>;
|
|
124
151
|
/**
|
|
125
152
|
* Get all neuron IDs.
|
|
126
153
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
|