prism-mcp-server 20.9.0 → 20.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.
@@ -42,6 +42,26 @@ function getClient() {
42
42
  configClient = createClient({
43
43
  url: `file:${CONFIG_PATH}`,
44
44
  });
45
+ // Multi-session machines share this one SQLite file across every host
46
+ // window's server process. libsql's default busy timeout is ZERO, so a
47
+ // writer meeting another writer fails instantly with SQLITE_BUSY instead
48
+ // of waiting its turn. Measured 2026-08-11: applying a new skill-manifest
49
+ // snapshot lost that race 10 consecutive times against ~7 live sessions'
50
+ // routine setting writes, leaving the sync permanently "partial" on a busy
51
+ // machine. Five seconds is far beyond any real transaction here and turns
52
+ // contention back into queueing. Fire-and-forget: a failure to set the
53
+ // pragma must never block storage init, and the first real query would
54
+ // surface a genuinely broken database anyway.
55
+ void configClient.execute("PRAGMA busy_timeout = 5000").catch(() => { });
56
+ // WAL is the half that actually ends the starvation: in the default
57
+ // rollback-journal mode every reader blocks the writer, and a machine
58
+ // running many host windows reads this file near-continuously (settings,
59
+ // drift reminders), so a manifest-apply transaction can wait out ANY
60
+ // timeout and still lose. WAL lets readers and the single writer proceed
61
+ // concurrently. The pragma is persistent per-database; issuing it on every
62
+ // init is an idempotent no-op that also upgrades databases created before
63
+ // this change.
64
+ void configClient.execute("PRAGMA journal_mode = WAL").catch(() => { });
45
65
  }
46
66
  return configClient;
47
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prism-mcp-server",
3
- "version": "20.9.0",
3
+ "version": "20.9.1",
4
4
  "mcpName": "io.github.dcostenco/prism-coder",
5
5
  "description": "Persistent session memory for AI coding agents that never leaves your machine \u2014 including the on-device model that reasons over it. Restores your prior decisions, open TODOs, and changed files across sessions; adds associative recall of related past work, semantic drift detection, and local inference. Local-first by default. Works with Claude Code, Cursor, and Codex.",
6
6
  "module": "index.ts",