ue-mcp 0.7.4 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/flow/anthropic-provider.d.ts +15 -0
  2. package/dist/flow/anthropic-provider.js +71 -0
  3. package/dist/flow/anthropic-provider.js.map +1 -0
  4. package/dist/flow/bridge-task.d.ts +4 -0
  5. package/dist/flow/bridge-task.js +23 -7
  6. package/dist/flow/bridge-task.js.map +1 -1
  7. package/dist/flow/context.d.ts +3 -1
  8. package/dist/flow/flow-tool.js +46 -6
  9. package/dist/flow/flow-tool.js.map +1 -1
  10. package/dist/flow/loader.d.ts +1 -1
  11. package/dist/flow/loader.js +5 -3
  12. package/dist/flow/loader.js.map +1 -1
  13. package/dist/flow/schema.d.ts +314 -0
  14. package/dist/index.js +2 -7
  15. package/dist/index.js.map +1 -1
  16. package/package.json +3 -2
  17. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/HandlerUtils.h +69 -0
  18. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers.cpp +32 -25
  19. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers.cpp +218 -8
  20. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AudioHandlers.cpp +69 -13
  21. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers.cpp +157 -41
  22. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/FoliageHandlers.cpp +8 -2
  23. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.cpp +106 -31
  24. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GasHandlers.cpp +41 -41
  25. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers.cpp +250 -36
  26. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/MaterialHandlers.cpp +40 -4
  27. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/NiagaraHandlers.cpp +36 -13
  28. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCGHandlers.cpp +32 -6
  29. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SequencerHandlers.cpp +8 -5
  30. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SplineHandlers.cpp +29 -5
  31. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/WidgetHandlers.cpp +23 -13
