mind-palace-graph 0.3.0 → 0.3.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/INSTALL.md CHANGED
@@ -228,6 +228,28 @@ from SKILL.md.
228
228
  - `conductor-context`: use mpg to find task-ID references
229
229
  - `subagent scout`: mpg complements scout for structured retrieval
230
230
 
231
+ **5. Spawning mpg from a Pi extension (Node side):**
232
+
233
+ If your Pi extension shells out to mpg with `child_process.spawn`,
234
+ do **not** `spawn("mpg", args)` directly on Windows — the npm
235
+ `mpg.cmd` shim either `EINVAL`s (no `shell: true`) or has its argv
236
+ mangled by cmd.exe (`shell: true`). Use the resolved entry path
237
+ instead:
238
+
239
+ ```ts
240
+ import { spawn } from "node:child_process";
241
+ import { entryPath } from "mind-palace-graph/entry";
242
+
243
+ const proc = spawn(process.execPath, [
244
+ entryPath, "TODO", "--in", "src/", "--json",
245
+ ], { stdio: ["ignore", "pipe", "pipe"] });
246
+ ```
247
+
248
+ For regexes that might contain shell metacharacters, write the
249
+ pattern to a temp file and pass `--pattern-file <path>` instead of
250
+ the positional argument. See "Calling mpg from Node subprocesses
251
+ (Windows-safe)" below for the full recipe.
252
+
231
253
  ---
232
254
 
233
255
  ## Cline (VS Code)
@@ -354,6 +376,81 @@ be consumed directly by an LLM.
354
376
 
355
377
  ---
356
378
 
379
+ ## Calling mpg from Node subprocesses (Windows-safe)
380
+
381
+ If you are building an agent extension that spawns `mpg` from Node
382
+ (`child_process.spawn`), Windows is a minefield. On Windows the
383
+ npm-installed `mpg` is a `.cmd` shim, and the two obvious approaches
384
+ both break:
385
+
386
+ | Approach | What happens on Windows |
387
+ | :--- | :--- |
388
+ | `spawn("mpg", args)` | `EINVAL` — Node cannot execute a `.cmd` directly. |
389
+ | `spawn("mpg", args, { shell: true })` | cmd.exe parses the line, splits on `&`/`|`/`^`/etc.; flags containing these chars get **corrupted** before mpg sees them. Typical symptom: `'--stdin' is not recognized as an internal or external command` followed by `mpg: Unknown argument: --git`. |
390
+
391
+ The Windows-safe pattern is to spawn `node` directly on mpg's
392
+ resolved JS entry, bypassing the shim:
393
+
394
+ ```ts
395
+ import { spawn, execSync } from "node:child_process";
396
+
397
+ // Option A — discover the entry once at startup
398
+ const entry = execSync("mpg --print-entry").toString().trim();
399
+
400
+ // Option B — if your code is itself a Node package, just import it
401
+ // import { entryPath as entry } from "mind-palace-graph/entry";
402
+
403
+ const proc = spawn(process.execPath, [
404
+ entry,
405
+ "TODO",
406
+ "--in", "src/",
407
+ "--json",
408
+ ], {
409
+ stdio: ["ignore", "pipe", "pipe"],
410
+ });
411
+ ```
412
+
413
+ `process.execPath` is the running Node binary. No `.cmd`, no shell,
414
+ no argv mangling. Works identically on macOS, Linux, Windows.
415
+
416
+ ### Patterns with shell metacharacters
417
+
418
+ If the regex itself contains characters the shell could eat (quotes,
419
+ backslashes, `&`, `|`, `^`, parens, etc.), write it to a temp file and
420
+ pass `--pattern-file <path>` so the pattern never crosses argv:
421
+
422
+ ```ts
423
+ import { writeFileSync, mkdtempSync } from "node:fs";
424
+ import { tmpdir } from "node:os";
425
+ import { join } from "node:path";
426
+
427
+ const dir = mkdtempSync(join(tmpdir(), "mpg-"));
428
+ const patternFile = join(dir, "pattern");
429
+ writeFileSync(patternFile, exoticRegex); // any string, any encoding
430
+
431
+ spawn(process.execPath, [
432
+ entry,
433
+ "--pattern-file", patternFile,
434
+ "--in", "src/",
435
+ "--json",
436
+ ]);
437
+ ```
438
+
439
+ `--pattern-file` strips a single trailing `\n` or `\r\n`. It is
440
+ mutually exclusive with a positional pattern; the CLI exits with an
441
+ error if both are passed.
442
+
443
+ ### When to use each
444
+
445
+ | You are building... | Use |
446
+ | :--- | :--- |
447
+ | MCP-based agent (Claude Desktop, Cline, Windsurf) | The MCP server. No subprocess concerns. |
448
+ | Node-based agent that imports the SDK directly | `import { search } from "mind-palace-graph"`. No subprocess at all. |
449
+ | Custom Node subprocess wrapper (Pi extension, agent runner) | `spawn(process.execPath, [entry, ...args])`. Add `--pattern-file` for non-trivial regexes. |
450
+ | Shell-only agent (bash one-liners) | Plain `mpg ...` is fine — shells handle the shim correctly. The Windows footgun only hits when spawning *from another program*. |
451
+
452
+ ---
453
+
357
454
  ## MCP server (for Claude Desktop, Cline, Windsurf, Continue.dev)
