ue-mcp 1.1.19 → 1.1.20

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.
@@ -31,6 +31,6 @@
31
31
  },
32
32
  "nativeToolsets": 52,
33
33
  "nativeToolActions": 830,
34
- "generatedAt": "2026-07-14T13:47:52.205Z",
35
- "version": "1.1.19"
34
+ "generatedAt": "2026-07-14T16:55:29.279Z",
35
+ "version": "1.1.20"
36
36
  }
@@ -3,7 +3,7 @@ interface RejectionReason {
3
3
  code: string;
4
4
  message: string;
5
5
  }
6
- export declare function validateSubmission(title: string, summary: string, pythonWorkaround: string | undefined, idealTool: string | undefined, sessionWorkaroundCount: number): RejectionReason | null;
6
+ export declare function validateSubmission(title: string, summary: string, _pythonWorkaround?: string | undefined, _idealTool?: string | undefined, _sessionWorkaroundCount?: number): RejectionReason | null;
7
7
  /** What the CALLER wants. Pure intent, two values. */
8
8
  export type AuthorIntent = "user" | "bot";
9
9
  export declare const feedbackTool: ToolDef;
@@ -32,11 +32,18 @@ function resolveFeedbackMode(_ctx) {
32
32
  }
33
33
  const PLACEHOLDER_TITLE_RE = /^(noop|nop|test|tests?|testing|x|y|z|todo|tbd|tba|ignore|ignored|stop|dummy|temp|tmp|placeholder|accidental|oops|cleanup|n\/?a|none|null|undefined|na|misc|\.+|-+)$/i;
34
34
  const PLACEHOLDER_PHRASE_RE = /\b(ignore (previous|accidental|placeholder)|accidental (feedback|submission|tool call|placeholder)|placeholder feedback|stop accidental|cleanup needed|test submission)\b/i;