@@ -0,0 +1,15 @@
1
+ import type { LLMProvider, LLMCompletionRequest, LLMCompletionResponse } from "@db-lyon/flowkit";
2
+ /**
3
+ * Anthropic-backed LLMProvider for use by the `agent_prompt` task.
4
+ *
5
+ * Attach to the flow context as `ctx.llm`. Requires ANTHROPIC_API_KEY
6
+ * (or explicit apiKey in constructor). Enables prompt caching on the
7
+ * system prompt so recurrent on_failure triage is cheap.
8
+ */
9
+ export declare class AnthropicProvider implements LLMProvider {
10
+ private client;
11
+ constructor(opts?: {
12
+ apiKey?: string;
13
+ });
14
+ complete(req: LLMCompletionRequest): Promise<LLMCompletionResponse>;
15
+ }
@@ -0,0 +1,71 @@
1
+ import Anthropic from "@anthropic-ai/sdk";
2
+ const DEFAULT_MODEL = "claude-opus-4-5";
3
+ const DEFAULT_MAX_TOKENS = 1024;
4
+ /**
5
+ * Anthropic-backed LLMProvider for use by the `agent_prompt` task.
6
+ *
7
+ * Attach to the flow context as `ctx.llm`. Requires ANTHROPIC_API_KEY
8
+ * (or explicit apiKey in constructor). Enables prompt caching on the
9
+ * system prompt so recurrent on_failure triage is cheap.
10
+ */
11
+ export class AnthropicProvider {
12
+ client;
13
+ constructor(opts = {}) {
14
+ const apiKey = opts.apiKey ?? process.env.ANTHROPIC_API_KEY;
15
+ if (!apiKey) {
16
+ throw new Error("AnthropicProvider: no API key. Set ANTHROPIC_API_KEY or pass { apiKey } explicitly.");
17
+ }
18
+ this.client = new Anthropic({ apiKey });
19
+ }
20
+ async complete(req) {
21
+ const model = req.model ?? DEFAULT_MODEL;
22
+ const max_tokens = req.maxTokens ?? DEFAULT_MAX_TOKENS;
23
+ let userPrompt = req.prompt;
24
+ if (req.schema) {
25
+ userPrompt +=
26
+ "\n\nRespond ONLY with a JSON object matching this schema:\n" +
27
+ JSON.stringify(req.schema) +
28
+ "\n\nOutput just the JSON, no prose, no markdown fences.";
29
+ }
30
+ const systemBlocks = req.system
31
+ ? [{ type: "text", text: req.system, cache_control: { type: "ephemeral" } }]
32
+ : undefined;
33
+ const response = await this.client.messages.create({
34
+ model,
35
+ max_tokens,
36
+ system: systemBlocks,
37
+ messages: [{ role: "user", content: userPrompt }],
38
+ });
39
+ const text = response.content
40
+ .map((block) => (block.type === "text" ? block.text : ""))
41
+ .join("")
42
+ .trim();
43
+ const out = {
44
+ text,
45
+ usage: {
46
+ inputTokens: response.usage?.input_tokens,
47
+ outputTokens: response.usage?.output_tokens,
48
+ },
49
+ };
50
+ if (req.schema) {
51
+ const parsed = tryParseJson(text);
52
+ if (parsed !== undefined)
53
+ out.parsed = parsed;
54
+ }
55
+ return out;
56
+ }
57
+ }
58
+ function tryParseJson(text) {
59
+ // Strip common markdown fences the model might add despite instructions.
60
+ const cleaned = text
61
+ .replace(/^```(?:json)?\s*/i, "")
62
+ .replace(/```$/, "")
63
+ .trim();
64
+ try {
65
+ return JSON.parse(cleaned);
66
+ }
67
+ catch {
68
+ return undefined;
69
+ }
70
+ }
71
+ //# sourceMappingURL=anthropic-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../src/flow/anthropic-provider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAO1C,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAY;IAE1B,YAAY,OAA4B,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAyB;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC;QACzC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,IAAI,kBAAkB,CAAC;QAEvD,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;QAC5B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU;gBACR,6DAA6D;oBAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC1B,yDAAyD,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM;YAC7B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE,EAAE,CAAC;YAC9F,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjD,KAAK;YACL,UAAU;YACV,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO;aAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACzD,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE,CAAC;QAEV,MAAM,GAAG,GAA0B;YACjC,IAAI;YACJ,KAAK,EAAE;gBACL,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY;gBACzC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa;aAC5C;SACF,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,MAAM,KAAK,SAAS;gBAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,yEAAyE;IACzE,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -11,6 +11,10 @@ import { BaseTask, type TaskResult } from "@db-lyon/flowkit";
11
11
  * 2. **Built-in tasks** via `bridgeTaskClass()` factory:
12
12
  * The bridge method is baked into the class closure.
13
13
  * Options are passed through as bridge params.
14
+ *
15
+ * Handlers may attach a `rollback: { method, payload }` to their response.
16
+ * When present, it is lifted onto `TaskResult.rollback` so the flow runner
17
+ * can invoke the inverse on failure when `rollback_on_failure` is enabled.
14
18
  */
