brainllm 12.1.0 → 12.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +1 -1
- package/README.md +6 -4
- package/dist/index.js +1857 -1783
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
- package/skills/brainllm/SKILL.md +25 -11
- package/skills/brainllm/references/domains.md +6 -0
- package/skills/brainllm/references/taxonomy.md +1 -0
package/.env.example
CHANGED
|
@@ -17,7 +17,7 @@ TRILIUM_ETAPI_TOKEN=
|
|
|
17
17
|
TRILIUM_PASSWORD=
|
|
18
18
|
|
|
19
19
|
# ── Tool surface ───────────────────────────────────────────────────────────────
|
|
20
|
-
# core (default): the
|
|
20
|
+
# core (default): the 44 brain-aware tools. full: adds the 33 raw ETAPI tools.
|
|
21
21
|
# BRAINLLM_MODE=full
|
|
22
22
|
|
|
23
23
|
# ── Timezone ───────────────────────────────────────────────────────────────────
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ A persistent, graph-structured second brain for Claude and any MCP client — bu
|
|
|
10
10
|
|
|
11
11
|
[**brainllm site**](https://miisodev.github.io/BrainLLM/) · [How it works](https://miisodev.github.io/BrainLLM/how-it-works.html) · [Use cases](https://miisodev.github.io/BrainLLM/use-cases.html) · [Docs](https://miisodev.github.io/BrainLLM/docs.html)
|
|
12
12
|
|
|
13
|
-
[](https://github.com/miisodev/BrainLLM/releases)
|
|
14
14
|
[](https://github.com/miisodev/BrainLLM/actions/workflows/ci.yml)
|
|
15
15
|
[](./LICENSE)
|
|
16
16
|
[](https://bun.sh)
|
|
@@ -50,6 +50,8 @@ Placement, naming, labels, deduplication, relation bookkeeping, lifecycle aging,
|
|
|
50
50
|
- **A visible graph** — `graph()` renders the whole relation graph (or any note's neighborhood) as a Mermaid flowchart, maintained as a native Trilium note.
|
|
51
51
|
- **One-call day orientation** — `day()` serves the previous session, its change log, everything touched since, and the month's deliverables in a single call.
|
|
52
52
|
- **Resilient plumbing** — every backend call is timeout-bounded with retry on idempotent reads; all writes are idempotent or duplicate-guarded, so crashes and retries never double-write; content surgery survives the editor's own HTML rewriting; renaming a domain cascades to everything inside it; the maintenance sweep heals drift it finds.
|
|
53
|
+
- **Multi-agent by default** — all write-classified tools serialize behind a process-wide FIFO lock, so two agents (an interactive session and an automated run, say) writing through one hosted instance queue in arrival order instead of racing; reads stay fully parallel. Deletion catch-up in the daily log keeps a note deleted after its day's close from vanishing without a trace — and its window is configurable (`deletionCatchupDays` in the lifecycle policy), defaulting to Trilium's 7-day retention.
|
|
54
|
+
- **Ask in prose, split on a seam** — `consistency(subject="…")` finds every note asserting about a fact however it is phrased, no regex guessing; `consistency(pattern, staleAfterDays=N)` surfaces figures held in exactly one untouched note, the ones that rot silently because nothing disagrees with them; `read(ids=[…])` batches a multi-note orientation into one round trip; and `split(noteId, sections=[…], into="…")` is the write half of the oversized-note problem — it lifts whole sections into a new note and leaves a pointer back. Information notes can carry a `#mandate` marker so a scoped session finds the one note it must obey without reading every note's prose.
|
|
53
55
|
|
|
54
56
|
---
|
|
55
57
|
|
|
@@ -192,13 +194,13 @@ Every tool declares whether it reads, writes, or destroys, so your client can gr
|
|
|
192
194
|
|
|
193
195
|
The classification lives in one reviewable table ([`src/annotations.ts`](./src/annotations.ts)) rather than scattered across registrations, and its default is deliberately unsafe-side: a tool missing from the table is treated as a **write**, never a read, and says so at startup. Three are worth knowing because they look like reads and aren't — `start()` creates today's diary and session stubs, `session()` runs the maintenance sweep, and `graph()` writes the rendered graph note.
|
|
194
196
|
|
|
195
|
-
### Core — universal verbs (
|
|
197
|
+
### Core — universal verbs (34)
|
|
196
198
|
|
|
197
199
|
| Group | Tools |
|
|
198
200
|
|---|---|
|
|
199
201
|
| Session lifecycle | `start` · `day` · `session` · `remarks` · `close` · `backup` |
|
|
200
|
-
| Writing | `remember` · `diary` · `revise` · `resolve` · `withdraw` · `recover` |
|
|
201
|
-
| Reading & search | `recall` · `domain` · `brain` · `assembly` · `outline` · `inspect` · `diff` · `template` · `consistency` |
|
|
202
|
+
| Writing | `remember` · `diary` · `revise` · `split` · `resolve` · `withdraw` · `recover` |
|
|
203
|
+
| Reading & search | `read` · `recall` · `domain` · `brain` · `assembly` · `outline` · `inspect` · `diff` · `template` · `consistency` |
|
|
202
204
|
| Graph | `connect` · `explore` · `graph` |
|
|
203
205
|
| Attachments & labels | `attach` · `detach` · `label` |
|
|
204
206
|
| Maintenance & system | `addendum` · `maintain` · `claim` · `forget` · `bootstrap` |
|