@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.
Files changed (3) hide show
  1. package/README.md +16 -5
  2. package/dist/bin.js +17 -9
  3. 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). Prebuilt binaries are fetched automatically on
61
- common platforms (macOS x64/arm64, Linux x64/arm64, Windows x64) no compiler
62
- needed. On an unsupported platform/Node ABI, install C/C++ build tools so the
63
- module can compile (Windows: VS Build Tools). Requires Node 20.10.
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
- var NATIVE_BUILD_PACKAGES = "better-sqlite3,tree-sitter";
44
- function upgradeCommandFor(npmMajor) {
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.0", { isDevBuild: false });
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.0",
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 = '\nThis looks like the native `better-sqlite3` module failed to load \u2014 the\ninstall script that builds it was skipped, so the binary was never produced.\nOn npm v12+ install scripts are opt-in by default; on older npm it\'s usually\n`ignore-scripts=true` hardening. Install globally, allowing the native build,\nthen point Claude Code at the built binary instead of npx:\n npm v12+: npm install -g @prom.codes/memory-mcp --allow-scripts=better-sqlite3\n npm \u2264 11: npm install -g @prom.codes/memory-mcp --ignore-scripts=false --foreground-scripts\n claude mcp add memory -- node "$(npm root -g)/@prom.codes/memory-mcp/dist/bin.js"\nDocs: https://prom.codes/docs/guides/troubleshooting#could-not-locate-the-bindings-file\n';
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();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prom.codes/memory-mcp",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "prom.codes Memory — persistent, local-first agent memory as an MCP server.",
5
5
  "type": "module",
6
6
  "bin": {