15
19
  export declare class BridgeTask extends BaseTask {
16
20
  get taskName(): string;
@@ -11,6 +11,10 @@ import { BaseTask } from "@db-lyon/flowkit";
11
11
  * 2. **Built-in tasks** via `bridgeTaskClass()` factory:
12
12
  * The bridge method is baked into the class closure.
13
13
  * Options are passed through as bridge params.
14
+ *
15
+ * Handlers may attach a `rollback: { method, payload }` to their response.
16
+ * When present, it is lifted onto `TaskResult.rollback` so the flow runner
17
+ * can invoke the inverse on failure when `rollback_on_failure` is enabled.
14
18
  */
15
19
  export class BridgeTask extends BaseTask {
16
20
  get taskName() {
@@ -22,13 +26,25 @@ export class BridgeTask extends BaseTask {
22
26
  throw new Error('BridgeTask requires a "method" option');
23
27
  }
24
28
  const ctx = this.ctx;
25
- const data = await ctx.bridge.call(method, params);
26
- return {
27
- success: true,
28
- data: typeof data === "object" && data !== null
29
- ? data
30
- : { result: data },
31
- };
29
+ const raw = await ctx.bridge.call(method, params);
30
+ if (typeof raw !== "object" || raw === null) {
31
+ return { success: true, data: { result: raw } };
32
+ }
33
+ const { rollback, ...rest } = raw;
34
+ const result = { success: true, data: rest };
35
+ if (rollback && typeof rollback === "object") {
36
+ const rb = rollback;
37
+ if (typeof rb.method === "string") {
38
+ const record = {
39
+ taskName: rb.method,
40
+ payload: rb.payload && typeof rb.payload === "object"
41
+ ? rb.payload
42
+ : {},
43
+ };
44
+ result.rollback = record;
45
+ }
46
+ }
47
+ return result;
32
48
  }
33
49
  }
34
50
  //# sourceMappingURL=bridge-task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-task.js","sourceRoot":"","sources":["../../src/flow/bridge-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAG7D;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,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,IAAI,CAAC,GAAkB,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;gBAC7C,CAAC,CAAE,IAAgC;gBACnC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"bridge-task.js","sourceRoot":"","sources":["../../src/flow/bridge-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwC,MAAM,kBAAkB,CAAC;AAGlF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,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,IAAI,CAAC,GAAkB,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAgB,EAAE,MAAM,CAAC,CAAC;QAE5D,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,7 +1,9 @@
1
- import type { TaskContext } from "@db-lyon/flowkit";
1
+ import type { TaskContext, LLMProvider } from "@db-lyon/flowkit";
2
2
  import type { IBridge } from "../bridge.js";
3
3
  import type { ProjectContext } from "../project.js";
4
4
  export interface FlowContext extends TaskContext {
5
5
  bridge: IBridge;
6
6
  project: ProjectContext;
7
+ /** Optional LLM provider used by the built-in `agent_prompt` task. */
8
+ llm?: LLMProvider;
7
9
  }
@@ -1,20 +1,41 @@
1
1
  import { z } from "zod";
2
- import { FlowRunner } from "@db-lyon/flowkit";
2
+ import { FlowRunner, AgentPromptTask } from "@db-lyon/flowkit";
3
+ import { AnthropicProvider } from "./anthropic-provider.js";
4
+ // Lazy-init the LLM provider so the server still starts without an API key.
5
+ let llmProvider;
6
+ let llmProviderInitAttempted = false;
7
+ function getLLMProvider() {
8
+ if (llmProviderInitAttempted)
9
+ return llmProvider;
10
+ llmProviderInitAttempted = true;
11
+ try {
12
+ llmProvider = new AnthropicProvider();
13
+ }
14
+ catch {
15
+ // No API key — agent_prompt steps will fail clearly when invoked.
16
+ }
17
+ return llmProvider;
18
+ }
3
19
  export function createFlowTool(registry, reloadConfig) {
20
+ // Ensure agent_prompt is registered on the shared registry.
21
+ registry.registerClassPath("flow.agent_prompt", AgentPromptTask);
4
22
  return {
5
23
  name: "flow",
6
24
  description: `Run or inspect named flows defined in ue-mcp.yml. Config is reloaded on every call — no restart needed.\n\n` +
7
25
  `Actions:\n` +
8
- `- run: Execute a flow. Params: flowName, skip?, params?\n` +
26
+ `- run: Execute a flow. Params: flowName, skip?, params?, rollback_on_failure?\n` +
9
27
  `- plan: Show execution plan without running. Params: flowName\n` +
10
28
  `- list: List available flows\n\n` +
11
29
  `params: Runtime options merged into every step's options (highest priority). ` +
12
- `Use to override YAML-hardcoded values like levelPath, directory, configuration, etc.`,
30
+ `Use to override YAML-hardcoded values like levelPath, directory, configuration, etc.\n\n` +
31
+ `rollback_on_failure: When true, rollback records from completed steps are invoked ` +
32
+ `in reverse order if a subsequent step fails.`,
13
33
  schema: {
14
34
  action: z.enum(["run", "plan", "list"]).describe("Action to perform"),
15
35
  flowName: z.string().optional().describe("Flow name from ue-mcp.yml"),
16
36
  skip: z.array(z.string()).optional().describe("Step names or numbers to skip"),
17
37
  params: z.record(z.unknown()).optional().describe("Runtime options merged into every step's options (highest priority)"),
38
+ rollback_on_failure: z.boolean().optional().describe("Invoke inverse tasks in reverse order on failure"),
18
39
  },
19
40
  actions: {
20
41
  run: { handler: async (ctx, params) => runFlow(registry, reloadConfig(), ctx, params) },
@@ -54,14 +75,16 @@ async function runFlow(registry, config, ctx, params) {
54
75
  throw new Error("flowName is required");
55
76
  const skip = params.skip ?? [];
56
77
  const flowParams = params.params;
78
+ const rollback_on_failure = params.rollback_on_failure;
57
79
  const runner = makeRunner(registry, config, ctx);
58
- const result = await runner.run({ flowName, skip, params: flowParams });
80
+ const result = await runner.run({ flowName, skip, params: flowParams, rollback_on_failure });
59
81
  return formatFlowResult(result);
60
82
  }
61
83
  function makeRunner(registry, config, ctx) {
62
84
  const flowCtx = {
63
85
  bridge: ctx.bridge,
64
86
  project: ctx.project,
87
+ llm: getLLMProvider(),
65
88
  };
66
89
  return new FlowRunner({
67
90
  tasks: config.tasks,
@@ -78,11 +101,11 @@ function formatFlowResult(result) {
78
101
  for (const s of result.steps) {
79
102
  const stepIcon = s.skipped ? "○" : s.result?.success ? "✓" : "✗";
80
103
  const status = s.skipped ? "skipped" : s.result?.success ? formatDuration(s.duration) : "FAILED";
81
- lines.push(` ${stepIcon} ${s.stepNumber}. ${s.name} (${s.type}) ${status}`);
104
+ const attempts = s.attempts && s.attempts > 1 ? ` [${s.attempts} attempts]` : "";
105
+ lines.push(` ${stepIcon} ${s.stepNumber}. ${s.name} (${s.type}) — ${status}${attempts}`);
82
106
  if (s.result?.error) {
83
107
  lines.push(` ${s.result.error.message}`);
84
108
  }
85
- // Show shell output if present
86
109
  if (s.result?.data?.output && typeof s.result.data.output === "string") {
87
110
  const output = s.result.data.output;
88
111
  if (output.length > 0) {
@@ -97,12 +120,29 @@ function formatFlowResult(result) {
97
120
  lines.push("");
98
121
  lines.push(` Error: ${result.error.message}`);
99
122
  }
123
+ if (result.rollback) {
124
+ lines.push("");
125
+ lines.push(` Rollback: ${result.rollback.succeeded}/${result.rollback.attempted} inverses succeeded` +
126
+ (result.rollback.errors.length ? ` — ${result.rollback.errors.length} failed` : ""));
127
+ for (const e of result.rollback.errors) {
128
+ lines.push(` ✗ ${e.taskName}: ${e.error.message}`);
129
+ }
130
+ }
131
+ if (result.hookErrors && result.hookErrors.length > 0) {
132
+ lines.push("");
133
+ lines.push(` Hook errors (${result.hookErrors.length}):`);
134
+ for (const h of result.hookErrors) {
135
+ lines.push(` ✗ ${h.phase}:${h.name} — ${h.error.message}`);
136
+ }
137
+ }
100
138
  return {
101
139
  summary: lines.join("\n"),
102
140
  success: result.success,
103
141
  duration: result.duration,
104
142
  stepCount: result.steps.length,
105
143
  failedStep: result.steps.find((s) => s.result?.success === false)?.name,
144
+ rollback: result.rollback,
145
+ hookErrors: result.hookErrors,
106
146
  };
107
147
  }
108
148
  function formatDuration(ms) {
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAW/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,4EAA4E;AAC5E,IAAI,WAAoC,CAAC;AACzC,IAAI,wBAAwB,GAAG,KAAK,CAAC;AACrC,SAAS,cAAc;IACrB,IAAI,wBAAwB;QAAE,OAAO,WAAW,CAAC;IACjD,wBAAwB,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAsB,EACtB,YAA8B;IAE9B,4DAA4D;IAC5D,QAAQ,CAAC,iBAAiB,CACxB,mBAAmB,EACnB,eAA8E,CAC/E,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,6GAA6G;YAC7G,YAAY;YACZ,iFAAiF;YACjF,iEAAiE;YACjE,kCAAkC;YAClC,+EAA+E;YAC/E,0FAA0F;YAC1F,oFAAoF;YACpF,8CAA8C;QAChD,MAAM,EAAE;YACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YACxH,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;SACzG;QACD,OAAO,EAAE;YACP,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE;YACvF,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE;YACzF,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE;SACzD;QACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAC;YACvC,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAkB;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI;QACJ,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM;KACzC,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,QAAsB,EACtB,MAAkB,EAClB,GAAgB,EAChB,MAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAkB,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,QAAsB,EACtB,MAAkB,EAClB,GAAgB,EAChB,MAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAkB,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACvD,MAAM,IAAI,GAAI,MAAM,CAAC,IAA6B,IAAI,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAA6C,CAAC;IACxE,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAA0C,CAAC;IAE9E,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE7F,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,QAAsB,EAAE,MAAkB,EAAE,GAAgB;IAC9E,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,EAAE,cAAc,EAAE;KACtB,CAAC;IAEF,OAAO,IAAI,UAAU,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,KAAuC;QACrD,KAAK,EAAE,MAAM,CAAC,KAAuC;QACrD,QAAQ;QACR,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjG,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,OAAO,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC;QAE1F,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,eAAe,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,qBAAqB;YACxF,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CACtF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC9B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,EAAE,IAAI;QACvE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,IAAI,CAAC;IAChC,IAAI,EAAE,GAAG,MAAM;QAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAC5E,CAAC"}
@@ -10,4 +10,4 @@ export declare function buildDefaults(tools: ToolDef[]): Record<string, unknown>
10
10
  * Load ue-mcp.yml from the given directory, layered on top of built-in defaults.
11
11
  * Returns the merged config even if no project ue-mcp.yml exists.
12
12
  */
13
- export declare function loadFlowConfig(tools: ToolDef[], configDir?: string): LoadedConfig<FlowConfig> | null;
13
+ export declare function loadFlowConfig(tools: ToolDef[], configDir?: string): LoadedConfig<FlowConfig>;
@@ -219,12 +219,14 @@ function defaultFlows() {
219
219
  export function loadFlowConfig(tools, configDir) {
220
220
  const dir = configDir ?? process.cwd();
221
221
  const configPath = path.join(dir, "ue-mcp.yml");
222
- if (!fs.existsSync(configPath))
223
- return null;
222
+ const defaults = buildDefaults(tools);
223
+ if (!fs.existsSync(configPath)) {
224
+ return { config: FlowConfigSchema.parse(defaults), configDir: dir };
225
+ }
224
226
  return loadConfig({
225
227
  filename: "ue-mcp.yml",
226
228
  schema: FlowConfigSchema,
227
- defaults: buildDefaults(tools),
229
+ defaults,
228
230
  envVar: "UE_MCP_ENV",
229
231
  configDir: dir,
230
232
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/flow/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/flow/loader.ts"],"names":[],"mappings":"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"}