brainllm 12.9.0 → 12.9.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 +1 -1
- package/dist/index.js +22 -13
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Self-hosted memory for LLMs in [TriliumNext Notes](https://github.com/TriliumNex
|
|
|
10
10
|
|
|
11
11
|
[**Site**](https://miisodev.github.io/BrainLLM/) · [Connect to Claude](https://miisodev.github.io/BrainLLM/connect.html) · [How it works](https://miisodev.github.io/BrainLLM/how-it-works.html) · [Docs](https://miisodev.github.io/BrainLLM/docs.html) · [Privacy](https://miisodev.github.io/BrainLLM/privacy.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)
|
package/dist/index.js
CHANGED
|
@@ -22807,26 +22807,35 @@ function unbalancedTags(html) {
|
|
|
22807
22807
|
}
|
|
22808
22808
|
function tableShapeIssues(html) {
|
|
22809
22809
|
const issues = [];
|
|
22810
|
-
const
|
|
22810
|
+
const spanOf = (attrs, name) => Number(new RegExp(`${name}\\s*=\\s*"?(\\d+)`, "i").exec(attrs ?? "")?.[1] ?? 1);
|
|
22811
22811
|
for (const table of html.matchAll(/<table\b[^>]*>([\s\S]*?)<\/table>/gi)) {
|
|
22812
22812
|
const rows = [...table[1].matchAll(/<tr\b[^>]*>([\s\S]*?)<\/tr>/gi)].map((r) => [...r[1].matchAll(/<(t[hd])\b([^>]*)>([\s\S]*?)<\/\1>/gi)].map((c) => ({
|
|
22813
|
-
span:
|
|
22813
|
+
span: spanOf(c[2], "colspan"),
|
|
22814
|
+
rows: spanOf(c[2], "rowspan"),
|
|
22814
22815
|
text: decodeEntities(c[3].replace(/<[^>]+>/g, "")).trim()
|
|
22815
22816
|
})));
|
|
22816
22817
|
if (rows.length < 2)
|
|
22817
22818
|
continue;
|
|
22818
22819
|
const width = rows[0].reduce((sum, c) => sum + c.span, 0);
|
|
22819
|
-
|
|
22820
|
-
|
|
22821
|
-
const
|
|
22822
|
-
if (
|
|
22823
|
-
|
|
22824
|
-
|
|
22825
|
-
|
|
22826
|
-
|
|
22827
|
-
|
|
22828
|
-
|
|
22820
|
+
let spanning = [];
|
|
22821
|
+
for (const [i, cells] of rows.entries()) {
|
|
22822
|
+
const inherited = spanning.reduce((sum, s) => sum + s.columns, 0);
|
|
22823
|
+
if (i > 0) {
|
|
22824
|
+
const label = (cells[0]?.text ?? "").slice(0, 60) || "(empty row)";
|
|
22825
|
+
const count = cells.reduce((sum, c) => sum + c.span, 0) + inherited;
|
|
22826
|
+
if (count !== width) {
|
|
22827
|
+
issues.push(`row "${label}" has ${count} cell(s), its header has ${width}`);
|
|
22828
|
+
} else {
|
|
22829
|
+
const piped = cells.find((c) => (c.text.match(/\s\|\s/g)?.length ?? 0) >= Math.max(1, width - 2) && width > 1);
|
|
22830
|
+
if (piped && cells.filter((c) => c.text).length < width) {
|
|
22831
|
+
issues.push(`row "${label}" carries pipe-separated values inside one cell \u2014 send each value as its own <td>`);
|
|
22832
|
+
}
|
|
22833
|
+
}
|
|
22829
22834
|
}
|
|
22835
|
+
spanning = [
|
|
22836
|
+
...spanning.map((s) => ({ ...s, rowsLeft: s.rowsLeft - 1 })).filter((s) => s.rowsLeft > 0),
|
|
22837
|
+
...cells.filter((c) => c.rows > 1).map((c) => ({ columns: c.span, rowsLeft: c.rows - 1 }))
|
|
22838
|
+
];
|
|
22830
22839
|
}
|
|
22831
22840
|
}
|
|
22832
22841
|
return issues;
|
|
@@ -30205,7 +30214,7 @@ function createServer(origin = null) {
|
|
|
30205
30214
|
const s = new McpServer({
|
|
30206
30215
|
name: BRAND2.name,
|
|
30207
30216
|
title: BRAND2.name,
|
|
30208
|
-
version: "12.9.
|
|
30217
|
+
version: "12.9.1",
|
|
30209
30218
|
description: BRAND2.description,
|
|
30210
30219
|
websiteUrl: BRAND2.website,
|
|
30211
30220
|
icons: brandIcons(origin)
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "brainllm",
|
|
4
4
|
"display_name": "BrainLLM",
|
|
5
|
-
"version": "12.9.
|
|
5
|
+
"version": "12.9.1",
|
|
6
6
|
"description": "Self-hosted memory for LLMs in TriliumNext, structured by the server and editable by you.",
|
|
7
7
|
"long_description": "BrainLLM is an MCP server that organises memory into five purpose-built areas (Master, LLM, Memory, Knowledge, Insights). The model supplies content while the server owns placement, format, lifecycle, dates and backups. Includes a full raw ETAPI surface for advanced use. Requires a running TriliumNext instance and the Bun runtime.",
|
|
8
8
|
"author": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brainllm",
|
|
3
|
-
"version": "12.9.
|
|
3
|
+
"version": "12.9.1",
|
|
4
4
|
"mcpName": "io.github.miisodev/brainllm",
|
|
5
5
|
"description": "Self-hosted memory for LLMs in TriliumNext, structured by the server and editable by you.",
|
|
6
6
|
"author": "Kevin Miiso Novo <miisodev@gmail.com>",
|
package/server.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.miisodev/brainllm",
|
|
4
4
|
"description": "Self-hosted memory for LLMs in TriliumNext, structured by the server and editable by you.",
|
|
5
|
-
"version": "12.9.
|
|
5
|
+
"version": "12.9.1",
|
|
6
6
|
"websiteUrl": "https://miisodev.github.io/BrainLLM/",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/miisodev/BrainLLM",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "brainllm",
|
|
15
|
-
"version": "12.9.
|
|
15
|
+
"version": "12.9.1",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|