bantamkit-mcp 0.35.6 → 0.35.7

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.
@@ -49,7 +49,7 @@ import { fileURLToPath } from 'node:url';
49
49
  import { Memory } from './memory/component.js';
50
50
  import { discoverProjectStore, resolveProjectStore } from './memory/layers.js';
51
51
  import { DURABLE_TYPES, MemoryStore, RECALL_MIN_SCORE_RATIO, pyEqualValue, pyText, tokens } from './memory/store.js';
52
- import { keptManifest, keptPrefix } from './npminstall.js';
52
+ import { keptCli, keptManifest, keptPrefix } from './npminstall.js';
53
53
  import { decide as decideUpdate, KEY as UPDATE_KEY, loadRecord, PROGRAM as UPDATE_PROGRAM, recordPath, STATE_AVAILABLE, } from './updatecheck.js';
54
54
  /**
55
55
  * The directory `p` names, as the KERNEL names it. `realpathSync.native`, not `realpathSync`.
@@ -705,8 +705,15 @@ const UPDATE_LINE_MAX = 500;
705
705
  * "then reconnect the host" is measured reason 1 in `selfupdate.py:13-20`: a running server
706
706
  * keeps serving the code it loaded at startup, so an updated install does nothing for THIS
707
707
  * session.
708
+ *
709
+ * THE COMMAND IS THE KEPT INSTALL'S OWN `cli.js`, RUN WITH NODE — not the bare `{program}`
710
+ * (2026-09-26). `--install` puts `bantamkit-mcp` in `<prefix>/node_modules/.bin`, which is on
711
+ * nobody's PATH, so the bare word this line used to print answered `command not found` on the
712
+ * machine it was measured on. `node "<cli>"` is what a host is already told to run
713
+ * (`npminstall.keptCli`), needs no PATH and no `.cmd` shim on Windows, and the double quotes
714
+ * hold a home directory with a space in it in zsh, bash, cmd and PowerShell alike.
708
715
  */
709
- const UPDATE_LINE = '[bantamkit] {program} {installed} at {path} is running; the package index has {latest} — run `{program} --update`, then reconnect the host.';
716
+ const UPDATE_LINE = '[bantamkit] {program} {installed} at {path} is running; the package index has {latest} — run `node "{cli}" --update`, then reconnect the host.';
710
717
  /** `{name}` substitution. A missing key is left alone rather than rendered `undefined`. */
711
718
  function fillLine(template, values) {
712
719
  return template.replace(/\{([a-z]+)\}/g, (whole, name) => values[name] ?? whole);
@@ -726,11 +733,12 @@ function fillLine(template, values) {
726
733
  * second thing to keep in step with two runtimes. There is no comparator in this file.
727
734
  */
728
735
  function keptInstall(home) {
729
- const manifest = keptManifest(keptPrefix(home));
736
+ const prefix = keptPrefix(home);
737
+ const manifest = keptManifest(prefix);
730
738
  try {
731
739
  const parsed = JSON.parse(fs.readFileSync(manifest, 'utf8'));
732
740
  const version = parsed && typeof parsed.version === 'string' ? parsed.version.trim() : '';
733
- return version === '' ? null : { path: manifest, version };
741
+ return version === '' ? null : { path: manifest, cli: keptCli(prefix), version };
734
742
  }
735
743
  catch {
736
744
  return null;
@@ -760,6 +768,7 @@ function updateSignal(run) {
760
768
  program: UPDATE_PROGRAM,
761
769
  installed: kept.version,
762
770
  path: kept.path,
771
+ cli: kept.cli,
763
772
  latest,
764
773
  }), UPDATE_LINE_MAX);
765
774
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bantamkit-mcp",
3
- "version": "0.35.6",
3
+ "version": "0.35.7",
4
4
  "description": "Memory MCP server for Claude Code, Cursor, VS Code Copilot and Claude Desktop: per-person memory, JSON Schema validation, shift-work tools. Pure Node; install once with npx, run offline.",
5
5
  "keywords": [
6
6
  "mcp",