35
- export function validateSubmission(title, summary, pythonWorkaround, idealTool, sessionWorkaroundCount) {
35
+ // Gate feedback on spam/placeholder shape ONLY. A python workaround is the
36
+ // common trigger but is NOT required: crashes, missing actions, and dead-end
37
+ // gaps are all legitimate reports with nothing to "work around". Requiring an
38
+ // executed python workaround (or a session-tracked execute_python call) before
39
+ // a report can be filed was suppressing exactly the reports that matter most
40
+ // (e.g. "this action crashed the editor"). pythonWorkaround and idealTool are
41
+ // optional enrichment; a substantive title + summary is enough to file.
42
+ //
43
+ // The trailing params are kept for signature/back-compat; they no longer gate.
44
+ export function validateSubmission(title, summary, _pythonWorkaround, _idealTool, _sessionWorkaroundCount) {
36
45
  const t = (title ?? "").trim();
37
46
  const s = (summary ?? "").trim();
38
- const py = (pythonWorkaround ?? "").trim();
39
- const ideal = (idealTool ?? "").trim();
40
47
  if (t.length < 10) {
41
48
  return { code: "title_too_short", message: `Title must be at least 10 characters describing the specific tool gap (got ${t.length}).` };
42
49
  }
@@ -52,12 +59,6 @@ export function validateSubmission(title, summary, pythonWorkaround, idealTool,
52
59
  if (s.toLowerCase() === t.toLowerCase()) {
53
60
  return { code: "summary_duplicates_title", message: `Summary must add information beyond the title.` };
54
61
  }
55
- if (!py && !ideal) {
56
- return { code: "no_concrete_payload", message: `Provide either pythonWorkaround (the code that was used) or idealTool (what native action should have handled it). Without one of these there is no actionable gap to file.` };
57
- }
58
- if (!py && sessionWorkaroundCount === 0) {
59
- return { code: "no_workaround_evidence", message: `No execute_python calls were tracked this session and no pythonWorkaround was provided. There is no workaround to document.` };
60
- }
61
62
  return null;
62
63
  }
63
64
  // Map tool category names to GitHub labels
@@ -195,9 +196,9 @@ function buildApprovalMessage(p, authorPromptLine) {
195
196
  lines.push("", "── BODY ─────────────────────────────────────", p.body, "── END BODY ─────────────────────────────────");
196
197
  return lines.join("\n");
197
198
  }
198
- export const feedbackTool = categoryTool("feedback", "Submit feedback to improve ue-mcp when native tools fall short and execute_python was used as a workaround.", {
199
+ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve ue-mcp when a native tool falls short: a missing action, a wrong result, a crash, or a gap you had to work around with execute_python. A python workaround is a common trigger but is not required.", {
199
200
  submit: {
200
- description: "Submit feedback about a tool gap. Blocks on an MCP elicitation prompt that asks the USER (not the agent) to approve or decline the exact payload before anything is posted to GitHub.",
201
+ description: "Submit feedback about a tool gap (missing action, wrong behavior, crash, or a case you had to work around). Provide a specific title and a summary; pythonWorkaround and idealTool are optional enrichment, not prerequisites. Blocks on an MCP elicitation prompt that asks the USER (not the agent) to approve or decline the exact payload before anything is posted to GitHub.",
201
202
  handler: async (ctx, params) => {
202
203
  const title = params.title ?? "";
203
204
  const summary = params.summary ?? "";
@@ -213,9 +214,11 @@ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve
213
214
  `[FEEDBACK REJECTED - DO NOT RETRY]`,
214
215
  `Reason (${rejection.code}): ${rejection.message}`,
215
216
  ``,
216
- `Your feedback obligation from the execute_python directive is now DISCHARGED.`,
217
- `Do NOT call feedback(submit) again with a modified title, a placeholder,`,
218
- `or a meta-apology issue. Move on with the user's actual task.`,
217
+ `This was rejected only for being placeholder/spam-shaped, not for lacking`,
218
+ `a python workaround (none is required). Do NOT call feedback(submit) again`,
219
+ `with a modified title, a placeholder, or a meta-apology issue. If you have a`,
220
+ `genuine, specific gap to report, file it once with a real title and summary;`,
221
+ `otherwise move on with the user's actual task.`,
219
222
  ].join("\n"), { submitted: false, code: rejection.code, message: rejection.message }, {
220
223
  kind: "feedback.rejected",
221
224
  requiredActions: ["do_not_retry_feedback_submit", "resume_user_task"],
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
@@ -3950,7 +3950,7 @@ tasks:
3950
3950
  feedback.submit:
3951
3951
  class_path: feedback.submit
3952
3952
  group: feedback
3953
- description: Submit feedback about a tool gap. Blocks on an MCP elicitation prompt that asks the USER (not the agent) to approve or decline the exact payload before anything is posted to GitHub.
3953
+ description: Submit feedback about a tool gap (missing action, wrong behavior, crash, or a case you had to work around). Provide a specific title and a summary; pythonWorkaround and idealTool are optional enrichment, not prerequisites. Blocks on an MCP elicitation prompt that asks the USER (not the agent) to approve or decline the exact payload before anything is posted to GitHub.
3954
3954
 
3955
3955
  flows:
3956
3956
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ue-mcp",
3
- "version": "1.1.19",
3
+ "version": "1.1.20",
4
4
  "description": "Unreal Engine MCP server - 24 tools, 719+ actions for AI-driven editor control",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,6 +27,7 @@
27
27
  #include "NiagaraNodeCustomHlsl.h"
28
28
  #include "NiagaraEmitterHandle.h"
29
29
  #include "NiagaraEditorUtilities.h"
30
+ #include "NiagaraEmitterFactoryNew.h"
30
31
  #include "Editor.h"
31
32
  #include "Engine/World.h"
32
33
  #include "EngineUtils.h"
@@ -251,7 +252,18 @@ TSharedPtr<FJsonValue> FNiagaraHandlers::CreateNiagaraEmitter(const TSharedPtr<F
251
252
  return MCPError(TEXT("NiagaraEmitter class not found - factory not available"));
252
253
  }
253
254
 
254
- auto Created = MCPCreateAssetIdempotent<UObject>(Name, PackagePath, OnConflict, TEXT("NiagaraEmitter"), EmitterClass, nullptr);
255
+ // Build the emitter through UNiagaraEmitterFactoryNew, not a bare NewObject.
256
+ // The factory's empty-emitter path initializes a UNiagaraScriptSource +
257
+ // graph (GraphSource) plus default modules and a sprite renderer - the same
258
+ // asset the "Niagara Emitter" content-browser action produces. A bare
259
+ // NewObject'd emitter has GraphSource==nullptr, "succeeds" here, then
260
+ // crashes the editor the moment it is added to a system. IAssetTools::
261
+ // CreateAsset runs FactoryCreateNew headlessly (no ConfigureProperties UI),
262
+ // and the factory defaults (EmitterToCopy=null) select the empty path.
263
+ UNiagaraEmitterFactoryNew* Factory = NewObject<UNiagaraEmitterFactoryNew>();
264
+ FGCRootScope FactoryRoot(Factory);
265
+
266
+ auto Created = MCPCreateAssetIdempotent<UObject>(Name, PackagePath, OnConflict, TEXT("NiagaraEmitter"), EmitterClass, Factory);
255
267
  if (Created.EarlyReturn) return Created.EarlyReturn;
256
268
 
257
269
  UEditorAssetLibrary::SaveAsset(Created.Asset->GetPathName());
@@ -532,6 +544,22 @@ TSharedPtr<FJsonValue> FNiagaraHandlers::SetNiagaraParameter(const TSharedPtr<FJ
532
544
  return MCPResult(Result);
533
545
  }
534
546
 
547
+ // An emitter is only safely addable to a system when its target version has a
548
+ // GraphSource. A bare NewObject'd UNiagaraEmitter (how create_niagara_emitter
549
+ // used to build them) or any asset left in a broken state has
550
+ // GraphSource==nullptr; passing one to FNiagaraEditorUtilities::AddEmitterToSystem
551
+ // makes Niagara's RebuildEmitterNodes dereference it and hard-crashes the editor
552
+ // (ensure GraphSource != nullptr at NiagaraEmitter.cpp, then an access violation).
553
+ // Every add-path must gate on this instead of trusting the emitter loaded clean.
554
+ static bool EmitterHasGraphSource(UNiagaraEmitter* Emitter, const FGuid& Version)
555
+ {
556
+ if (!Emitter) return false;
557
+ const FVersionedNiagaraEmitterData* Data = Version.IsValid()
558
+ ? Emitter->GetEmitterData(Version)
559
+ : Emitter->GetLatestEmitterData();
560
+ return Data != nullptr && Data->GraphSource != nullptr;
561
+ }
562
+
535
563
  TSharedPtr<FJsonValue> FNiagaraHandlers::AddEmitterToSystem(const TSharedPtr<FJsonObject>& Params)
536
564
  {
537
565
  FString SystemPath;
@@ -591,6 +619,13 @@ TSharedPtr<FJsonValue> FNiagaraHandlers::AddEmitterToSystem(const TSharedPtr<FJs
591
619
  // system's overview graph. This is the same path the editor uses for
592
620
  // "Add Emitter to System" in the Niagara System editor.
593
621
  const FGuid EmitterVersion = Emitter->GetExposedVersion().VersionGuid;
622
+ // Guard: a GraphSource-less emitter crashes AddEmitterToSystem. Fail cleanly.
623
+ if (!EmitterHasGraphSource(Emitter, EmitterVersion))
624
+ {
625
+ return MCPError(FString::Printf(
626
+ TEXT("Emitter '%s' has no GraphSource - it was created empty/invalid and cannot be added to a system (adding it would crash the editor). Recreate it with create_niagara_emitter, which now initializes a valid graph."),
627
+ *EmitterPath));
628
+ }
594
629
  const FGuid HandleId = FNiagaraEditorUtilities::AddEmitterToSystem(*System, *Emitter, EmitterVersion);
595
630
  if (!HandleId.IsValid())
596
631
  {
@@ -1041,11 +1076,23 @@ TSharedPtr<FJsonValue> FNiagaraHandlers::CreateNiagaraSystemFromSpec(const TShar
1041
1076
  const TArray<TSharedPtr<FJsonValue>>* EmittersArr = nullptr;
1042
1077
  Params->TryGetArrayField(TEXT("emitters"), EmittersArr);
1043
1078
 
1044
- auto Created = MCPCreateAssetIdempotentNewObject<UNiagaraSystem>(Name, PackagePath, OptionalString(Params, TEXT("onConflict"), TEXT("skip")), TEXT("NiagaraSystem"));
1079
+ // Create the system through UNiagaraSystemFactoryNew, not a bare NewObject.
1080
+ // A NewObject'd UNiagaraSystem has no system spawn/update scripts and no
1081
+ // editor data; FNiagaraEditorUtilities::AddEmitterToSystem then dereferences
1082
+ // that missing state and hard-crashes the editor (access violation). The
1083
+ // factory's InitializeSystem sets up the scripts + editor data + default
1084
+ // nodes - the same asset the plain `create` action produces. (Mirrors
1085
+ // CreateNiagaraSystem.)
1086
+ UClass* SystemFactoryClass = FindObject<UClass>(nullptr, TEXT("/Script/NiagaraEditor.NiagaraSystemFactoryNew"));
1087
+ UFactory* SystemFactory = SystemFactoryClass
1088
+ ? Cast<UFactory>(NewObject<UObject>(GetTransientPackage(), SystemFactoryClass))
1089
+ : nullptr;
1090
+ auto Created = MCPCreateAssetIdempotent<UNiagaraSystem>(Name, PackagePath, OptionalString(Params, TEXT("onConflict"), TEXT("skip")), TEXT("NiagaraSystem"), SystemFactory);
1045
1091
  if (Created.EarlyReturn) return Created.EarlyReturn;
1046
1092
  UNiagaraSystem* System = Created.Asset;
1047
1093
 
1048
1094
  int32 AddedEmitters = 0;
1095
+ TArray<FString> SkippedEmitters;
1049
1096
  if (EmittersArr)
1050
1097
  {
1051
1098
  for (const TSharedPtr<FJsonValue>& V : *EmittersArr)
@@ -1065,6 +1112,14 @@ TSharedPtr<FJsonValue> FNiagaraHandlers::CreateNiagaraSystemFromSpec(const TShar
1065
1112
  if (!Source) Source = Cast<UNiagaraEmitter>(UEditorAssetLibrary::LoadAsset(EmitterPath));
1066
1113
  if (!Source) continue;
1067
1114
  const FGuid Version = Source->GetExposedVersion().VersionGuid;
1115
+ // Guard: skip GraphSource-less emitters instead of crashing the
1116
+ // editor. Surfaced in the result so the caller knows which ones
1117
+ // failed and can recreate them.
1118
+ if (!EmitterHasGraphSource(Source, Version))
1119
+ {
1120
+ SkippedEmitters.Add(EmitterPath);
1121
+ continue;
1122
+ }
1068
1123
  // #275: route through FNiagaraEditorUtilities so we get
1069
1124
  // KillSystemInstances + RebuildEmitterNodes + unique-name
1070
1125
  // resolution instead of mutating the handle list raw.
@@ -1080,6 +1135,15 @@ TSharedPtr<FJsonValue> FNiagaraHandlers::CreateNiagaraSystemFromSpec(const TShar
1080
1135
  MCPSetCreated(Res);
1081
1136
  Res->SetStringField(TEXT("path"), System->GetPathName());
1082
1137
  Res->SetNumberField(TEXT("emittersAdded"), AddedEmitters);
1138
+ if (SkippedEmitters.Num() > 0)
1139
+ {
1140
+ TArray<TSharedPtr<FJsonValue>> Skipped;
1141
+ for (const FString& S : SkippedEmitters) Skipped.Add(MakeShared<FJsonValueString>(S));
1142
+ Res->SetArrayField(TEXT("skippedEmitters"), Skipped);
1143
+ Res->SetStringField(TEXT("warning"), FString::Printf(
1144
+ TEXT("%d emitter(s) were skipped because they have no GraphSource (created empty/invalid). Recreate them with create_niagara_emitter."),
1145
+ SkippedEmitters.Num()));
1146
+ }
1083
1147
  MCPSetDeleteAssetRollback(Res, System->GetPathName());
1084
1148
  return MCPResult(Res);
1085
1149
  }