ue-mcp 1.0.29 → 1.0.31

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.
@@ -1,9 +1,11 @@
1
1
  import { z } from "zod";
2
2
  /**
3
3
  * The `ue-mcp:` block at the top of ue-mcp.yml. Historically just had
4
- * `version: 1`. As of 1.0.29, also hosts the project-level config that
5
- * used to live in the separate `.ue-mcp.json` file (killed for one-config-
6
- * format consistency).
4
+ * `version: 1`. As of 1.0.30 also hosts the project-level config that
5
+ * used to live in `.ue-mcp.json` (killed for one-config-format
6
+ * consistency). Everything in this block is tracked — user-machine-only
7
+ * state (e.g. installedHooks for the feedback prompt hook) lives in
8
+ * `~/.ue-mcp/state.json`, not here.
7
9
  *
8
10
  * ue-mcp:
9
11
  * version: 1
@@ -11,13 +13,6 @@ import { z } from "zod";
11
13
  * disable: ["gas"]
12
14
  * http: { enabled: false, port: 7723 }
13
15
  * feedback: { mode: "interactive" }
14
- * installedHooks: [...] # user-local; lives in ue-mcp.local.yml
15
- *
16
- * Tracked vs untracked split is by convention:
17
- * ue-mcp.yml - tracked. version, contentRoots, disable, http, feedback.
18
- * ue-mcp.local.yml - gitignored. installedHooks and anything else user-local.
19
- * flowkit's loader deep-merges local on top of yml so both surface as one
20
- * resolved config to the server.
21
16
  */
22
17
  export declare const FlowVersionSchema: z.ZodObject<{
23
18
  version: z.ZodLiteral<1>;
@@ -43,7 +38,6 @@ export declare const FlowVersionSchema: z.ZodObject<{
43
38
  }, {
44
39
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
45
40
  }>>;
46
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
47
41
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
48
42
  version: z.ZodLiteral<1>;
49
43
  contentRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -68,7 +62,6 @@ export declare const FlowVersionSchema: z.ZodObject<{
68
62
  }, {
69
63
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
70
64
  }>>;
71
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
72
65
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
73
66
  version: z.ZodLiteral<1>;
74
67
  contentRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -93,7 +86,6 @@ export declare const FlowVersionSchema: z.ZodObject<{
93
86
  }, {
94
87
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
95
88
  }>>;
96
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
97
89
  }, z.ZodTypeAny, "passthrough">>;
98
90
  export declare const FlowProjectSchema: z.ZodOptional<z.ZodObject<{
99
91
  name: z.ZodOptional<z.ZodString>;
@@ -454,7 +446,6 @@ export declare const FlowConfigSchema: z.ZodObject<{
454
446
  }, {
455
447
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
456
448
  }>>;
457
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
458
449
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
459
450
  version: z.ZodLiteral<1>;
460
451
  contentRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -479,7 +470,6 @@ export declare const FlowConfigSchema: z.ZodObject<{
479
470
  }, {
480
471
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
481
472
  }>>;
482
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
483
473
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
484
474
  version: z.ZodLiteral<1>;
485
475
  contentRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -504,7 +494,6 @@ export declare const FlowConfigSchema: z.ZodObject<{
504
494
  }, {
505
495
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
506
496
  }>>;
507
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
508
497
  }, z.ZodTypeAny, "passthrough">>>;
509
498
  project: z.ZodOptional<z.ZodObject<{
510
499
  name: z.ZodOptional<z.ZodString>;
@@ -623,7 +612,6 @@ export declare const FlowConfigSchema: z.ZodObject<{
623
612
  }, {
624
613
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
625
614
  }>>;
626
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
627
615
  }, z.ZodTypeAny, "passthrough"> | undefined;
628
616
  project?: {
629
617
  name?: string | undefined;
@@ -660,7 +648,6 @@ export declare const FlowConfigSchema: z.ZodObject<{
660
648
  }, {
661
649
  mode?: "interactive" | "auto-approve" | "defer" | undefined;
662
650
  }>>;
663
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
664
651
  }, z.ZodTypeAny, "passthrough"> | undefined;