358
455
 
359
456
  The MCP server exposes these tools:
package/dist/cli.d.ts CHANGED
@@ -77,19 +77,24 @@ export interface RawArgs {
77
77
  fuzzy: boolean;
78
78
  help: boolean;
79
79
  version: boolean;
80
+ printEntry: boolean;
81
+ patternFile?: string;
80
82
  }
81
83
  export declare const EFFORT_PRESETS: Record<Effort, {
82
84
  before: number;
83
85
  after: number;
84
86
  maxNodes: number;
85
87
  }>;
86
- export declare const HELP = "mpg \u2014 node-centric context retrieval for LLM harnesses\n\nUSAGE\n mpg <pattern> [options]\n\n Pattern is a regular expression (ripgrep syntax). Use -F/--fixed-strings\n for literal matching.\n\nSOURCES (at least one is required unless reading stdin)\n -i, --in <path> [<path>...] Path(s), file(s), or glob(s) to search.\n Repeatable. Greedy: consumes non-flag args.\n Accepts: a file, a directory (recurses),\n a glob, @file (read paths from a file),\n @- (read paths from stdin), or a\n comma-separated list.\n Paths can also be passed as trailing\n positionals: mpg \"TODO\" src/ test/\n --cmd <command> Search the stdout of a shell command\n --stdin Read content from stdin (auto-detected when piped)\n -u, --url <url> Search the body of an HTTP(S) URL\n\nNODE SIZING\n -b, --before <tokens> Tokens of context before each match [default: 500]\n -a, --after <tokens> Tokens of context after each match [default: 500]\n -n, --max-nodes <n> Maximum number of nodes to return [default: 30]\n --max-tokens <n> Total token budget across all nodes\n --strategy <mode> How to use --max-tokens: fill|deep [default: fill]\n -e, --effort <level> Preset: scan|quick|normal|deep|auto [default: quick]\n scan=20t/uncapped (index mode: every hit gets a\n tiny disambiguating window; matches rg recall\n AND precision regardless of hit count; combine\n with --sort recent for a time-ordered index)\n quick=200t/10n, normal=500t/30n, deep=2000t/100n\n --sort <mode> default|recent|oldest [default: default]\n Order returned nodes by source file mtime.\n Pairs naturally with scan: \"scan + --sort recent\"\n gives you the most-recently-changed hits first\n (a time-ordered memory index). Paginate to dig\n back into history.\n --window-curve <fn> flat|linear|log [default: flat]\n Per-node token-window decay across the result list.\n flat: every node gets the full window (classic).\n linear: full at rank 0, decays to ~10% at last rank.\n log: window = full / log2(rank+2). Gentler decay.\n Combine with --sort recent for \"rich context on\n what just changed, tight window on older history.\"\n --clip <N> Sub-line clip mode. Drops line context; trims the\n matched line itself to N chars around the matched\n span (with ellipsis markers). Cheapest possible\n node \u2014 for disambiguation, not synthesis.\n Combine with --effort scan for a minimal index\n (~30 tokens per hit at N=20).\n --fuzzy Typo-tolerant search. Transforms a literal pattern\n so up to 2 extra chars may appear between each\n letter. Skipped if the pattern already looks like\n a regex. Pure plain-text patterns only.\n Default is quick: small windows, small node cap.\n \"Scan first, dig deeper\" is the recommended pattern\n for agents \u2014 start with scan or quick; bump to\n normal or deep only when the small result was\n ambiguous. Use multiple targeted parallel calls\n instead of one huge deep call.\n\nOUTPUT\n -f, --format <fmt> llm|markdown|json|text [default: llm]\n --json Alias for --format json (matches rg/gh/jq).\n --color / --no-color Force or disable ANSI color [default: auto]\n\nSEARCH OPTIONS (forwarded to ripgrep)\n -I, --ignore-case Case-insensitive match\n -w, --word Match whole words only\n -F, --fixed-strings Treat pattern as literal\n -U, --multiline Allow multi-line patterns\n --hidden Search hidden files and directories\n --no-ignore Don't respect .gitignore\n --include <glob> Include files matching glob (repeatable)\n --exclude <glob> Exclude files matching glob (repeatable)\n --type <lang> ripgrep file type filter (e.g. ts, rust, py)\n\nOTHER\n -h, --help Show this help\n -v, --version Show version\n\nPAGINATION (for finer-grained traversal of large result sets)\n --page <n> Show only the Nth page of results (1-indexed).\n When set, paginates nodes (in search and\n --mp-get) or stashes (in --mp-list).\n --page-size <n> Items per page (default 10 for nodes,\n 20 for stashes).\n --all Disable pagination; return everything.\n\nMIND PALACE (the LLM's instantiable short-term memory)\n A mind palace is a JSON file (default ./.mpg/mind-palace.json) that\n holds named \"stashes\" of search results. The LLM harness can stash\n results, recall them, and compose them across multiple invocations.\n\n --mp-stash <name> <note> Stash the current search's results\n under <name> with <note>. Adds to an\n existing stash by default (dedup by\n file:line); pass --mp-replace to\n overwrite.\n --mp-stash-tag <tag> Tag the stash (repeatable).\n --mp-replace Replace an existing stash outright.\n --mp-list [--mp-list-tag t] List all stashes (optionally filtered\n by tag).\n --mp-get <name> Print a stash. Default: **card view**\n (note, tags, relations, sources,\n counts \u2014 no per-node context). Add\n --with-nodes or --full to include\n the captured node block (the legacy\n behavior). Card view is what an agent\n almost always wants; the nodes block\n is 5\u20136\u00D7 more expensive in tokens.\n --with-nodes, --full Opt-in to the full node dump on\n --mp-get. Synonyms.\n --mp-drop <name> Remove a stash from the palace.\n --mp-from <name> Use a stashed file list as the search\n target. The search re-runs fresh.\n --mp-compose <a> <b> ... Union of multiple stashes' file lists\n as the search target.\n --mp-path <file> Path to the mind-palace.json file\n (default: ./.mpg/mind-palace.json,\n or the closest one walking up from\n CWD). Use this for isolated sessions.\n\nPRUNING & TTL (keep the palace from growing unbounded)\n --mp-ttl <duration> Auto-expiry for this stash (e.g. 2h,\n 7d, 30m). The stash is marked with\n expires_at; expired stashes can be\n cleaned with --mp-prune-expired.\n --mp-prune-older-than <d> Remove stashes older than duration.\n --mp-prune-keep <n> Keep only the n most recent stashes.\n --mp-prune-tag <tag> Remove all stashes with a given tag.\n --mp-prune-expired Remove all expired stashes (those\n whose --mp-ttl has elapsed).\n --mp-prune-all Remove all stashes.\n --mp-prune-dry-run Show what would be removed.\n --mp-prune-confirm Required for --mp-prune-all.\n\nRELATIONSHIPS (make the \"graph\" in mind-palace-graph real)\n --mp-link <from> <to> <type> [note]\n Create a directed edge between stashes.\n Types: depends-on, related-to, see-also,\n parent-of, child-of, supersedes, or\n any custom string.\n --mp-unlink <from> <to> Remove a relationship.\n --mp-related <name> Show all stashes connected to <name>\n (both inbound and outbound edges).\n --mp-graph <name> [depth] Traversal graph from <name> up to\n [depth] levels (default 3).\n\nEXAMPLES\n # Find TODOs in src/, with 500 tokens of context, up to 20 nodes\n mpg \"TODO\" --in src/ --max-nodes 20\n\n # Paginate: 5 nodes per page, start at page 1\n mpg \"TODO\" --in src/ --max-nodes 100 --page 1 --page-size 5\n\n # Browse a large stash 5 nodes at a time\n mpg --mp-get auth-issues --page 2 --page-size 5\n\n # Browse a long list of stashes\n mpg --mp-list --page 1 --page-size 20\n\n # Stash this search's results into the mind palace\n mpg \"TODO\" --in src/ --mp-stash auth-todos \"Auth TODOs to review\"\n\n # Use a stashed file list as the search target\n mpg \"rate\" --mp-from auth-todos\n\n # Search across multiple stashes' file lists\n mpg \"error\" --mp-compose auth-todos perf-hotspots\n\n # List all stashes\n mpg --mp-list\n\n # Inspect a stash\n mpg --mp-get auth-todos\n\n # Free a slot\n mpg --mp-drop auth-todos\n\n # Multiple paths in one flag (greedy)\n mpg \"TODO\" --in src/ test/ docs/\n\n # Trailing positional paths (rg-style)\n mpg \"TODO\" src/ test/\n\n # Read path list from a file\n mpg \"TODO\" --in @filelist.txt\n\n # Read path list from stdin\n echo -e \"src/\ntest/\" | mpg \"TODO\" --in @-\n\n # Comma-separated\n mpg \"TODO\" --in src/,test/,docs/\n\n # Quick recon: narrow context, 5 nodes\n mpg \"auth\" --in . --effort quick --max-nodes 5\n\n # Deep dive: wide context, capped at 16k tokens\n mpg \"session\" --in src/auth/ --effort deep --max-tokens 16000\n\n # Search the output of a command\n mpg \"error\" --cmd \"git log --oneline -100\"\n\n # Pipe content in\n cat README.md | mpg \"install\"\n\n # JSON for programmatic harness integration\n mpg \"TODO\" --in src/ --format json\n\n # Markdown for pasting into a doc or chat\n mpg \"TODO\" --in src/ --format markdown\n";
88
+ export declare const HELP = "mpg \u2014 node-centric context retrieval for LLM harnesses\n\nUSAGE\n mpg <pattern> [options]\n\n Pattern is a regular expression (ripgrep syntax). Use -F/--fixed-strings\n for literal matching.\n\nSOURCES (at least one is required unless reading stdin)\n -i, --in <path> [<path>...] Path(s), file(s), or glob(s) to search.\n Repeatable. Greedy: consumes non-flag args.\n Accepts: a file, a directory (recurses),\n a glob, @file (read paths from a file),\n @- (read paths from stdin), or a\n comma-separated list.\n Paths can also be passed as trailing\n positionals: mpg \"TODO\" src/ test/\n --cmd <command> Search the stdout of a shell command\n --stdin Read content from stdin (auto-detected when piped)\n -u, --url <url> Search the body of an HTTP(S) URL\n\nNODE SIZING\n -b, --before <tokens> Tokens of context before each match [default: 500]\n -a, --after <tokens> Tokens of context after each match [default: 500]\n -n, --max-nodes <n> Maximum number of nodes to return [default: 30]\n --max-tokens <n> Total token budget across all nodes\n --strategy <mode> How to use --max-tokens: fill|deep [default: fill]\n -e, --effort <level> Preset: scan|quick|normal|deep|auto [default: quick]\n scan=20t/uncapped (index mode: every hit gets a\n tiny disambiguating window; matches rg recall\n AND precision regardless of hit count; combine\n with --sort recent for a time-ordered index)\n quick=200t/10n, normal=500t/30n, deep=2000t/100n\n --sort <mode> default|recent|oldest [default: default]\n Order returned nodes by source file mtime.\n Pairs naturally with scan: \"scan + --sort recent\"\n gives you the most-recently-changed hits first\n (a time-ordered memory index). Paginate to dig\n back into history.\n --window-curve <fn> flat|linear|log [default: flat]\n Per-node token-window decay across the result list.\n flat: every node gets the full window (classic).\n linear: full at rank 0, decays to ~10% at last rank.\n log: window = full / log2(rank+2). Gentler decay.\n Combine with --sort recent for \"rich context on\n what just changed, tight window on older history.\"\n --clip <N> Sub-line clip mode. Drops line context; trims the\n matched line itself to N chars around the matched\n span (with ellipsis markers). Cheapest possible\n node \u2014 for disambiguation, not synthesis.\n Combine with --effort scan for a minimal index\n (~30 tokens per hit at N=20).\n --fuzzy Typo-tolerant search. Transforms a literal pattern\n so up to 2 extra chars may appear between each\n letter. Skipped if the pattern already looks like\n a regex. Pure plain-text patterns only.\n Default is quick: small windows, small node cap.\n \"Scan first, dig deeper\" is the recommended pattern\n for agents \u2014 start with scan or quick; bump to\n normal or deep only when the small result was\n ambiguous. Use multiple targeted parallel calls\n instead of one huge deep call.\n\nOUTPUT\n -f, --format <fmt> llm|markdown|json|text [default: llm]\n --json Alias for --format json (matches rg/gh/jq).\n --color / --no-color Force or disable ANSI color [default: auto]\n\nSEARCH OPTIONS (forwarded to ripgrep)\n -I, --ignore-case Case-insensitive match\n -w, --word Match whole words only\n -F, --fixed-strings Treat pattern as literal\n -U, --multiline Allow multi-line patterns\n --hidden Search hidden files and directories\n --no-ignore Don't respect .gitignore\n --include <glob> Include files matching glob (repeatable)\n --exclude <glob> Exclude files matching glob (repeatable)\n --type <lang> ripgrep file type filter (e.g. ts, rust, py)\n\nOTHER\n -h, --help Show this help\n -v, --version Show version\n --print-entry Print the resolved JS entry path and exit.\n Use this from a Node subprocess to avoid\n the .cmd shim on Windows:\n const entry = execSync(\"mpg --print-entry\").toString().trim();\n spawn(process.execPath, [entry, \"TODO\", \"--in\", \"src/\"]);\n --pattern-file <path> Read the regex pattern from a file\n (trailing newline stripped). Use when\n spawning mpg from another process to\n keep the pattern off argv (avoids shell\n quoting and Windows cmd.exe argv mangling).\n Mutually exclusive with the positional\n pattern argument.\n\nPAGINATION (for finer-grained traversal of large result sets)\n --page <n> Show only the Nth page of results (1-indexed).\n When set, paginates nodes (in search and\n --mp-get) or stashes (in --mp-list).\n --page-size <n> Items per page (default 10 for nodes,\n 20 for stashes).\n --all Disable pagination; return everything.\n\nMIND PALACE (the LLM's instantiable short-term memory)\n A mind palace is a JSON file (default ./.mpg/mind-palace.json) that\n holds named \"stashes\" of search results. The LLM harness can stash\n results, recall them, and compose them across multiple invocations.\n\n --mp-stash <name> <note> Stash the current search's results\n under <name> with <note>. Adds to an\n existing stash by default (dedup by\n file:line); pass --mp-replace to\n overwrite.\n --mp-stash-tag <tag> Tag the stash (repeatable).\n --mp-replace Replace an existing stash outright.\n --mp-list [--mp-list-tag t] List all stashes (optionally filtered\n by tag).\n --mp-get <name> Print a stash. Default: **card view**\n (note, tags, relations, sources,\n counts \u2014 no per-node context). Add\n --with-nodes or --full to include\n the captured node block (the legacy\n behavior). Card view is what an agent\n almost always wants; the nodes block\n is 5\u20136\u00D7 more expensive in tokens.\n --with-nodes, --full Opt-in to the full node dump on\n --mp-get. Synonyms.\n --mp-drop <name> Remove a stash from the palace.\n --mp-from <name> Use a stashed file list as the search\n target. The search re-runs fresh.\n --mp-compose <a> <b> ... Union of multiple stashes' file lists\n as the search target.\n --mp-path <file> Path to the mind-palace.json file\n (default: ./.mpg/mind-palace.json,\n or the closest one walking up from\n CWD). Use this for isolated sessions.\n\nPRUNING & TTL (keep the palace from growing unbounded)\n --mp-ttl <duration> Auto-expiry for this stash (e.g. 2h,\n 7d, 30m). The stash is marked with\n expires_at; expired stashes can be\n cleaned with --mp-prune-expired.\n --mp-prune-older-than <d> Remove stashes older than duration.\n --mp-prune-keep <n> Keep only the n most recent stashes.\n --mp-prune-tag <tag> Remove all stashes with a given tag.\n --mp-prune-expired Remove all expired stashes (those\n whose --mp-ttl has elapsed).\n --mp-prune-all Remove all stashes.\n --mp-prune-dry-run Show what would be removed.\n --mp-prune-confirm Required for --mp-prune-all.\n\nRELATIONSHIPS (make the \"graph\" in mind-palace-graph real)\n --mp-link <from> <to> <type> [note]\n Create a directed edge between stashes.\n Types: depends-on, related-to, see-also,\n parent-of, child-of, supersedes, or\n any custom string.\n --mp-unlink <from> <to> Remove a relationship.\n --mp-related <name> Show all stashes connected to <name>\n (both inbound and outbound edges).\n --mp-graph <name> [depth] Traversal graph from <name> up to\n [depth] levels (default 3).\n\nEXAMPLES\n # Find TODOs in src/, with 500 tokens of context, up to 20 nodes\n mpg \"TODO\" --in src/ --max-nodes 20\n\n # Paginate: 5 nodes per page, start at page 1\n mpg \"TODO\" --in src/ --max-nodes 100 --page 1 --page-size 5\n\n # Browse a large stash 5 nodes at a time\n mpg --mp-get auth-issues --page 2 --page-size 5\n\n # Browse a long list of stashes\n mpg --mp-list --page 1 --page-size 20\n\n # Stash this search's results into the mind palace\n mpg \"TODO\" --in src/ --mp-stash auth-todos \"Auth TODOs to review\"\n\n # Use a stashed file list as the search target\n mpg \"rate\" --mp-from auth-todos\n\n # Search across multiple stashes' file lists\n mpg \"error\" --mp-compose auth-todos perf-hotspots\n\n # List all stashes\n mpg --mp-list\n\n # Inspect a stash\n mpg --mp-get auth-todos\n\n # Free a slot\n mpg --mp-drop auth-todos\n\n # Multiple paths in one flag (greedy)\n mpg \"TODO\" --in src/ test/ docs/\n\n # Trailing positional paths (rg-style)\n mpg \"TODO\" src/ test/\n\n # Read path list from a file\n mpg \"TODO\" --in @filelist.txt\n\n # Read path list from stdin\n echo -e \"src/\ntest/\" | mpg \"TODO\" --in @-\n\n # Comma-separated\n mpg \"TODO\" --in src/,test/,docs/\n\n # Quick recon: narrow context, 5 nodes\n mpg \"auth\" --in . --effort quick --max-nodes 5\n\n # Deep dive: wide context, capped at 16k tokens\n mpg \"session\" --in src/auth/ --effort deep --max-tokens 16000\n\n # Search the output of a command\n mpg \"error\" --cmd \"git log --oneline -100\"\n\n # Pipe content in\n cat README.md | mpg \"install\"\n\n # JSON for programmatic harness integration\n mpg \"TODO\" --in src/ --format json\n\n # Markdown for pasting into a doc or chat\n mpg \"TODO\" --in src/ --format markdown\n";
87
89
  export declare function parseArgs(argv: string[]): RawArgs;
