@prom.codes/memory-mcp 0.15.0 → 0.15.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 +16 -5
- package/dist/bin.js +17 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -55,11 +55,22 @@ work, is a newer version published?). Secrets are rejected on every write.
|
|
|
55
55
|
Your memories never leave your machine (only short query/record text
|
|
56
56
|
transits when embeddings are enabled).
|
|
57
57
|
|
|
58
|
-
## Native modules
|
|
58
|
+
## Native modules — no install script needed
|
|
59
59
|
|
|
60
|
-
Uses `better-sqlite3` (native)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
Uses `better-sqlite3` (native), but **nothing is built on your machine and no
|
|
61
|
+
install script runs**. The addon ships prebuilt in a platform package
|
|
62
|
+
(`@prom.codes/native-<platform>`) listed as an optional dependency: npm picks
|
|
63
|
+
the one matching your `os`/`cpu`/`libc` and installs it by copying files. So a
|
|
64
|
+
hardened npm needs no special handling — `ignore-scripts=true` (a sensible
|
|
65
|
+
policy, and npm v12's default) has nothing left to suppress:
|
|
66
|
+
```bash
|
|
67
|
+
npm install -g @prom.codes/memory-mcp
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Prebuilt for macOS / Linux (glibc + musl) / Windows on x64 + arm64, Node 22, 24,
|
|
71
|
+
25 and 26. **Requires Node ≥ 22** — upstream `better-sqlite3` publishes no
|
|
72
|
+
prebuild for Node 20's ABI. On an unshipped combination the install still
|
|
73
|
+
succeeds and falls back to building from source, which needs install scripts
|
|
74
|
+
allowed (`--allow-scripts=better-sqlite3`) and C/C++ build tools.
|
|
64
75
|
|
|
65
76
|
Docs: https://prom.codes/docs/mcp/memory
|
package/dist/bin.js
CHANGED
|
@@ -40,12 +40,8 @@ import { homedir } from "node:os";
|
|
|
40
40
|
import { join } from "node:path";
|
|
41
41
|
import { fileURLToPath } from "node:url";
|
|
42
42
|
var UPGRADE_BASE = "npm install -g @prom.codes/context-mcp @prom.codes/memory-mcp @prom.codes/saver";
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (npmMajor !== null && npmMajor >= 12) {
|
|
46
|
-
return `${UPGRADE_BASE} --allow-scripts=${NATIVE_BUILD_PACKAGES}`;
|
|
47
|
-
}
|
|
48
|
-
return `${UPGRADE_BASE} --ignore-scripts=false --foreground-scripts`;
|
|
43
|
+
function upgradeCommandFor(_npmMajor) {
|
|
44
|
+
return UPGRADE_BASE;
|
|
49
45
|
}
|
|
50
46
|
var UPGRADE_COMMAND = upgradeCommandFor(null);
|
|
51
47
|
var npmMajorPromise;
|
|
@@ -4437,7 +4433,7 @@ ${f.value}`);
|
|
|
4437
4433
|
embeddingsError = err instanceof Error ? err.message : String(err);
|
|
4438
4434
|
}
|
|
4439
4435
|
}
|
|
4440
|
-
const update = await buildUpdateStatus("@prom.codes/memory-mcp", "0.15.
|
|
4436
|
+
const update = await buildUpdateStatus("@prom.codes/memory-mcp", "0.15.1", { isDevBuild: false });
|
|
4441
4437
|
let recorder;
|
|
4442
4438
|
try {
|
|
4443
4439
|
const scopes = ["project-local", "project", "user"];
|
|
@@ -4519,7 +4515,7 @@ ${f.value}`);
|
|
|
4519
4515
|
// dist/server.js
|
|
4520
4516
|
var SERVER_IDENTITY = {
|
|
4521
4517
|
name: "prometheus-memory-mcp",
|
|
4522
|
-
version: "0.15.
|
|
4518
|
+
version: "0.15.1",
|
|
4523
4519
|
title: "prom.codes Memory"
|
|
4524
4520
|
};
|
|
4525
4521
|
var SERVER_INSTRUCTIONS = "Persistent agent memory for this workspace \u2014 USE IT PROACTIVELY; the user will not tell you to. Protocol:\n1. ONE-TIME: if this workspace has no Prometheus memory rule yet, call memory_setup now (idempotent) so the protocol is installed into the runtime rule files and survives future sessions. (The server also auto-installs it on startup when a project rule file already exists \u2014 memory_setup covers the rest.)\n2. SESSION START: before any non-trivial task, call memory_read to recall facts, decisions and procedures from earlier sessions.\n3. DURING WORK: when the user states a durable preference, decision, correction or project fact, store it with memory_write (semantic for facts, procedural for how-tos) \u2014 without being asked.\n4. LOOK-UP: use memory_search for keyword recall when memory_read is not specific enough.\n5. SESSION END: consolidate what was learned with memory_capture.\nCall memory_status anytime to check what is stored and whether the rule is installed. Never store secrets, API keys or credentials \u2014 such writes are rejected.";
|
|
@@ -4528,7 +4524,19 @@ var SERVER_INSTRUCTIONS = "Persistent agent memory for this workspace \u2014 USE
|
|
|
4528
4524
|
function looksLikeMissingNativeBinding(msg) {
|
|
4529
4525
|
return /bindings file|better_sqlite3\.node|could not locate the bindings|node_module_version|was compiled against a different|invalid elf|\.node['"\s]/i.test(msg);
|
|
4530
4526
|
}
|
|
4531
|
-
var NATIVE_BINDING_HINT =
|
|
4527
|
+
var NATIVE_BINDING_HINT = `
|
|
4528
|
+
The native SQLite module failed to load. Since 0.15.0 the addon ships
|
|
4529
|
+
prebuilt in a platform package (no install script runs), so this almost always
|
|
4530
|
+
means we ship no build for THIS platform + Node combination:
|
|
4531
|
+
you are on ${process.platform}-${process.arch}, Node ${process.versions.node} (ABI v${process.versions.modules})
|
|
4532
|
+
shipped: win32/darwin/linux (glibc+musl) x x64/arm64, on Node 22, 24, 25, 26
|
|
4533
|
+
Most likely fix \u2014 use a supported Node (22+); Node 20 has no prebuilt addon
|
|
4534
|
+
upstream and must compile from source. To build from source instead, allow the
|
|
4535
|
+
install scripts:
|
|
4536
|
+
npm install -g @prom.codes/memory-mcp --allow-scripts=better-sqlite3 # npm v12+
|
|
4537
|
+
npm install -g @prom.codes/memory-mcp --ignore-scripts=false --foreground-scripts # npm <= 11
|
|
4538
|
+
Docs: https://prom.codes/docs/guides/troubleshooting#could-not-locate-the-bindings-file
|
|
4539
|
+
`;
|
|
4532
4540
|
async function main() {
|
|
4533
4541
|
const env = process.env;
|
|
4534
4542
|
const explicitRoot = (env.PROMETHEUS_WORKSPACE_ROOT ?? "").trim();
|