ue-mcp 1.1.35 → 1.1.36

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 (84) hide show
  1. package/README.md +7 -5
  2. package/dist/editor-control.d.ts +1 -1
  3. package/dist/editor-control.js +76 -32
  4. package/dist/editor-control.js.map +1 -1
  5. package/dist/flow/bridge-task.js +8 -14
  6. package/dist/flow/bridge-task.js.map +1 -1
  7. package/dist/flow/flow-tool.js +10 -1
  8. package/dist/flow/flow-tool.js.map +1 -1
  9. package/dist/flow/rollback.d.ts +16 -0
  10. package/dist/flow/rollback.js +26 -0
  11. package/dist/flow/rollback.js.map +1 -0
  12. package/dist/flow/task-factory.js +21 -7
  13. package/dist/flow/task-factory.js.map +1 -1
  14. package/dist/index.js +9 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/plugin-freshness.d.ts +17 -0
  17. package/dist/plugin-freshness.js +170 -0
  18. package/dist/plugin-freshness.js.map +1 -0
  19. package/dist/tool-counts.json +9 -9
  20. package/dist/tools/animation.js +9 -3
  21. package/dist/tools/animation.js.map +1 -1
  22. package/dist/tools/asset.js +5 -4
  23. package/dist/tools/asset.js.map +1 -1
  24. package/dist/tools/blueprint.js +19 -8
  25. package/dist/tools/blueprint.js.map +1 -1
  26. package/dist/tools/chooser.js +11 -0
  27. package/dist/tools/chooser.js.map +1 -1
  28. package/dist/tools/editor.js +35 -17
  29. package/dist/tools/editor.js.map +1 -1
  30. package/dist/tools/feedback.js +37 -0
  31. package/dist/tools/feedback.js.map +1 -1
  32. package/dist/tools/gameplay.js +22 -16
  33. package/dist/tools/gameplay.js.map +1 -1
  34. package/dist/tools/landscape.js +11 -2
  35. package/dist/tools/landscape.js.map +1 -1
  36. package/dist/tools/level.js +31 -16
  37. package/dist/tools/level.js.map +1 -1
  38. package/dist/tools/networking.js +8 -2
  39. package/dist/tools/networking.js.map +1 -1
  40. package/dist/tools/niagara.js +68 -5
  41. package/dist/tools/niagara.js.map +1 -1
  42. package/dist/tools/pcg.js +1 -1
  43. package/dist/tools/pcg.js.map +1 -1
  44. package/dist/tools/project.js +8 -1
  45. package/dist/tools/project.js.map +1 -1
  46. package/dist/tools/reflection.js +1 -1
  47. package/dist/tools/reflection.js.map +1 -1
  48. package/dist/ue-mcp.default.yml +108 -42
  49. package/package.json +3 -3
  50. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers.cpp +1 -0
  51. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers.h +2 -0
  52. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_ControlRig.cpp +226 -0
  53. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_MotionMatching.cpp +11 -2
  54. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_StateMachine.cpp +24 -0
  55. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers.cpp +149 -6
  56. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers.cpp +74 -3
  57. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_Graph.cpp +44 -8
  58. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_Properties.cpp +153 -38
  59. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/ChooserHandlers.cpp +2 -0
  60. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/ChooserHandlers.h +3 -0
  61. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/ChooserHandlers_Nested.cpp +537 -0
  62. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/DemoHandlers.cpp +6 -1
  63. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/EditorHandlers.cpp +148 -24
  64. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/EditorHandlers.h +7 -2
  65. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/EditorHandlers_PIE.cpp +48 -82
  66. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/EditorHandlers_PIERuntime.cpp +831 -0
  67. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.cpp +335 -27
  68. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.h +2 -1
  69. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_Input.cpp +0 -61
  70. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_InputRuntime.cpp +246 -0
  71. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LandscapeHandlers.cpp +35 -6
  72. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LandscapeHandlers.h +4 -0
  73. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LandscapeHandlers_Sculpt.cpp +449 -0
  74. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers.cpp +188 -39
  75. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers.h +6 -0
  76. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers_Lights.cpp +1 -1
  77. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers_WorldPartition.cpp +372 -0
  78. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/NiagaraHandlers.cpp +202 -9
  79. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PhysicsHandlers.cpp +1 -1
  80. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/ReflectionHandlers.cpp +68 -3
  81. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SequencerHandlers.cpp +56 -16
  82. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SplineHandlers.cpp +1 -1
  83. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Public/HandlerUtils.h +53 -3
  84. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/UE_MCP_Bridge.Build.cs +2 -0
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![stars](https://img.shields.io/github/stars/db-lyon/ue-mcp)](https://github.com/db-lyon/ue-mcp/stargazers)
6
6
  [![MIT](https://img.shields.io/npm/l/ue-mcp)](LICENSE)
7
7
 
8
- **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->24<!-- /count --> category tools covering <!-- count:actions -->744+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
8
+ **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->24<!-- /count --> category tools covering <!-- count:actions -->757+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
9
9
 
10
10
  On UE 5.8+ it also wraps Epic's entire native AI Toolset Registry - 830 official Unreal tools, called in-process and surfaced as `epic_*` actions in the matching category: Sequencer in `animation`, PCG in `pcg`, static meshes in `asset`.
11
11
 
@@ -90,7 +90,7 @@ Nothing is pre-authored. Every asset in the scene is created by the agent at run
90
90
  | **Assets** | CRUD, import meshes/textures/animations, datatables, mesh bounds/collision/nav |
91
91
  | **Animation** | Anim blueprints, montages, blendspaces, skeletons |
92
92
  | **VFX** | Niagara systems, emitters, modules, renderers, parameters |
93
- | **Landscape** | Sculpt terrain, paint layers, import heightmaps |
93
+ | **Landscape** | Sculpt terrain, paint weight layers, materials, splines, proxies |
94
94
  | **Foliage** | Painting, foliage types, instance queries |
95
95
  | **PCG** | Author and execute Procedural Content Generation graphs |
96
96
  | **Audio** | SoundCues, MetaSounds, attenuation, ambient audio, submixes |
@@ -137,7 +137,7 @@ flows:
137
137
  flow(action="run", flowName="build_and_check")
138
138
  ```
139
139
 
140
- Every one of the <!-- count:actions -->744+<!-- /count --> actions is also a flow task. Flows support step references, retries, rollback, custom tasks in your own `.js`/`.ts`, and shell steps. See [Flows](https://ue-mcp.com/docs/flows/).
140
+ Every one of the <!-- count:actions -->757+<!-- /count --> actions is also a flow task. Flows support step references, retries, rollback, custom tasks in your own `.js`/`.ts`, and shell steps. See [Flows](https://ue-mcp.com/docs/flows/).
141
141
 
142
142
  ## Plugins
143
143
 
@@ -176,10 +176,12 @@ Details: [Guards](https://ue-mcp.com/docs/plugins-guards/) and [Handler Conventi
176
176
 
177
177
  | | |
178
178
  |---|---|
179
- | **Unreal Engine** | 5.4-5.8 (Windows), 5.6+ (Linux). `epic` category needs 5.8+. |
179
+ | **Unreal Engine** | 5.4-5.8 (Windows), 5.6+ (Linux and macOS). `epic` category needs 5.8+. |
180
180
  | **Node.js** | 18 or newer |
181
181
  | **UE plugins** | `PythonScriptPlugin` (ships with the engine); `init` enables the rest for you |
182
- | **C++ toolchain** | Required - the bridge is a C++ plugin and compiles on first editor launch. On Windows that means Visual Studio with the C++ workload. |
182
+ | **C++ toolchain** | Required - the bridge is a C++ plugin and compiles on first editor launch. On Windows that means Visual Studio with the C++ workload; on macOS, Xcode command line tools. |
183
+
184
+ Editor process control (`editor(start_editor)` / `stop_editor` / `restart_editor`) works on Windows, macOS and Linux. Set `UE_EDITOR_PATH` if the engine is installed somewhere non-standard.
183
185
 
184
186
  ## Documentation
185
187
 
@@ -1,5 +1,5 @@
1
1
  import type { ProjectContext } from "./project.js";
2
- export declare function startEditor(project: ProjectContext): Promise<{
2
+ export declare function startEditor(project: ProjectContext, timeoutSeconds?: number): Promise<{
3
3
  success: boolean;
4
4
  message: string;
5
5
  }>;
@@ -4,10 +4,11 @@ import { spawn, execSync } from "child_process";
4
4
  import * as net from "net";
5
5
  import WebSocket from "ws";
6
6
  import { findEngineInstall } from "./deployer.js";
7
- // editor-control relies on Windows-only tools (tasklist/taskkill, Build.bat).
8
- // The MCP server itself is cross-platform; only process control is gated.
7
+ import { invalidatePluginFreshness } from "./plugin-freshness.js";
8
+ // Process control is cross-platform: the editor binary path and the running-
9
+ // process probe differ per OS, and stopping goes through the bridge (#790).
9
10
  const IS_WINDOWS = process.platform === "win32";
10
- const WINDOWS_ONLY_MSG = "editor start/stop/restart is Windows-only. On macOS/Linux, start and stop the Unreal Editor manually; ue-mcp will reconnect when the bridge is reachable.";
11
+ const NO_EDITOR_BINARY_MSG = "Unreal Editor executable not found. Set UE_EDITOR_PATH to the editor binary (on macOS that is inside UnrealEditor.app/Contents/MacOS/), or install the engine to a default location.";
11
12
  /** Read EngineAssociation from a .uproject, or null if unreadable. */
12
13
  function readEngineAssociation(projectPath) {
13
14
  try {
@@ -68,38 +69,60 @@ function findUEBuildTool(engineAssociation) {
68
69
  }
69
70
  return null;
70
71
  }
72
+ /**
73
+ * #766/#790: the editor binary lives at a different path per platform. Only the
74
+ * Win64 path was ever checked, which is the whole reason start_editor was
75
+ * Windows-only - engine discovery itself (findUEBuildTool) has always worked
76
+ * cross-platform. On macOS the launchable binary is inside the .app bundle.
77
+ */
78
+ function editorBinaryCandidates(engineRoot) {
79
+ const binaries = path.join(engineRoot, "Engine", "Binaries");
80
+ if (IS_WINDOWS) {
81
+ return [path.join(binaries, "Win64", "UnrealEditor.exe")];
82
+ }
83
+ if (process.platform === "darwin") {
84
+ return [
85
+ path.join(binaries, "Mac", "UnrealEditor.app", "Contents", "MacOS", "UnrealEditor"),
86
+ path.join(binaries, "Mac", "UnrealEditor"),
87
+ ];
88
+ }
89
+ return [path.join(binaries, "Linux", "UnrealEditor")];
90
+ }
71
91
  function findEditorExecutable(project) {
72
92
  const envPath = process.env.UE_EDITOR_PATH;
73
93
  if (envPath)
74
94
  return envPath;
75
95
  const associatedEngineRoot = findEngineInstall(project?.engineAssociation ?? null);
76
96
  if (associatedEngineRoot) {
77
- const associatedEditorExe = path.join(associatedEngineRoot, "Engine", "Binaries", "Win64", "UnrealEditor.exe");
78
- if (fs.existsSync(associatedEditorExe)) {
79
- return associatedEditorExe;
97
+ for (const candidate of editorBinaryCandidates(associatedEngineRoot)) {
98
+ if (fs.existsSync(candidate))
99
+ return candidate;
80
100
  }
81
101
  }
82
102
  const buildTool = findUEBuildTool(project?.engineAssociation ?? null);
83
103
  if (!buildTool)
84
104
  return null;
85
105
  const engineRoot = path.resolve(buildTool, "..", "..", "..", "..");
86
- const editorExe = path.join(engineRoot, "Engine", "Binaries", "Win64", "UnrealEditor.exe");
87
- if (fs.existsSync(editorExe)) {
88
- return editorExe;
106
+ for (const candidate of editorBinaryCandidates(engineRoot)) {
107
+ if (fs.existsSync(candidate))
108
+ return candidate;
89
109
  }
90
110
  return null;
91
111
  }
92
112
  function isEditorRunning() {
93
- if (!IS_WINDOWS)
94
- return false;
95
113
  try {
96
- // Use /NH (no header) and check output directly — avoids pipe/find issues
97
- const output = execSync('tasklist /NH /FI "IMAGENAME eq UnrealEditor.exe"', {
98
- stdio: "pipe",
99
- encoding: "utf-8",
100
- });
101
- // tasklist returns "INFO: No tasks..." when not found, or the process line when found
102
- return output.toLowerCase().includes("unrealeditor.exe");
114
+ if (IS_WINDOWS) {
115
+ // Use /NH (no header) and check output directly — avoids pipe/find issues
116
+ const output = execSync('tasklist /NH /FI "IMAGENAME eq UnrealEditor.exe"', {
117
+ stdio: "pipe",
118
+ encoding: "utf-8",
119
+ });
120
+ // tasklist returns "INFO: No tasks..." when not found, or the process line when found
121
+ return output.toLowerCase().includes("unrealeditor.exe");
122
+ }
123
+ // pgrep exits non-zero when nothing matches, which the catch handles.
124
+ const output = execSync("pgrep -f UnrealEditor", { stdio: "pipe", encoding: "utf-8" });
125
+ return output.trim().length > 0;
103
126
  }
104
127
  catch {
105
128
  return false;
@@ -134,20 +157,28 @@ async function isBridgeAvailable(host = process.env.UE_MCP_HOST ?? "127.0.0.1",
134
157
  socket.connect(port, host);
135
158
  });
136
159
  }
137
- async function waitForBridge(maxWaitSeconds = 120, checkIntervalMs = 2000) {
160
+ // #758: the readiness probe used to poll a hardcoded 9877 while the bridge
161
+ // binds a per-project port and publishes it to Saved/UE_MCP_Bridge/port.json.
162
+ // On any project not on the default port this waited out the whole timeout and
163
+ // reported failure even though the editor and bridge were up - which the very
164
+ // next tool call would then prove by succeeding immediately. The lockfile does
165
+ // not exist until the bridge starts, so the port must be re-read every poll
166
+ // rather than resolved once up front.
167
+ async function waitForBridge(projectDir, maxWaitSeconds = 120, checkIntervalMs = 2000) {
138
168
  const startTime = Date.now();
139
169
  const maxWaitMs = maxWaitSeconds * 1000;
140
170
  while (Date.now() - startTime < maxWaitMs) {
141
- if (await isBridgeAvailable()) {
171
+ if (await isBridgeAvailable(undefined, resolveBridgePort(projectDir))) {
142
172
  return true;
143
173
  }
144
174
  await new Promise((resolve) => setTimeout(resolve, checkIntervalMs));
145
175
  }
146
- return false;
176
+ // One last look before declaring failure: the bridge may have come up during
177
+ // the final sleep, and reporting "not available" for a bridge that is in fact
178
+ // serving sends the caller off debugging a problem that does not exist.
179
+ return isBridgeAvailable(undefined, resolveBridgePort(projectDir));
147
180
  }
148
- export async function startEditor(project) {
149
- if (!IS_WINDOWS)
150
- return { success: false, message: WINDOWS_ONLY_MSG };
181
+ export async function startEditor(project, timeoutSeconds = 120) {
151
182
  if (isEditorRunning()) {
152
183
  return { success: false, message: "Editor is already running" };
153
184
  }
@@ -155,7 +186,7 @@ export async function startEditor(project) {
155
186
  if (!editorExe) {
156
187
  return {
157
188
  success: false,
158
- message: "Unreal Editor executable not found. Set UE_EDITOR_PATH environment variable or install UE5.3+ to default location.",
189
+ message: NO_EDITOR_BINARY_MSG,
159
190
  };
160
191
  }
161
192
  if (!project.projectPath) {
@@ -168,11 +199,12 @@ export async function startEditor(project) {
168
199
  });
169
200
  editorProcess.unref();
170
201
  // Wait for bridge to become available (editor fully started)
171
- const bridgeAvailable = await waitForBridge(120, 2000);
202
+ const projectDir = path.dirname(project.projectPath);
203
+ const bridgeAvailable = await waitForBridge(projectDir, timeoutSeconds, 2000);
172
204
  if (!bridgeAvailable) {
173
205
  return {
174
206
  success: false,
175
- message: "Editor launched but bridge did not become available within 120 seconds. Editor may still be starting up.",
207
+ message: `Editor launched but bridge did not become available within ${timeoutSeconds} seconds (polled port ${resolveBridgePort(projectDir)}). Editor may still be starting up.`,
176
208
  };
177
209
  }
178
210
  return { success: true, message: `Editor launched and bridge available: ${editorExe}` };
@@ -244,8 +276,6 @@ function requestEditorSelfQuit(port) {
244
276
  */
245
277
  export async function stopEditor(force = false, projectDir) {
246
278
  void force;
247
- if (!IS_WINDOWS)
248
- return { success: false, message: WINDOWS_ONLY_MSG };
249
279
  const port = resolveBridgePort(projectDir);
250
280
  const bridgeUp = await isBridgeAvailable("127.0.0.1", port);
251
281
  if (!bridgeUp && !isEditorRunning()) {
@@ -321,16 +351,26 @@ export async function buildProject(projectPath, opts = {}) {
321
351
  const projectName = path.basename(resolvedPath, ".uproject");
322
352
  const target = `${projectName}Editor`;
323
353
  const platform = getPlatformString();
324
- const buildArgs = [target, platform, "Development", `-Project="${resolvedPath}"`, "-WaitMutex", "-FromMsBuild"];
354
+ // #740: the quotes around the project path are SHELL syntax, not part of the
355
+ // value. On Windows the args are joined into a single `cmd /c` string, so
356
+ // they are required. Off Windows the args go straight into argv with no shell
357
+ // to strip them, so UnrealBuildTool received a path containing literal quote
358
+ // characters and reported "Unable to find project file" for a file that was
359
+ // plainly there - while the same command pasted into a terminal worked,
360
+ // because the shell removed them first.
361
+ const commonArgs = [target, platform, "Development"];
362
+ const tailArgs = ["-WaitMutex", "-FromMsBuild"];
363
+ const windowsArgs = [...commonArgs, `-Project="${resolvedPath}"`, ...tailArgs];
364
+ const posixArgs = [...commonArgs, `-Project=${resolvedPath}`, ...tailArgs];
325
365
  return new Promise((resolve) => {
326
366
  let proc;
327
367
  if (IS_WINDOWS) {
328
368
  const quotedCommand = `"${buildTool}"`;
329
- const fullCommand = `cmd /c "${quotedCommand} ${buildArgs.join(" ")}"`;
369
+ const fullCommand = `cmd /c "${quotedCommand} ${windowsArgs.join(" ")}"`;
330
370
  proc = spawn(fullCommand, [], { shell: true, stdio: "pipe" });
331
371
  }
332
372
  else {
333
- proc = spawn(buildTool, buildArgs, { stdio: "pipe" });
373
+ proc = spawn(buildTool, posixArgs, { stdio: "pipe" });
334
374
  }
335
375
  const forward = (data) => {
336
376
  const text = data.toString();
@@ -344,6 +384,10 @@ export async function buildProject(projectPath, opts = {}) {
344
384
  if (proc.stderr)
345
385
  proc.stderr.on("data", forward);
346
386
  proc.on("close", (code) => {
387
+ // A build is the only event that can turn a "stale plugin" verdict fresh
388
+ // ahead of the cache TTL, so drop the cached answer here rather than
389
+ // making the next get_status report a binary that no longer exists.
390
+ invalidatePluginFreshness();
347
391
  resolve(code === 0
348
392
  ? { success: true, exitCode: 0, message: "Build succeeded" }
349
393
  : { success: false, exitCode: code, message: `Build failed with exit code ${code}` });
@@ -1 +1 @@
1
- {"version":3,"file":"editor-control.js","sourceRoot":"","sources":["../src/editor-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-control.js","sourceRoot":"","sources":["../src/editor-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEhD,MAAM,oBAAoB,GACxB,sLAAsL,CAAC;AAEzL,sEAAsE;AACtE,SAAS,qBAAqB,CAAC,WAAmB;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,OAAO,OAAO,MAAM,EAAE,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,iBAAiC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC/C,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzD,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC;IACpE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC9F,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,cAAc,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAa,UAAU;QACtC,CAAC,CAAC;YACE,6BAA6B;YAC7B,6BAA6B;YAC7B,6BAA6B;YAC7B,eAAe;YACf,eAAe;YACf,eAAe;SAChB;QACH,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAC9B,CAAC,CAAC;gBACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,cAAc,CAAC;gBACtD,mBAAmB;aACpB,CAAC;IAER,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YACxG,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QACjG,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,WAAW,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO;YACL,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwB;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC3C,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC,CAAC;IACnF,IAAI,oBAAoB,EAAE,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,sBAAsB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACrE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QACjD,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnE,KAAK,MAAM,SAAS,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,IAAI,UAAU,EAAE,CAAC;YACf,0EAA0E;YAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,kDAAkD,EAAE;gBAC1E,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,sFAAsF;YACtF,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC3D,CAAC;QACD,sEAAsE;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;IAC3G,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,sCAAsC;AACtC,KAAK,UAAU,aAAa,CAC1B,UAA8B,EAC9B,cAAc,GAAG,GAAG,EACpB,eAAe,GAAG,IAAI;IAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,IAAI,MAAM,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,OAAO,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,cAAc,GAAG,GAAG;IAEpB,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,oBAAoB;SAC9B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC5D,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,aAAa,CAAC,KAAK,EAAE,CAAC;QAEtB,6DAA6D;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,8DAA8D,cAAc,yBAAyB,iBAAiB,CAAC,UAAU,CAAC,qCAAqC;aACjL,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,yCAAyC,SAAS,EAAE,EAAE,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,wBAAwB;AACxB,MAAM,mBAAmB,GAAG;IAC1B,eAAe;IACf,uBAAuB;IACvB,UAAU;IACV,4CAA4C;IAC5C,4BAA4B;IAC5B,kEAAkE;IAClE,wDAAwD;CACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,kFAAkF;AAClF,SAAS,iBAAiB,CAAC,UAAmB;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;YACnG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;YAChD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1C,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrI,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,UAAmB;IACjE,KAAK,KAAK,CAAC;IAEX,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,4JAA4J;SACtK,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,wHAAwH;SAClI,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wHAAwH;KAClI,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAuB,EAAE,MAA2D;IACtH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,eAAe,EAAE,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;IACrF,CAAC;IAED,wDAAwD;IACxD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAQD,SAAS,iBAAiB;IACxB,IAAI,UAAU;QAAE,OAAO,OAAO,CAAC;IAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,OAA8C,EAAE;IAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EACL,qGAAqG;SACxG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,YAAY,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,WAAW,QAAQ,CAAC;IACtC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IAErC,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,wCAAwC;IACxC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,EAAE,aAAa,YAAY,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,EAAE,YAAY,YAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,CAAC;QACT,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,IAAI,SAAS,GAAG,CAAC;YACvC,MAAM,WAAW,GAAG,WAAW,aAAa,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACzE,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;gBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,yEAAyE;YACzE,qEAAqE;YACrE,oEAAoE;YACpE,yBAAyB,EAAE,CAAC;YAC5B,OAAO,CACL,IAAI,KAAK,CAAC;gBACR,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE;gBAC5D,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,IAAI,EAAE,EAAE,CACvF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { liftRollback } from "./rollback.js";
1
2
  import { UeMcpTask } from "../task.js";
2
3
  /**
3
4
  * Generic task for bridge-delegation actions.
@@ -29,20 +30,13 @@ export class BridgeTask extends UeMcpTask {
29
30
  if (typeof raw !== "object" || raw === null) {
30
31
  return { success: true, data: { result: raw } };
31
32
  }
32
- const { rollback, ...rest } = raw;
33
- const result = { success: true, data: rest };
34
- if (rollback && typeof rollback === "object") {
35
- const rb = rollback;
36
- if (typeof rb.method === "string") {
37
- const record = {
38
- taskName: rb.method,
39
- payload: rb.payload && typeof rb.payload === "object"
40
- ? rb.payload
41
- : {},
42
- };
43
- result.rollback = record;
44
- }
45
- }
33
+ // Pass the response through intact; the rollback descriptor is part of the
34
+ // documented response shape, not an internal field to be consumed here.
35
+ const obj = raw;
36
+ const result = { success: true, data: obj };
37
+ const record = liftRollback(obj.rollback);
38
+ if (record)
39
+ result.rollback = record;
46
40
  return result;
47
41
  }
48
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-task.js","sourceRoot":"","sources":["../../src/flow/bridge-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,IAAI,QAAQ;QACV,OAAO,UAAW,IAAI,CAAC,OAAmC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,OAAkC,CAAC;QACtE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAClD,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,GAA8B,CAAC;QAC7D,MAAM,MAAM,GAAe,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAEzD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,EAAE,GAAG,QAAmD,CAAC;YAC/D,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAmB;oBAC7B,QAAQ,EAAE,EAAE,CAAC,MAAM;oBACnB,OAAO,EACL,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ;wBAC1C,CAAC,CAAE,EAAE,CAAC,OAAmC;wBACzC,CAAC,CAAC,EAAE;iBACT,CAAC;gBACF,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"bridge-task.js","sourceRoot":"","sources":["../../src/flow/bridge-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,IAAI,QAAQ;QACV,OAAO,UAAW,IAAI,CAAC,OAAmC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,OAAkC,CAAC;QACtE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAClD,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,GAAG,GAAG,GAA8B,CAAC;QAC3C,MAAM,MAAM,GAAe,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,MAAM;YAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -2,6 +2,15 @@ import { z } from "zod";
2
2
  import { FlowRunner } from "@db-lyon/flowkit";
3
3
  import { takeSnapshot, restoreSnapshot, reloadAffectedPackages, pruneOldSnapshots, } from "./git-snapshot.js";
4
4
  import { emitFlowEvent, nextRunId, trimStepResult, trimError, } from "./events.js";
5
+ /**
6
+ * Name a failed rollback by the bridge method it tried to call. Every record
7
+ * routes through the generic "ue-mcp.bridge" task now, so taskName alone
8
+ * renders three different failed inverses as three identical lines.
9
+ */
10
+ function rollbackLabel(e) {
11
+ const method = e.payload?.method;
12
+ return typeof method === "string" && method.length > 0 ? method : e.taskName;
13
+ }
5
14
  export function createFlowTool(registry, reloadConfig) {
6
15
  return {
7
16
  name: "flow",
@@ -225,7 +234,7 @@ function formatFlowResult(result) {
225
234
  lines.push(` Rollback: ${result.rollback.succeeded}/${result.rollback.attempted} inverses succeeded` +
226
235
  (result.rollback.errors.length ? ` — ${result.rollback.errors.length} failed` : ""));
227
236
  for (const e of result.rollback.errors) {
228
- lines.push(` ✗ ${e.taskName}: ${e.error.message}`);
237
+ lines.push(` ✗ ${rollbackLabel(e)}: ${e.error.message}`);
229
238
  }
230
239
  }
231
240
  const snap = result.snapshotRestore;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-tool.js","sourceRoot":"","sources":["../../src/flow/flow-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-tool.js","sourceRoot":"","sources":["../../src/flow/flow-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { RollbackRecord } from "@db-lyon/flowkit";
2
+ /**
3
+ * Turn a handler's `rollback: { method, payload }` into a replayable record.
4
+ *
5
+ * The record's taskName is what the flow runner looks up, and it looks up
6
+ * `<tool>.<action>` names - not bridge method names. Naming the bridge method
7
+ * directly (`set_variable_properties`) missed the task map, fell through to a
8
+ * filesystem probe for a module of that name, and threw; every handler-emitted
9
+ * rollback failed the same way at ~90 sites.
10
+ *
11
+ * So route through the generic bridge task instead and carry the method in the
12
+ * payload. That class path IS registered, and the payload is already in the
13
+ * bridge's own param names because the handler built it - which is also why it
14
+ * must not go back through an action's mapParams.
15
+ */
16
+ export declare function liftRollback(rollback: unknown): RollbackRecord | undefined;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Turn a handler's `rollback: { method, payload }` into a replayable record.
3
+ *
4
+ * The record's taskName is what the flow runner looks up, and it looks up
5
+ * `<tool>.<action>` names - not bridge method names. Naming the bridge method
6
+ * directly (`set_variable_properties`) missed the task map, fell through to a
7
+ * filesystem probe for a module of that name, and threw; every handler-emitted
8
+ * rollback failed the same way at ~90 sites.
9
+ *
10
+ * So route through the generic bridge task instead and carry the method in the
11
+ * payload. That class path IS registered, and the payload is already in the
12
+ * bridge's own param names because the handler built it - which is also why it
13
+ * must not go back through an action's mapParams.
14
+ */
15
+ export function liftRollback(rollback) {
16
+ if (!rollback || typeof rollback !== "object")
17
+ return undefined;
18
+ const rb = rollback;
19
+ if (typeof rb.method !== "string" || rb.method.length === 0)
20
+ return undefined;
21
+ const payload = rb.payload && typeof rb.payload === "object"
22
+ ? rb.payload
23
+ : {};
24
+ return { taskName: "ue-mcp.bridge", payload: { ...payload, method: rb.method } };
25
+ }
26
+ //# sourceMappingURL=rollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/flow/rollback.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,QAAiB;IAC5C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,EAAE,GAAG,QAAmD,CAAC;IAC/D,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9E,MAAM,OAAO,GACX,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ;QAC1C,CAAC,CAAE,EAAE,CAAC,OAAmC;QACzC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;AACnF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { UeMcpTask } from "../task.js";
2
+ import { liftRollback } from "./rollback.js";
2
3
  /**
3
4
  * Create a TaskConstructor for a bridge-delegation action.
4
5
  * The bridge method (and optional param mapper) are closed over in the class.
@@ -10,13 +11,26 @@ export function bridgeTaskClass(name, method, mapParams, timeoutMs) {
10
11
  const params = mapParams
11
12
  ? mapParams(this.options)
12
13
  : this.options;
13
- const data = await this.bridge.call(method, params, timeoutMs);
14
- return {
15
- success: true,
16
- data: typeof data === "object" && data !== null
17
- ? data
18
- : { result: data },
19
- };
14
+ const raw = await this.bridge.call(method, params, timeoutMs);
15
+ if (typeof raw !== "object" || raw === null) {
16
+ return { success: true, data: { result: raw } };
17
+ }
18
+ // Handlers attach `rollback` to their response. This class never lifted
19
+ // it, so every rollback emitted by a registered action was silently
20
+ // dropped and rollback_on_failure had nothing to undo.
21
+ //
22
+ // The response is passed through INTACT, rollback descriptor included.
23
+ // Every MCP category-tool call routes through this class, not just
24
+ // flows, and data is serialized as the whole tool result - stripping the
25
+ // key here deleted the rollback descriptor from ~90 handlers' documented
26
+ // responses, and left bridge-backed actions inconsistent with
27
+ // handler-backed ones, which pass data through untouched.
28
+ const raw2 = raw;
29
+ const result = { success: true, data: raw2 };
30
+ const record = liftRollback(raw2.rollback);
31
+ if (record)
32
+ result.rollback = record;
33
+ return result;
20
34
  }
21
35
  }
22
36
  Object.defineProperty(FactoryBridgeTask, "name", { value: `BridgeTask_${name}` });
@@ -1 +1 @@
1
- {"version":3,"file":"task-factory.js","sourceRoot":"","sources":["../../src/flow/task-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,MAAc,EACd,SAAmE,EACnE,SAAkB;IAElB,MAAM,iBAAkB,SAAQ,SAAS;QACvC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,GAAG,SAAS;gBACtB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAkC,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,OAAkC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;oBAC7C,CAAC,CAAE,IAAgC;oBACnC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;aACrB,CAAC;QACJ,CAAC;KACF;IACD,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC,CAAC;IAClF,OAAO,iBAA+C,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,EAA2E;IAE3E,MAAM,kBAAmB,SAAQ,SAAS;QACxC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO;YACX,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAkC,CAAC,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;oBAC7C,CAAC,CAAE,IAAgC;oBACnC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;aACrB,CAAC;QACJ,CAAC;KACF;IACD,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;IACpF,OAAO,kBAAgD,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"task-factory.js","sourceRoot":"","sources":["../../src/flow/task-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,MAAc,EACd,SAAmE,EACnE,SAAkB;IAElB,MAAM,iBAAkB,SAAQ,SAAS;QACvC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,GAAG,SAAS;gBACtB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAkC,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,OAAkC,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAClD,CAAC;YACD,wEAAwE;YACxE,oEAAoE;YACpE,uDAAuD;YACvD,EAAE;YACF,uEAAuE;YACvE,mEAAmE;YACnE,yEAAyE;YACzE,yEAAyE;YACzE,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,IAAI,GAAG,GAA8B,CAAC;YAC5C,MAAM,MAAM,GAAe,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM;gBAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IACD,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC,CAAC;IAClF,OAAO,iBAA+C,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,EAA2E;IAE3E,MAAM,kBAAmB,SAAQ,SAAS;QACxC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO;YACX,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAkC,CAAC,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;oBAC7C,CAAC,CAAE,IAAgC;oBACnC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;aACrB,CAAC;QACJ,CAAC;KACF;IACD,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;IACpF,OAAO,kBAAgD,CAAC;AAC1D,CAAC"}
package/dist/index.js CHANGED
@@ -23,6 +23,7 @@ import * as path from "node:path";
23
23
  import yaml from "js-yaml";
24
24
  import { ALL_TOOLS } from "./tools.js";
25
25
  import { enrichToolsWithEpicCatalog } from "./epic-enrich.js";
26
+ import { checkPluginFreshness } from "./plugin-freshness.js";
26
27
  import { saveCatalogCache, loadCatalogCache, loadBakedCatalog } from "./epic-cache.js";
27
28
  function withUpgradeNotice(content) {
28
29
  const notice = consumeUpgradeNotice();
@@ -56,6 +57,14 @@ async function main() {
56
57
  // Source deployment is reserved for `ue-mcp init` / `ue-mcp deploy`.
57
58
  const result = attach(project);
58
59
  console.error(`[ue-mcp] ${attachSummary(result)}`);
60
+ // #785: say loudly, once at startup, when the compiled plugin is older
61
+ // than its source. Otherwise the only signal is an "Unknown method"
62
+ // error later, which reads as "not implemented yet" and sends people
63
+ // hand-authoring around handlers that already work.
64
+ const freshness = checkPluginFreshness(project.projectPath);
65
+ if (freshness.stale && freshness.message) {
66
+ console.error(`[ue-mcp] WARNING: ${freshness.message}`);
67
+ }
59
68
  }
60
69
  catch (e) {
61
70
  console.error(`[ue-mcp] Failed to initialize project: ${e instanceof Error ? e.message : e}`);