665
652
  project?: {
666
653
  name?: string | undefined;
@@ -2,9 +2,11 @@ import { z } from "zod";
2
2
  import { EngineConfigSchema } from "@db-lyon/flowkit";
3
3
  /**
4
4
  * The `ue-mcp:` block at the top of ue-mcp.yml. Historically just had
5
- * `version: 1`. As of 1.0.29, also hosts the project-level config that
6
- * used to live in the separate `.ue-mcp.json` file (killed for one-config-
7
- * format consistency).
5
+ * `version: 1`. As of 1.0.30 also hosts the project-level config that
6
+ * used to live in `.ue-mcp.json` (killed for one-config-format
7
+ * consistency). Everything in this block is tracked — user-machine-only
8
+ * state (e.g. installedHooks for the feedback prompt hook) lives in
9
+ * `~/.ue-mcp/state.json`, not here.
8
10
  *
9
11
  * ue-mcp:
10
12
  * version: 1
@@ -12,13 +14,6 @@ import { EngineConfigSchema } from "@db-lyon/flowkit";
12
14
  * disable: ["gas"]
13
15
  * http: { enabled: false, port: 7723 }
14
16
  * feedback: { mode: "interactive" }
15
- * installedHooks: [...] # user-local; lives in ue-mcp.local.yml
16
- *
17
- * Tracked vs untracked split is by convention:
18
- * ue-mcp.yml - tracked. version, contentRoots, disable, http, feedback.
19
- * ue-mcp.local.yml - gitignored. installedHooks and anything else user-local.
20
- * flowkit's loader deep-merges local on top of yml so both surface as one
21
- * resolved config to the server.
22
17
  */
23
18
  export const FlowVersionSchema = z.object({
24
19
  version: z.literal(1),
@@ -36,7 +31,6 @@ export const FlowVersionSchema = z.object({
36
31
  mode: z.enum(["interactive", "auto-approve", "defer"]).optional(),
37
32
  })
38
33
  .optional(),
39
- installedHooks: z.array(z.string()).optional(),
40
34
  }).passthrough();
41
35
  export const FlowProjectSchema = z.object({
42
36
  name: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flow/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClE,CAAC;SACD,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACxD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flow/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClE,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACxD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,CAAC,CAAC"}
@@ -20,15 +20,12 @@ function readStdin() {
20
20
  });
21
21
  }
22
22
  /**
23
- * Walk up from cwd looking for a ue-mcp.yml. Returns true if the merged
24
- * `ue-mcp.disable[]` block (from ue-mcp.yml + ue-mcp.local.yml) contains
25
- * "feedback" (hook should silently no-op) or if cwd is not inside a ue-mcp
26
- * project at all (don't nudge an unrelated repo). Defense in depth against
27
- * stale install — even if `npx ue-mcp uninstall-hooks` was never run, the
28
- * hook self-disables once the user opts out via config.
29
- *
30
- * Reads YAML lazily via require so the hook handler doesn't pull in
31
- * js-yaml's full module graph until it actually needs to.
23
+ * Walk up from cwd looking for a ue-mcp.yml. Returns true if the
24
+ * `ue-mcp.disable[]` block contains "feedback" (hook should silently
25
+ * no-op) or if cwd is not inside a ue-mcp project at all (don't nudge an
26
+ * unrelated repo). Defense in depth against stale install — even if
27
+ * `npx ue-mcp uninstall-hooks` was never run, the hook self-disables once
28
+ * the user opts out via config.
32
29
  */
33
30
  async function feedbackDisabledForCwd() {
34
31
  try {
@@ -38,29 +35,17 @@ async function feedbackDisabledForCwd() {
38
35
  let dir = process.cwd();
39
36
  for (let i = 0; i < 32; i++) {
40
37
  const ymlPath = path.join(dir, "ue-mcp.yml");
41
- const localPath = path.join(dir, "ue-mcp.local.yml");
42
- const ymlExists = fs.existsSync(ymlPath);
43
- const localExists = fs.existsSync(localPath);
44
- if (ymlExists || localExists) {
45
- const disable = new Set();
46
- for (const file of [ymlPath, localPath]) {
47
- if (!fs.existsSync(file))
48
- continue;
49
- try {
50
- const doc = yaml.load(fs.readFileSync(file, "utf-8"));
51
- const block = doc && typeof doc === "object" ? doc["ue-mcp"] : undefined;
52
- const list = block && Array.isArray(block.disable) ? block.disable : [];
53
- for (const item of list) {
54
- if (typeof item === "string")
55
- disable.add(item);
56
- }
57
- }
58
- catch {
59
- // Malformed config: don't nudge, safer to no-op.
60
- return true;
61
- }
38
+ if (fs.existsSync(ymlPath)) {
39
+ try {
40
+ const doc = yaml.load(fs.readFileSync(ymlPath, "utf-8"));
41
+ const block = doc && typeof doc === "object" ? doc["ue-mcp"] : undefined;
42
+ const list = block && Array.isArray(block.disable) ? block.disable : [];
43
+ return list.includes("feedback");
44
+ }
45
+ catch {
46
+ // Malformed config: don't nudge, safer to no-op.
47
+ return true;
62
48
  }
63
- return disable.has("feedback");
64
49
  }
65
50
  const parent = path.dirname(dir);
66
51
  if (parent === dir)
@@ -1 +1 @@
1
- {"version":3,"file":"hook-handler.js","sourceRoot":"","sources":["../src/hook-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-handler.js","sourceRoot":"","sources":["../src/hook-handler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Install the ue-mcp PostToolUse hook into a Claude Code settings.json. If
3
- * `projectDir` is supplied, the settings path is also recorded in the
4
- * project's ue-mcp.local.yml installedHooks registry.
3
+ * `projectDir` is supplied, the settings path is also recorded in
4
+ * `~/.ue-mcp/state.json` under this project's entry so uninstall can find
5
+ * every site later.
5
6
  */
6
7
  export declare function installClaudeHooks(settingsPath: string, projectDir?: string): void;
7
8
  /**
@@ -12,9 +13,10 @@ export declare function installClaudeHooks(settingsPath: string, projectDir?: st
12
13
  */
13
14
  export declare function uninstallClaudeHooks(settingsPath: string, projectDir?: string): boolean;
14
15
  /**
15
- * Uninstall the hook from every path recorded in ue-mcp.local.yml's
16
- * `ue-mcp.installedHooks[]`. Used by `npx ue-mcp uninstall-hooks` and by
17
- * init when the user disables feedback or opts out of the prompt checkbox.
16
+ * Uninstall the hook from every path recorded in `~/.ue-mcp/state.json`'s
17
+ * `projects[<root>].installedHooks[]`. Used by `npx ue-mcp uninstall-hooks`
18
+ * and by init when the user disables feedback or opts out of the prompt
19
+ * checkbox.
18
20
  */
19
21
  export declare function uninstallAllRegisteredHooks(projectDir: string): {
20
22
  removed: string[];
@@ -1,17 +1,19 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- import yaml from "js-yaml";
4
3
  import { warn as logWarn } from "./log.js";
4
+ import { getInstalledHooks, setInstalledHooks } from "./user-state.js";
5
5
  /**
6
6
  * Symmetric install/uninstall for the Claude Code PostToolUse hook that
7
7
  * prompts the agent to file feedback when execute_python was used as a
8
8
  * workaround.
9
9
  *
10
10
  * Two invariants:
11
- * 1. Every install records the settings path in ue-mcp.local.yml's
12
- * `ue-mcp.installedHooks[]`, so uninstall can reach every site even
13
- * after the user moves their MCP client config. The local file is
14
- * gitignored these paths are user-machine-specific.
11
+ * 1. Every install records the settings path in `~/.ue-mcp/state.json`
12
+ * keyed by absolute project root, so uninstall can reach every site
13
+ * even after the user moves their MCP client config. Lives in the
14
+ * user-state file (not the project tree) because those absolute
15
+ * paths are user-machine-specific and have no business in tracked
16
+ * config.
15
17
  * 2. Uninstall is idempotent — calling it against a settings file that
16
18
  * doesn't have our matcher is a no-op, not an error.
17
19
  */
@@ -34,49 +36,6 @@ function writeSettings(settingsPath, settings) {
34
36
  fs.mkdirSync(dir, { recursive: true });
35
37
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
36
38
  }
37
- function localPath(projectDir) {
38
- return path.join(projectDir, "ue-mcp.local.yml");
39
- }
40
- function readLocal(projectDir) {
41
- const file = localPath(projectDir);
42
- if (!fs.existsSync(file))
43
- return {};
44
- try {
45
- return yaml.load(fs.readFileSync(file, "utf-8")) ?? {};
46
- }
47
- catch (e) {
48
- logWarn("hook-installer", `ue-mcp.local.yml at ${file} did not parse — installedHooks registry will be rewritten`, e);
49
- return {};
50
- }
51
- }
52
- function writeLocal(projectDir, doc) {
53
- const file = localPath(projectDir);
54
- // Empty doc → remove the file rather than leaving a stub behind.
55
- const block = doc["ue-mcp"];
56
- if (!block ||
57
- Object.keys(block).filter((k) => block[k] !== undefined).length === 0) {
58
- if (fs.existsSync(file))
59
- fs.unlinkSync(file);
60
- return;
61
- }
62
- fs.writeFileSync(file, yaml.dump(doc, { indent: 2 }), "utf-8");
63
- }
64
- function getInstalledHooks(projectDir) {
65
- const local = readLocal(projectDir);
66
- const hooks = local["ue-mcp"]?.installedHooks;
67
- return Array.isArray(hooks) ? hooks : [];
68
- }
69
- function setInstalledHooks(projectDir, hooks) {
70
- const local = readLocal(projectDir);
71
- const block = (local["ue-mcp"] ??= {});
72
- if (hooks.length > 0) {
73
- block.installedHooks = hooks;
74
- }
75
- else {
76
- delete block.installedHooks;
77
- }
78
- writeLocal(projectDir, local);
79
- }
80
39
  function registerInstalledHook(projectDir, settingsPath) {
81
40
  const abs = path.resolve(settingsPath);
82
41
  const installed = new Set(getInstalledHooks(projectDir));
@@ -92,8 +51,9 @@ function unregisterInstalledHook(projectDir, settingsPath) {
92
51
  }
93
52
  /**
94
53
  * Install the ue-mcp PostToolUse hook into a Claude Code settings.json. If
95
- * `projectDir` is supplied, the settings path is also recorded in the
96
- * project's ue-mcp.local.yml installedHooks registry.
54
+ * `projectDir` is supplied, the settings path is also recorded in
55
+ * `~/.ue-mcp/state.json` under this project's entry so uninstall can find
56
+ * every site later.
97
57
  */
98
58
  export function installClaudeHooks(settingsPath, projectDir) {
99
59
  const settings = readSettings(settingsPath);
@@ -142,9 +102,10 @@ export function uninstallClaudeHooks(settingsPath, projectDir) {
142
102
  return removed;
143
103
  }
144
104
  /**
145
- * Uninstall the hook from every path recorded in ue-mcp.local.yml's
146
- * `ue-mcp.installedHooks[]`. Used by `npx ue-mcp uninstall-hooks` and by
147
- * init when the user disables feedback or opts out of the prompt checkbox.
105
+ * Uninstall the hook from every path recorded in `~/.ue-mcp/state.json`'s
106
+ * `projects[<root>].installedHooks[]`. Used by `npx ue-mcp uninstall-hooks`
107
+ * and by init when the user disables feedback or opts out of the prompt
108
+ * checkbox.
148
109
  */
149
110
  export function uninstallAllRegisteredHooks(projectDir) {
150
111
  const paths = getInstalledHooks(projectDir);
@@ -1 +1 @@
1
- {"version":3,"file":"hook-installer.js","sourceRoot":"","sources":["../src/hook-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-installer.js","sourceRoot":"","sources":["../src/hook-installer.ts"],"names":[],"mappings":"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"}
package/dist/init.js CHANGED
@@ -3,6 +3,7 @@ import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
4
  import * as readline from "node:readline";
5
5
  import yaml from "js-yaml";
6
+ import { dumpYaml } from "./yaml-dump.js";
6
7
  import { ProjectContext } from "./project.js";
7
8
  import { deploy } from "./deployer.js";
8
9
  import { installSkills, uninstallSkills } from "./skills.js";
@@ -11,6 +12,7 @@ import { BOLD, CYAN, DIM, GREEN, RED, RESET, fail, info, ok, warn } from "./ui/a
11
12
  import { checkboxSelect } from "./ui/select.js";
12
13
  import { installClaudeHooks, uninstallClaudeHooks } from "./hook-installer.js";
13
14
  import { runFeedbackAuthStep } from "./auth-cli.js";
15
+ import { getInstalledHooks } from "./user-state.js";
14
16
  const CATEGORIES = [
15
17
  { name: "project", label: "project", alwaysOn: true },
16
18
  { name: "editor", label: "editor", alwaysOn: true },
@@ -142,43 +144,7 @@ function writeProjectConfig(projectDir, disabled) {
142
144
  existing.tasks = {};
143
145
  if (!("flows" in existing))
144
146
  existing.flows = {};
145
- fs.writeFileSync(configPath, yaml.dump(existing, { indent: 2 }), "utf-8");
146
- }
147
- /**
148
- * Make sure ue-mcp.local.yml is gitignored on a best-effort basis. Only
149
- * touches .gitignore if the project is inside a git repo (we check for
150
- * a .git directory walking up). Idempotent: if the entry is already
151
- * present, no-op.
152
- */
153
- function ensureLocalYmlGitignored(projectDir) {
154
- // Find the enclosing git repo by walking up; ignore if none found.
155
- let gitRoot = null;
156
- let dir = projectDir;
157
- for (let i = 0; i < 32; i++) {
158
- if (fs.existsSync(path.join(dir, ".git"))) {
159
- gitRoot = dir;
160
- break;
161
- }
162
- const parent = path.dirname(dir);
163
- if (parent === dir)
164
- break;
165
- dir = parent;
166
- }
167
- if (!gitRoot)
168
- return;
169
- // Choose the closest .gitignore: prefer one at the project root, fall back
170
- // to the git root.
171
- const candidates = [path.join(projectDir, ".gitignore"), path.join(gitRoot, ".gitignore")];
172
- const target = candidates.find((c) => fs.existsSync(c)) ?? candidates[0];
173
- let content = "";
174
- if (fs.existsSync(target))
175
- content = fs.readFileSync(target, "utf-8");
176
- // Match either bare "ue-mcp.local.yml" or with a leading "/" path anchor.
177
- const present = /^\s*\/?ue-mcp\.local\.ya?ml\s*$/m.test(content);
178
- if (present)
179
- return;
180
- const needsLeadingNewline = content.length > 0 && !content.endsWith("\n");
181
- fs.writeFileSync(target, `${content}${needsLeadingNewline ? "\n" : ""}ue-mcp.local.yml\n`, "utf-8");
147
+ fs.writeFileSync(configPath, dumpYaml(existing), "utf-8");
182
148
  }
183
149
  /* ------------------------------------------------------------------ */
184
150
  /* Plugin enablement */
@@ -416,7 +382,7 @@ async function init() {
416
382
  // who blasts through with Enter gets nothing added — no tool registered,
417
383
  // no hook installed, no skill files copied. Re-init preserves prior
418
384
  // choices by reading state from ue-mcp.yml (categories) +
419
- // ue-mcp.local.yml (installedHooks) and the filesystem (skills directory).
385
+ // ~/.ue-mcp/state.json (installedHooks) and the filesystem (skills directory).
420
386
  const configuredClaudeCode = detected.some((c, i) => c.name.startsWith("Claude Code") && clientStates[i]);
421
387
  console.log("");
422
388
  // ue-mcp.yml existing means init has been run before in this project
@@ -440,7 +406,9 @@ async function init() {
440
406
  // installs, unchecking uninstalls (symmetric paths below), so a stale
441
407
  // default would silently un-do whatever the last init produced.
442
408
  const claudeSettingsPathForSeed = path.join(project.projectDir, ".claude", "settings.json");
443
- const installedHookSites = new Set((project.config.installedHooks ?? []).map((p) => path.resolve(p)));
409
+ // Hook install registry lives in ~/.ue-mcp/state.json keyed by
410
+ // project root, not in project.config.
411
+ const installedHookSites = new Set(getInstalledHooks(project.projectDir).map((p) => path.resolve(p)));
444
412
  const hookCurrentlyInstalled = installedHookSites.has(path.resolve(claudeSettingsPathForSeed));
445
413
  const skillsDir = path.join(project.projectDir, ".claude", "skills");
446
414
  const skillsCurrentlyInstalled = fs.existsSync(skillsDir) && fs.readdirSync(skillsDir).length > 0;
@@ -518,10 +486,6 @@ async function init() {
518
486
  writeProjectConfig(project.projectDir, disabled);
519
487
  ok("ue-mcp.yml written");
520
488
  wrote.push({ what: "tool surface + content roots", where: ueMcpYmlPath });
521
- // Best-effort: add ue-mcp.local.yml to .gitignore if this project lives
522
- // in a git repo. The local file holds user-machine-specific state
523
- // (installed hook paths) and shouldn't be tracked.
524
- ensureLocalYmlGitignored(project.projectDir);
525
489
  // 11. Done — recap what landed where so the user can find / undo anything.
526
490
  console.log("");
527
491
  console.log(` ${BOLD}${GREEN}Setup complete!${RESET}`);
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/project.d.ts CHANGED
@@ -16,10 +16,6 @@ export interface UeMcpConfig {
16
16
  /** Override bind host. Defaults to 127.0.0.1 — do not expose externally. */
17
17
  host?: string;
18
18
  };
19
- /** Absolute paths to Claude Code settings.json files where the ue-mcp
20
- * PostToolUse hook was installed. Maintained by the installer in
21
- * src/hook-installer.ts so uninstall can reach every site. */
22
- installedHooks?: string[];
23
19
  /** Feedback flow behavior. */
24
20
  feedback?: {
25
21
  mode?: "interactive" | "auto-approve" | "defer";
package/dist/project.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
3
  import yaml from "js-yaml";
4
+ import { dumpYaml } from "./yaml-dump.js";
4
5
  import { McpError, ErrorCode } from "./errors.js";
5
6
  import { info, warn } from "./log.js";
6
7
  import { UProjectSchema, UeMcpConfigSchema } from "./schemas.js";
7
8
  import { findEngineInstall } from "./deployer.js";
9
+ import { setInstalledHooks } from "./user-state.js";
8
10
  export class ProjectContext {
9
11
  projectPath = null;
10
12
  projectName = null;
@@ -189,26 +191,21 @@ export class ProjectContext {
189
191
  loadConfig() {
190
192
  if (!this.projectDir)
191
193
  return;
192
- // One-time migration: if a legacy .ue-mcp.json sits alongside ue-mcp.yml,
193
- // split its fields into ue-mcp.yml (tracked) + ue-mcp.local.yml
194
- // (gitignored) and remove it. Idempotent; no-op once migrated.
194
+ // One-time migrations:
195
+ // - .ue-mcp.json (pre-1.0.29) ue-mcp.yml + ~/.ue-mcp/state.json
196
+ // - ue-mcp.local.yml (1.0.29 only) ~/.ue-mcp/state.json
197
+ // Both are idempotent no-ops once migrated.
195
198
  migrateLegacyJsonConfig(this.projectDir);
196
- // Read the `ue-mcp:` block from both files and merge local on top of yml.
197
- const main = readUeMcpBlock(path.join(this.projectDir, "ue-mcp.yml"));
198
- const local = readUeMcpBlock(path.join(this.projectDir, "ue-mcp.local.yml"));
199
- const merged = { ...main, ...local };
200
- if (local.installedHooks !== undefined && main.installedHooks !== undefined) {
201
- // If both files happen to list installedHooks, the local wins
202
- // (already handled by the spread above). Just being explicit.
203
- }
204
- const parsed = UeMcpConfigSchema.safeParse(merged);
199
+ migrateLegacyLocalYaml(this.projectDir);
200
+ const block = readUeMcpBlock(path.join(this.projectDir, "ue-mcp.yml"));
201
+ const parsed = UeMcpConfigSchema.safeParse(block);
205
202
  if (!parsed.success) {
206
- warn("project", `ue-mcp.yml / ue-mcp.local.yml ue-mcp: block did not match expected shape - using defaults`, parsed.error);
203
+ warn("project", `ue-mcp.yml ue-mcp: block did not match expected shape - using defaults`, parsed.error);
207
204
  return;
208
205
  }
209
206
  this.config = parsed.data;
210
- if (Object.keys(merged).length > 0) {
211
- info("project", `loaded config from ue-mcp.yml${local.installedHooks ? " + ue-mcp.local.yml" : ""}`);
207
+ if (Object.keys(block).length > 0) {
208
+ info("project", `loaded config from ue-mcp.yml`);
212
209
  }
213
210
  }
214
211
  }
@@ -231,11 +228,12 @@ function readUeMcpBlock(filePath) {
231
228
  }
232
229
  }
233
230
  /**
234
- * Migrate a legacy .ue-mcp.json into ue-mcp.yml + ue-mcp.local.yml. Project-
235
- * level fields land in ue-mcp.yml's `ue-mcp:` block (merging with any existing
236
- * fields); `installedHooks` lands in ue-mcp.local.yml's `ue-mcp:` block.
237
- * Deletes the JSON after a successful migration. Idempotent: no-op when the
238
- * JSON file is absent.
231
+ * Migrate a legacy .ue-mcp.json (pre-1.0.29) into ue-mcp.yml +
232
+ * ~/.ue-mcp/state.json. Project-level fields land in ue-mcp.yml's
233
+ * `ue-mcp:` block (merging with any existing fields); `installedHooks`
234
+ * goes into the user-state file keyed by absolute project root. Deletes
235
+ * the JSON after a successful migration. Idempotent: no-op when the JSON
236
+ * file is absent.
239
237
  */
240
238
  function migrateLegacyJsonConfig(projectDir) {
241
239
  const jsonPath = path.join(projectDir, ".ue-mcp.json");
@@ -250,11 +248,8 @@ function migrateLegacyJsonConfig(projectDir) {
250
248
  return;
251
249
  }
252
250
  const ymlPath = path.join(projectDir, "ue-mcp.yml");
253
- const localPath = path.join(projectDir, "ue-mcp.local.yml");
254
- // Split fields: installedHooks is user-local, everything else is project.
255
251
  const { installedHooks, ...tracked } = legacy;
256
- // Write the tracked fields into ue-mcp.yml's `ue-mcp:` block. Preserve
257
- // anything already in the YAML (version, plugins, tasks, flows, etc).
252
+ // Tracked fields ue-mcp.yml's `ue-mcp:` block.
258
253
  if (Object.keys(tracked).length > 0) {
259
254
  let existing = {};
260
255
  if (fs.existsSync(ymlPath)) {
@@ -262,34 +257,52 @@ function migrateLegacyJsonConfig(projectDir) {
262
257
  existing = yaml.load(fs.readFileSync(ymlPath, "utf-8")) ?? {};
263
258
  }
264
259
  catch {
265
- // Couldn't parse — leave the existing file alone, scaffold next to it.
266
260
  existing = {};
267
261
  }
268
262
  }
269
263
  const existingBlock = existing["ue-mcp"] ?? {};
270
264
  existing["ue-mcp"] = { version: 1, ...existingBlock, ...tracked };
271
- fs.writeFileSync(ymlPath, yaml.dump(existing, { indent: 2 }), "utf-8");
265
+ fs.writeFileSync(ymlPath, dumpYaml(existing), "utf-8");
272
266
  }
273
- if (installedHooks && installedHooks.length > 0) {
274
- let existingLocal = {};
275
- if (fs.existsSync(localPath)) {
276
- try {
277
- existingLocal = yaml.load(fs.readFileSync(localPath, "utf-8")) ?? {};
278
- }
279
- catch {
280
- existingLocal = {};
281
- }
282
- }
283
- const existingLocalBlock = existingLocal["ue-mcp"] ?? {};
284
- existingLocal["ue-mcp"] = { ...existingLocalBlock, installedHooks };
285
- fs.writeFileSync(localPath, yaml.dump(existingLocal, { indent: 2 }), "utf-8");
267
+ // installedHooks ~/.ue-mcp/state.json under this project's key.
268
+ if (Array.isArray(installedHooks) && installedHooks.length > 0) {
269
+ setInstalledHooks(projectDir, installedHooks);
286
270
  }
287
271
  try {
288
272
  fs.unlinkSync(jsonPath);
289
- info("project", `migrated legacy .ue-mcp.json → ue-mcp.yml${installedHooks?.length ? " + ue-mcp.local.yml" : ""}`);
273
+ info("project", `migrated legacy .ue-mcp.json → ue-mcp.yml${installedHooks?.length ? " + ~/.ue-mcp/state.json" : ""}`);
274
+ }
275
+ catch (e) {
276
+ warn("project", `migration wrote new files but couldn't delete .ue-mcp.json - remove it manually`, e);
277
+ }
278
+ }
279
+ /**
280
+ * Migrate a ue-mcp.local.yml (only created by the brief 1.0.29 release)
281
+ * into ~/.ue-mcp/state.json. Idempotent: no-op when absent.
282
+ */
283
+ function migrateLegacyLocalYaml(projectDir) {
284
+ const localPath = path.join(projectDir, "ue-mcp.local.yml");
285
+ if (!fs.existsSync(localPath))
286
+ return;
287
+ let doc = {};
288
+ try {
289
+ doc = yaml.load(fs.readFileSync(localPath, "utf-8")) ?? {};
290
+ }
291
+ catch (e) {
292
+ warn("project", `ue-mcp.local.yml failed to parse during migration - leaving in place`, e);
293
+ return;
294
+ }
295
+ const block = doc["ue-mcp"] ?? {};
296
+ const installedHooks = block.installedHooks;
297
+ if (Array.isArray(installedHooks) && installedHooks.length > 0) {
298
+ setInstalledHooks(projectDir, installedHooks);
299
+ }
300
+ try {
301
+ fs.unlinkSync(localPath);
302
+ info("project", `migrated ue-mcp.local.yml → ~/.ue-mcp/state.json`);
290
303
  }
291
304
  catch (e) {
292
- warn("project", `migration wrote new YAML files but couldn't delete .ue-mcp.json - remove it manually`, e);
305
+ warn("project", `couldn't delete ue-mcp.local.yml after migration - remove it manually`, e);
293
306
  }
294
307
  }
295
308
  function isGamePath(p) {
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -111,10 +111,6 @@ export declare const UeMcpConfigSchema: z.ZodObject<{
111
111
  port?: number | undefined;
112
112
  host?: string | undefined;
113
113
  }>>;
114
- /** Absolute paths to Claude Code settings.json files where the ue-mcp
115
- * PostToolUse hook was installed. Used to symmetrically uninstall when
116
- * feedback is disabled or the user opts out of agent prompts. */
117
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
118
114
  /** Feedback flow behavior. Default "interactive" runs the MCP
119
115
  * elicitation approval prompt. "auto-approve" posts immediately
120
116
  * without prompting (still scrubbed). "defer" writes the scrubbed
@@ -144,10 +140,6 @@ export declare const UeMcpConfigSchema: z.ZodObject<{
144
140
  port?: number | undefined;
145
141
  host?: string | undefined;
146
142
  }>>;
147
- /** Absolute paths to Claude Code settings.json files where the ue-mcp
148
- * PostToolUse hook was installed. Used to symmetrically uninstall when
149
- * feedback is disabled or the user opts out of agent prompts. */
150
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
151
143
  /** Feedback flow behavior. Default "interactive" runs the MCP
152
144
  * elicitation approval prompt. "auto-approve" posts immediately
153
145
  * without prompting (still scrubbed). "defer" writes the scrubbed
@@ -177,10 +169,6 @@ export declare const UeMcpConfigSchema: z.ZodObject<{
177
169
  port?: number | undefined;
178
170
  host?: string | undefined;
179
171
  }>>;
180
- /** Absolute paths to Claude Code settings.json files where the ue-mcp
181
- * PostToolUse hook was installed. Used to symmetrically uninstall when
182
- * feedback is disabled or the user opts out of agent prompts. */
183
- installedHooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
184
172
  /** Feedback flow behavior. Default "interactive" runs the MCP
185
173
  * elicitation approval prompt. "auto-approve" posts immediately
186
174
  * without prompting (still scrubbed). "defer" writes the scrubbed
package/dist/schemas.js CHANGED
@@ -31,10 +31,6 @@ export const UeMcpConfigSchema = z
31
31
  host: z.string().optional(),
32
32
  })
33
33
  .optional(),
34
- /** Absolute paths to Claude Code settings.json files where the ue-mcp
35
- * PostToolUse hook was installed. Used to symmetrically uninstall when
36
- * feedback is disabled or the user opts out of agent prompts. */
37
- installedHooks: z.array(z.string()).optional(),
38
34
  /** Feedback flow behavior. Default "interactive" runs the MCP
39
35
  * elicitation approval prompt. "auto-approve" posts immediately
40
36
  * without prompting (still scrubbed). "defer" writes the scrubbed
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,6 @@
26
26
  "statetree": 35,
27
27
  "plugins": 2
28
28
  },
29
- "generatedAt": "2026-05-21T04:07:53.426Z",
30
- "version": "1.0.29"
29
+ "generatedAt": "2026-05-21T04:28:48.314Z",
30
+ "version": "1.0.31"
31
31
  }
@@ -2,8 +2,9 @@
2
2
  /**
3
3
  * `npx ue-mcp uninstall-hooks` — manual escape hatch.
4
4
  *
5
- * Reads `installedHooks[]` from ue-mcp.local.yml in cwd (or a path passed
6
- * as argv[2]), removes the ue-mcp PostToolUse matcher from each, and clears
7
- * the registry.
5
+ * Walks up from cwd (or a path passed as argv[2]) to find the project
6
+ * root via `ue-mcp.yml`, reads `installedHooks` for that project from
7
+ * `~/.ue-mcp/state.json`, removes the ue-mcp PostToolUse matcher from
8
+ * each settings file, and clears the registry entry.
8
9
  */
9
10
  export {};
@@ -2,9 +2,10 @@
2
2
  /**
3
3
  * `npx ue-mcp uninstall-hooks` — manual escape hatch.
4
4
  *
5
- * Reads `installedHooks[]` from ue-mcp.local.yml in cwd (or a path passed
6
- * as argv[2]), removes the ue-mcp PostToolUse matcher from each, and clears
7
- * the registry.
5
+ * Walks up from cwd (or a path passed as argv[2]) to find the project
6
+ * root via `ue-mcp.yml`, reads `installedHooks` for that project from
7
+ * `~/.ue-mcp/state.json`, removes the ue-mcp PostToolUse matcher from
8
+ * each settings file, and clears the registry entry.
8
9
  */
9
10
  import * as fs from "node:fs";
10
11
  import * as path from "node:path";
@@ -21,14 +22,11 @@ function resolveProjectDir() {
21
22
  }
22
23
  return path.resolve(arg);
23
24
  }
24
- // Walk up from cwd looking for a ue-mcp project (either YAML file is a
25
- // signal that we're in a configured project root).
25
+ // Walk up from cwd looking for a ue-mcp.yml (the project root signal).
26
26
  let dir = process.cwd();
27
27
  for (let i = 0; i < 32; i++) {
28
- if (fs.existsSync(path.join(dir, "ue-mcp.yml")) ||
29
- fs.existsSync(path.join(dir, "ue-mcp.local.yml"))) {
28
+ if (fs.existsSync(path.join(dir, "ue-mcp.yml")))
30
29
  return dir;
31
- }
32
30
  const parent = path.dirname(dir);
33
31
  if (parent === dir)
34
32
  break;
@@ -48,7 +46,7 @@ function main() {
48
46
  }
49
47
  const result = uninstallAllRegisteredHooks(projectDir);
50
48
  if (result.removed.length === 0 && result.skipped.length === 0) {
51
- info("No installed hooks found in ue-mcp.local.yml. Nothing to remove.");
49
+ info("No installed hooks recorded in ~/.ue-mcp/state.json. Nothing to remove.");
52
50
  }
53
51
  for (const p of result.removed) {
54
52
  ok(`Removed hook from ${p}`);
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-hooks.js","sourceRoot":"","sources":["../src/uninstall-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall-hooks.js","sourceRoot":"","sources":["../src/uninstall-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function getInstalledHooks(projectRoot: string): string[];
2
+ export declare function setInstalledHooks(projectRoot: string, hooks: string[]): void;
3
+ export declare function getUserStatePath(): string;
@@ -0,0 +1,73 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import * as os from "node:os";
4
+ function statePath() {
5
+ return (process.env.UE_MCP_USER_STATE ||
6
+ path.join(os.homedir(), ".ue-mcp", "state.json"));
7
+ }
8
+ function readState() {
9
+ const file = statePath();
10
+ if (!fs.existsSync(file))
11
+ return {};
12
+ try {
13
+ return JSON.parse(fs.readFileSync(file, "utf-8"));
14
+ }
15
+ catch {
16
+ return {};
17
+ }
18
+ }
19
+ function writeState(state) {
20
+ const file = statePath();
21
+ // Drop empty containers so the file shrinks toward {} as state clears.
22
+ if (state.projects) {
23
+ for (const key of Object.keys(state.projects)) {
24
+ const proj = state.projects[key];
25
+ if (proj.installedHooks !== undefined &&
26
+ proj.installedHooks.length === 0) {
27
+ delete proj.installedHooks;
28
+ }
29
+ if (Object.keys(proj).length === 0) {
30
+ delete state.projects[key];
31
+ }
32
+ }
33
+ if (Object.keys(state.projects).length === 0) {
34
+ delete state.projects;
35
+ }
36
+ }
37
+ // No state at all → delete the file rather than leave an empty stub.
38
+ if (Object.keys(state).length === 0) {
39
+ if (fs.existsSync(file))
40
+ fs.unlinkSync(file);
41
+ return;
42
+ }
43
+ const dir = path.dirname(file);
44
+ if (!fs.existsSync(dir))
45
+ fs.mkdirSync(dir, { recursive: true });
46
+ fs.writeFileSync(file, JSON.stringify(state, null, 2), { mode: 0o600 });
47
+ }
48
+ function projectKey(projectRoot) {
49
+ return path.resolve(projectRoot);
50
+ }
51
+ export function getInstalledHooks(projectRoot) {
52
+ const state = readState();
53
+ return state.projects?.[projectKey(projectRoot)]?.installedHooks ?? [];
54
+ }
55
+ export function setInstalledHooks(projectRoot, hooks) {
56
+ const state = readState();
57
+ const key = projectKey(projectRoot);
58
+ if (!state.projects)
59
+ state.projects = {};
60
+ if (!state.projects[key])
61
+ state.projects[key] = {};
62
+ if (hooks.length > 0) {
63
+ state.projects[key].installedHooks = hooks;
64
+ }
65
+ else {
66
+ delete state.projects[key].installedHooks;
67
+ }
68
+ writeState(state);
69
+ }
70
+ export function getUserStatePath() {
71
+ return statePath();
72
+ }
73
+ //# sourceMappingURL=user-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-state.js","sourceRoot":"","sources":["../src/user-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Dump a JS object to YAML preserving the ue-mcp.yml convention of unquoted
3
+ * integer keys (e.g. flow step ordering: `1:`, `2:`, `3:`).
4
+ *
5
+ * Background: JavaScript object keys are always strings. When js-yaml reads
6
+ *
7
+ * steps:
8
+ * 1: ...
9
+ * 2: ...
10
+ *
11
+ * the integer keys become string keys "1", "2" in JS. On dump, js-yaml then
12
+ * quotes them as `'1':`, `'2':` so YAML would parse them back as strings,
13
+ * preserving the JS round-trip. But the flowkit step convention is unquoted
14
+ * integer keys, so the round-trip damages user-authored files.
15
+ *
16
+ * Fix: after dump, unquote any line where the key is a pure-integer string
17
+ * (with optional list-item bullet). Pattern is narrow enough to avoid
18
+ * collateral damage on values; matches only at line-start, after optional
19
+ * leading whitespace and an optional `- ` list bullet.
20
+ *
21
+ * Caveat: if a user genuinely wants a string-typed key like `'1':`, this
22
+ * round-trip will rewrite it to `1:`. In ue-mcp.yml the convention is
23
+ * integer keys, so this is the right trade-off.
24
+ */
25
+ export declare function dumpYaml(obj: unknown): string;
@@ -0,0 +1,30 @@
1
+ import yaml from "js-yaml";
2
+ /**
3
+ * Dump a JS object to YAML preserving the ue-mcp.yml convention of unquoted
4
+ * integer keys (e.g. flow step ordering: `1:`, `2:`, `3:`).
5
+ *
6
+ * Background: JavaScript object keys are always strings. When js-yaml reads
7
+ *
8
+ * steps:
9
+ * 1: ...
10
+ * 2: ...
11
+ *
12
+ * the integer keys become string keys "1", "2" in JS. On dump, js-yaml then
13
+ * quotes them as `'1':`, `'2':` so YAML would parse them back as strings,
14
+ * preserving the JS round-trip. But the flowkit step convention is unquoted
15
+ * integer keys, so the round-trip damages user-authored files.
16
+ *
17
+ * Fix: after dump, unquote any line where the key is a pure-integer string
18
+ * (with optional list-item bullet). Pattern is narrow enough to avoid
19
+ * collateral damage on values; matches only at line-start, after optional
20
+ * leading whitespace and an optional `- ` list bullet.
21
+ *
22
+ * Caveat: if a user genuinely wants a string-typed key like `'1':`, this
23
+ * round-trip will rewrite it to `1:`. In ue-mcp.yml the convention is
24
+ * integer keys, so this is the right trade-off.
25
+ */
26
+ export function dumpYaml(obj) {
27
+ const raw = yaml.dump(obj, { indent: 2 });
28
+ return raw.replace(/^(\s*(?:-\s+)?)'(\d+)':/gm, "$1$2:");
29
+ }
30
+ //# sourceMappingURL=yaml-dump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-dump.js","sourceRoot":"","sources":["../src/yaml-dump.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ue-mcp",
3
- "version": "1.0.29",
3
+ "version": "1.0.31",
4
4
  "description": "Unreal Engine MCP server - 21 tools, 524+ actions for AI-driven editor control",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",