88
90
  /** Resolve a RawArgs into a fully-specified config. */
89
91
  export declare function resolveConfig(raw: RawArgs): ResolvedConfig;
90
92
  export declare class HelpRequestedError extends Error {
91
93
  constructor();
92
94
  }
95
+ export declare class PrintEntryRequestedError extends Error {
96
+ constructor();
97
+ }
93
98
  export declare class VersionRequestedError extends Error {
94
99
  constructor();
95
100
  }
package/dist/cli.js CHANGED
@@ -9,6 +9,7 @@
9
9
  * The parser applies effort presets, then CLI overrides, then
10
10
  * validates the final config.
11
11
  */
12
+ import { readFileSync } from "node:fs";
12
13
  export const EFFORT_PRESETS = {
13
14
  scan: { before: 20, after: 20, maxNodes: 100000 },
14
15
  quick: { before: 200, after: 200, maxNodes: 10 },
@@ -98,6 +99,18 @@ SEARCH OPTIONS (forwarded to ripgrep)
98
99
  OTHER
99
100
  -h, --help Show this help
100
101
  -v, --version Show version
102
+ --print-entry Print the resolved JS entry path and exit.
103
+ Use this from a Node subprocess to avoid
104
+ the .cmd shim on Windows:
105
+ const entry = execSync("mpg --print-entry").toString().trim();
106
+ spawn(process.execPath, [entry, "TODO", "--in", "src/"]);
107
+ --pattern-file <path> Read the regex pattern from a file
108
+ (trailing newline stripped). Use when
109
+ spawning mpg from another process to
110
+ keep the pattern off argv (avoids shell
111
+ quoting and Windows cmd.exe argv mangling).
112
+ Mutually exclusive with the positional
113
+ pattern argument.
101
114
 
102
115
  PAGINATION (for finer-grained traversal of large result sets)
103
116
  --page <n> Show only the Nth page of results (1-indexed).
@@ -263,6 +276,7 @@ export function parseArgs(argv) {
263
276
  fuzzy: false,
264
277
  help: false,
265
278
  version: false,
279
+ printEntry: false,
266
280
  };
267
281
  let i = 0;
268
282
  while (i < argv.length) {
@@ -288,6 +302,16 @@ export function parseArgs(argv) {
288
302
  i++;
289
303
  continue;
290
304
  }
305
+ if (a === "--print-entry") {
306
+ args.printEntry = true;
307
+ i++;
308
+ continue;
309
+ }
310
+ if (a === "--pattern-file") {
311
+ args.patternFile = requireValue(a, argv, ++i);
312
+ i++;
313
+ continue;
314
+ }
291
315
  if (a === "-i" || a === "--in") {
292
316
  // Greedy: consume every subsequent non-flag arg as a path.
293
317
  // This lets users write `--in src/ test/ docs/` and get three paths.
@@ -680,9 +704,33 @@ export function resolveConfig(raw) {
680
704
  throw new HelpRequestedError();
681
705
  if (raw.version)
682
706
  throw new VersionRequestedError();
707
+ if (raw.printEntry)
708
+ throw new PrintEntryRequestedError();
683
709
  // Pattern is optional: required for searches and for --mp-from /
684
710
  // --mp-compose, but not for --mp-list, --mp-get, or --mp-drop.
685
- const pattern = raw.pattern ?? process.env.MPG_PATTERN;
711
+ // Precedence: --pattern-file > positional > MPG_PATTERN env. The
712
+ // file route exists for subprocess callers who want to keep the
713
+ // regex off argv entirely (shell quoting and Windows cmd.exe both
714
+ // mangle exotic patterns).
715
+ let filePattern;
716
+ if (raw.patternFile) {
717
+ if (raw.pattern !== undefined) {
718
+ throw new Error("--pattern-file is mutually exclusive with a positional pattern.");
719
+ }
720
+ // Synchronous on purpose — resolveConfig is sync everywhere else.
721
+ // The file is expected to be small (a regex), so the read cost is
722
+ // negligible and avoids leaking async through the whole stack.
723
+ try {
724
+ filePattern = readFileSync(raw.patternFile, "utf8").replace(/\r?\n$/, "");
725
+ }
726
+ catch (err) {
727
+ throw new Error(`--pattern-file: cannot read ${raw.patternFile}: ${err.message}`);
728
+ }
729
+ if (filePattern.length === 0) {
730
+ throw new Error(`--pattern-file: ${raw.patternFile} is empty.`);
731
+ }
732
+ }
733
+ const pattern = filePattern ?? raw.pattern ?? process.env.MPG_PATTERN;
686
734
  const needsPattern = !raw.ls && (raw.inPaths.length > 0 ||
687
735
  raw.cmd !== undefined ||
688
736
  raw.url !== undefined ||
@@ -850,6 +898,9 @@ export function resolveConfig(raw) {
850
898
  export class HelpRequestedError extends Error {
851
899
  constructor() { super("help requested"); this.name = "HelpRequestedError"; }
852
900
  }
901
+ export class PrintEntryRequestedError extends Error {
902
+ constructor() { super("print entry requested"); this.name = "PrintEntryRequestedError"; }
903
+ }
853
904
  export class VersionRequestedError extends Error {
854
905
  constructor() { super("version requested"); this.name = "VersionRequestedError"; }
855
906
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Side-effect-free entry pointer.
3
+ *
4
+ * Importers who want to spawn mpg as a Node subprocess can do:
5
+ *
6
+ * import { entryPath } from "mind-palace-graph/entry";
7
+ * spawn(process.execPath, [entryPath, "TODO", "--in", "src/"]);
8
+ *
9
+ * That bypasses the .cmd shim on Windows (which breaks when invoked
10
+ * from `child_process.spawn` without `shell: true`, and corrupts argv
11
+ * with `shell: true`). The CLI also exposes the same value via
12
+ * `mpg --print-entry` for non-Node callers.
13
+ *
14
+ * This file is intentionally tiny and imports nothing from the rest of
15
+ * the package — pulling it in is cheap and has no side effects.
16
+ */
17
+ /** Resolved absolute path to the built mpg CLI entry (dist/index.js). */
18
+ export declare const entryPath: string;
package/dist/entry.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Side-effect-free entry pointer.
3
+ *
4
+ * Importers who want to spawn mpg as a Node subprocess can do:
5
+ *
6
+ * import { entryPath } from "mind-palace-graph/entry";
7
+ * spawn(process.execPath, [entryPath, "TODO", "--in", "src/"]);
8
+ *
9
+ * That bypasses the .cmd shim on Windows (which breaks when invoked
10
+ * from `child_process.spawn` without `shell: true`, and corrupts argv
11
+ * with `shell: true`). The CLI also exposes the same value via
12
+ * `mpg --print-entry` for non-Node callers.
13
+ *
14
+ * This file is intentionally tiny and imports nothing from the rest of
15
+ * the package — pulling it in is cheap and has no side effects.
16
+ */
17
+ import { fileURLToPath } from "node:url";
18
+ import { dirname, join } from "node:path";
19
+ /** Resolved absolute path to the built mpg CLI entry (dist/index.js). */
20
+ export const entryPath = join(dirname(fileURLToPath(import.meta.url)), "index.js");
21
+ //# sourceMappingURL=entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAW,IAAI,CACnC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,UAAU,CACX,CAAC"}
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import { addStash, addRelation, removeRelation, getRelated, traversalGraph, comp
13
13
  import { applyTotalBudget, applyWindowCurve, buildNode, loadSourceContent } from "./nodes.js";
14
14
  import { runRg, RgError, RgNotFoundError } from "./rg.js";
15
15
  import { captureCommand, getStdin, captureUrl, classifyPathSpecs, } from "./sources.js";
16
- import { parseArgs, resolveConfig, HelpRequestedError, VersionRequestedError } from "./cli.js";
16
+ import { parseArgs, resolveConfig, HelpRequestedError, PrintEntryRequestedError, VersionRequestedError, } from "./cli.js";
17
17
  import { sampleMedianLineLength, WIDE_RECORD_MEDIAN_THRESHOLD } from "./api.js";
18
18
  import { buildFuzzyRegex, verifyFuzzy } from "./fuzzy.js";
19
19
  const VERSION = "0.3.0";
@@ -36,6 +36,14 @@ async function main() {
36
36
  process.stdout.write(`mpg ${VERSION}\n`);
37
37
  return 0;
38
38
  }
39
+ if (err instanceof PrintEntryRequestedError) {
40
+ // Print the resolved JS entry path. Node subprocess callers
41
+ // can then `spawn(process.execPath, [entry, ...args])` directly,
42
+ // bypassing the .cmd shim that breaks on Windows.
43
+ const { fileURLToPath } = await import("node:url");
44
+ process.stdout.write(fileURLToPath(import.meta.url) + "\n");
45
+ return 0;
46
+ }
39
47
  process.stderr.write(`mpg: ${err.message}\n`);
40
48
  process.stderr.write(`Run 'mpg --help' for usage.\n`);
41
49
  return 2;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "mind-palace-graph",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Node-centric context retrieval CLI for LLM harnesses. Token-budgeted search with effort presets, mind palace (stash/drop/compose/relationships), pagination, MCP server, multi-tool schemas for Claude & Gemini.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "mpg": "./dist/index.js"
8
8
  },
9
9
  "main": "./dist/index.js",
10
+ "exports": {
11
+ ".": "./dist/index.js",
12
+ "./entry": "./dist/entry.js"
13
+ },
10
14
  "files": [
11
15
  "dist/",
12
16
  "skills/",
@@ -545,6 +545,91 @@ Where mpg loses on the bench (worth knowing):
545
545
  - **Single-keyword lookups** where you only need a file:line list (T2 BLAKE3, T3 load_to_bevy in macro): rg is cheaper. Use `bash`/`grep` for one-word answers.
546
546
  - **Cold-start wall-clock**: ~200ms per CLI call. MCP server / programmatic import avoid this (the cost is paid once at boot).
547
547
 
548
+ ## Spawning mpg from another process (Windows-safe)
549
+
550
+ If you are building an agent extension that spawns `mpg` as a child
551
+ process (Pi extension, MCP wrapper, custom tool runner), do not just
552
+ `spawn("mpg", args)` and hope for the best. The npm-installed `mpg`
553
+ on Windows is a `.cmd` shim, and that shim interacts badly with
554
+ `child_process.spawn`:
555
+
556
+ - `spawn("mpg", args)` without `shell: true` → fails with `EINVAL`
557
+ because Node won't directly execute a `.cmd`.
558
+ - `spawn("mpg", args, { shell: true })` → cmd.exe parses the entire
559
+ command line and splits on `&`, `|`, `^`, etc.; arguments
560
+ containing `--stdin`, `--git`, or anything with shell metacharacters
561
+ get **corrupted** before mpg's parser ever sees them. You see
562
+ errors like `'--stdin' is not recognized as an internal or
563
+ external command` (cmd.exe complaining) followed by `mpg: Unknown
564
+ argument: --git` (mpg seeing the wreckage).
565
+
566
+ Two flags exist specifically to make subprocess integration painless:
567
+
568
+ ### 1. `mpg --print-entry` — skip the .cmd shim
569
+
570
+ ```bash
571
+ mpg --print-entry
572
+ # /usr/local/lib/node_modules/mind-palace-graph/dist/index.js
573
+ ```
574
+
575
+ From a Node subprocess caller:
576
+
577
+ ```ts
578
+ import { execSync, spawn } from "node:child_process";
579
+ const entry = execSync("mpg --print-entry").toString().trim();
580
+ spawn(process.execPath, [entry, "TODO", "--in", "src/"], {
581
+ stdio: ["ignore", "pipe", "pipe"],
582
+ });
583
+ ```
584
+
585
+ Or skip `execSync` entirely and import the path directly:
586
+
587
+ ```ts
588
+ import { entryPath } from "mind-palace-graph/entry";
589
+ spawn(process.execPath, [entryPath, "TODO", "--in", "src/"]);
590
+ ```
591
+
592
+ `spawn(process.execPath, [entry, ...args])` runs Node on the resolved
593
+ JS entry — no shell, no `.cmd`, no argv mangling. This is the
594
+ recommended pattern for every Node-based agent that spawns mpg.
595
+
596
+ ### 2. `--pattern-file <path>` — keep the regex off argv
597
+
598
+ When the pattern itself contains characters the shell might eat
599
+ (quotes, backslashes, `&`, `|`, exotic regex syntax), write it to a
600
+ temp file and pass `--pattern-file`:
601
+
602
+ ```ts
603
+ import { writeFileSync } from "node:fs";
604
+ import { mkdtempSync } from "node:fs";
605
+ import { tmpdir } from "node:os";
606
+ import { join } from "node:path";
607
+
608
+ const dir = mkdtempSync(join(tmpdir(), "mpg-"));
609
+ const patternFile = join(dir, "pattern");
610
+ writeFileSync(patternFile, exoticRegex); // any string, any encoding
611
+
612
+ spawn(process.execPath, [
613
+ entryPath,
614
+ "--pattern-file", patternFile,
615
+ "--in", "src/",
616
+ "--json",
617
+ ]);
618
+ ```
619
+
620
+ Trailing newline is stripped. The file is mutually exclusive with a
621
+ positional pattern. Use this for: regexes with shell metacharacters,
622
+ patterns built from untrusted user input, anything you don't want
623
+ to escape twice for both your shell and Windows cmd.exe.
624
+
625
+ ### Quick rule
626
+
627
+ | Integration style | Recipe |
628
+ | :--- | :--- |
629
+ | MCP host (Claude Desktop, Cline, Windsurf) | The MCP server handles spawning. You don't need this section. |
630
+ | Programmatic import (Anthropic / Google SDK harness) | `import { search } from "mind-palace-graph"` — no spawn at all. |
631
+ | Custom subprocess caller (Pi extension, agent runner) | `spawn(process.execPath, [entryPath, ...args])`. Add `--pattern-file` for any non-trivial regex. **Never** `spawn("mpg", ...)` directly. |
632
+
548
633
  ## Read further (load on demand)
549
634
 
550
635
  When you need depth on one of these areas, read the matching file: