ue-mcp 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import { readEnv } from "../core/env.js";
1
2
  import { elicitationNeedsRelay } from "../dispatch/client-quirks.js";
2
3
  import { resolveDialogMode } from "./dialog-mode.js";
3
4
  import { readEngineSnapshot } from "./engine-observer.js";
@@ -165,6 +166,38 @@ function asDialog(v) {
165
166
  : {}),
166
167
  };
167
168
  }
169
+ const dialogListeners = new Set();
170
+ /** Watch every guard's dialogs. Returns the unsubscribe. */
171
+ export function onDialogEvent(listener) {
172
+ dialogListeners.add(listener);
173
+ return () => dialogListeners.delete(listener);
174
+ }
175
+ function emitDialogEvent(e) {
176
+ for (const l of dialogListeners) {
177
+ try {
178
+ l(e);
179
+ }
180
+ catch {
181
+ // A broken watcher must not break the guard.
182
+ }
183
+ }
184
+ }
185
+ /**
186
+ * Which on-screen dialog an event is about. Title and buttons, not the message:
187
+ * the status file and list_dialogs flatten the same text differently, and a
188
+ * message mismatch would report one dialog as opened again and again.
189
+ */
190
+ function eventIdentity(dialog) {
191
+ return `${dialog.title} :: ${dialog.buttons.join(" | ")}`;
192
+ }
193
+ /**
194
+ * The fastest a person answers a dialog prompt, in milliseconds: the same
195
+ * setting and default as the feedback approval form.
196
+ */
197
+ export function minHumanAnswerMs() {
198
+ const configured = Number(readEnv("elicitMinHumanMs"));
199
+ return Number.isFinite(configured) && configured >= 0 ? configured : 1000;
200
+ }
168
201
  /**
169
202
  * How old a status file may be and still describe a live editor. The plugin
170
203
  * flushes it on a timer while running, so anything older is a leftover.
@@ -204,6 +237,10 @@ export class DialogGuard {
204
237
  /** Which dialog that in-flight ask is about. */
205
238
  askingFor = null;
206
239
  poll = null;
240
+ /** Dialogs the person handed to the agent. Reset with the other per-dialog records. */
241
+ delegated = new Set();
242
+ /** The editor this guard watches, named in its events. */
243
+ label = "";
207
244
  constructor(deps) {
208
245
  this.deps = deps;
209
246
  }
@@ -225,11 +262,40 @@ export class DialogGuard {
225
262
  }
226
263
  /** Whether there is anybody to put an elicitation form in front of. */
227
264
  get canElicit() {
228
- return this.deps.elicit?.() !== undefined;
265
+ return this.deps.elicit?.() !== undefined || this.deps.prompt?.() !== undefined;
266
+ }
267
+ /** Whether the person handed this dialog to the agent. */
268
+ isDelegated(dialog) {
269
+ return dialog !== null && this.delegated.has(dialogIdentity(dialog));
270
+ }
271
+ /** The mode that applies to this dialog: auto once the person delegated it. */
272
+ modeFor(dialog) {
273
+ return this.isDelegated(dialog) ? "auto" : this.deps.mode();
274
+ }
275
+ emit(type, dialog, extra = {}) {
276
+ emitDialogEvent({
277
+ type,
278
+ editor: this.label,
279
+ title: dialog.title,
280
+ message: dialog.message,
281
+ buttons: dialog.buttons,
282
+ ...(dialog.items ? { items: dialog.items } : {}),
283
+ ...extra,
284
+ });
285
+ }
286
+ /** Record a button an action call pressed, for whoever watches. */
287
+ notePress(button, dialog) {
288
+ if (dialog)
289
+ this.emit("answered", dialog, { button, via: "action" });
229
290
  }
230
291
  /** Record a dialog. Called by the watcher, a probe, or a plugin refusal. */
231
292
  note(dialog) {
293
+ const fresh = !this.blocking || eventIdentity(this.blocking) !== eventIdentity(dialog);
294
+ if (fresh && this.blocking)
295
+ this.emit("closed", this.blocking);
232
296
  this.blocking = dialog;
297
+ if (fresh)
298
+ this.emit("opened", dialog, { mode: DialogGuard.effectiveMode(this.deps.mode(), this.canElicit) });
233
299
  }
234
300
  /**
235
301
  * Record that the editor is clear.
@@ -240,6 +306,8 @@ export class DialogGuard {
240
306
  * guard while the dialog is still on screen.
241
307
  */
242
308
  clear() {
309
+ if (this.blocking)
310
+ this.emit("closed", this.blocking);
243
311
  this.blocking = null;
244
312
  }
245
313
  /**
@@ -255,6 +323,7 @@ export class DialogGuard {
255
323
  forgetDialogRecords() {
256
324
  this.lastAsked = null;
257
325
  this.told.clear();
326
+ this.delegated.clear();
258
327
  }
259
328
  /**
260
329
  * Whether the AGENT gets to answer the dialog in this mode.
@@ -328,7 +397,7 @@ export class DialogGuard {
328
397
  if (dialog
329
398
  && kind === "action"
330
399
  && PRESS_ACTIONS.has(subject)
331
- && !DialogGuard.handsOverPressCalls(this.deps.mode(), this.canAsk(opts))) {
400
+ && !DialogGuard.handsOverPressCalls(this.modeFor(dialog), this.canAsk(opts))) {
332
401
  return { allow: false, refusal: this.refusal(subject, dialog, opts) };
333
402
  }
334
403
  return { allow: true };
@@ -345,7 +414,7 @@ export class DialogGuard {
345
414
  * so the gate and the refusal cannot answer it differently.
346
415
  */
347
416
  canAsk(opts) {
348
- return opts.canElicit !== false && this.deps.elicit?.() !== undefined;
417
+ return opts.canElicit !== false && this.canElicit;
349
418
  }
350
419
  /**
351
420
  * Whether this client's rendering makes the handover worth a call.
@@ -389,6 +458,11 @@ export class DialogGuard {
389
458
  // save prompt is two real answers for one action. If the same dialog is
390
459
  // still there after a press, pressing again will not help: report it.
391
460
  const identity = dialogIdentity(dialog);
461
+ // Handed to the agent by the person: auto's refusal from here, with the
462
+ // press calls, for this dialog only.
463
+ if (this.delegated.has(identity)) {
464
+ return { allow: false, refusal: this.refusal(subject, dialog, opts) };
465
+ }
392
466
  // canElicit: false means this route has nobody to ask. An HTTP request
393
467
  // has no person on it, and eliciting would raise a form in whichever
394
468
  // MCP client last touched this guard and press a real button on its
@@ -425,7 +499,8 @@ export class DialogGuard {
425
499
  // and the default for one nobody has checked is to relay: the two failure
426
500
  // modes are not equal.
427
501
  const interactive = DialogGuard.effectiveMode(this.deps.mode(), this.canAsk(opts)) === "interactive";
428
- if (interactive && this.needsRelay(dialog) && !this.told.has(identity)) {
502
+ // An extension's prompt draws the dialog itself, so it has no form to outgrow.
503
+ if (interactive && !this.deps.prompt?.() && this.needsRelay(dialog) && !this.told.has(identity)) {
429
504
  this.told.add(identity);
430
505
  return { allow: false, refusal: this.refusal(subject, dialog, opts, "relay") };
431
506
  }
@@ -442,8 +517,12 @@ export class DialogGuard {
442
517
  // The outcome is recorded by the ask itself, not by whichever call is
443
518
  // waiting on it. A person can answer long after every call has stopped
444
519
  // waiting, and that answer is still theirs to have pressed (#1076).
445
- this.asking = this.askUser(dialog)
520
+ this.asking = this.askUser(dialog, subject)
446
521
  .then((outcome) => {
522
+ if (outcome.delegated) {
523
+ this.delegated.add(identity);
524
+ this.emit("delegated", dialog);
525
+ }
447
526
  // Recorded only once a form was actually SHOWN. Setting it before
448
527
  // the ask meant an elicitation that threw or was declined consumed
449
528
  // the one chance, and the person was never asked about that dialog
@@ -567,10 +646,30 @@ export class DialogGuard {
567
646
  return dialog;
568
647
  }
569
648
  /** Put it to the person; return the button they chose, or null. */
570
- async askUser(dialog) {
571
- const elicit = this.deps.elicit?.();
649
+ async askUser(dialog, subject) {
650
+ // The extension's own prompt for its own call, else the MCP client's form.
651
+ const prompt = this.deps.prompt?.();
652
+ const minHumanMs = prompt ? minHumanAnswerMs() : 0;
653
+ const elicit = prompt
654
+ ? (params) => prompt({
655
+ ...params,
656
+ dialog: {
657
+ editor: this.label,
658
+ title: dialog.title,
659
+ message: dialog.message,
660
+ buttons: dialog.buttons,
661
+ ...(dialog.items ? { items: dialog.items } : {}),
662
+ subject,
663
+ minHumanMs,
664
+ },
665
+ })
666
+ : this.deps.elicit?.();
572
667
  if (!elicit || dialog.buttons.length === 0)
573
668
  return { shown: false, press: null };
669
+ const startedAt = Date.now();
670
+ // No person answers that fast, so it was not a person's answer: the prompt
671
+ // counts as not shown and the dialog is asked about again.
672
+ const tooFast = () => minHumanMs > 0 && Date.now() - startedAt < minHumanMs;
574
673
  const LEAVE_OPEN = "Leave the dialog open";
575
674
  let answer;
576
675
  // Which line comes FIRST is the only lever there is over how this reads.
@@ -660,13 +759,19 @@ export class DialogGuard {
660
759
  return { shown: false, press: null };
661
760
  }
662
761
  }
762
+ if (answer.action === "delegate") {
763
+ return tooFast() ? { shown: false, press: null } : { shown: true, press: null, delegated: true };
764
+ }
663
765
  if (answer.action !== "accept")
664
766
  return { shown: true, press: null };
665
- const chosen = answer.content?.button;
767
+ const content = answer.content;
768
+ const chosen = content?.button;
666
769
  if (typeof chosen !== "string" || chosen === LEAVE_OPEN)
667
770
  return { shown: true, press: null };
668
771
  if (!dialog.buttons.includes(chosen))
669
772
  return { shown: true, press: null };
773
+ if (tooFast())
774
+ return { shown: false, press: null };
670
775
  // The answer can arrive long after the form went up, and the editor may be
671
776
  // showing something else by then: the dialog answered at its own window, or
672
777
  // a new one with the same buttons. A press is only for the dialog the
@@ -690,11 +795,11 @@ export class DialogGuard {
690
795
  // A grouped answer with no list at all leaves every row as the dialog
691
796
  // had it. A client that drops a field it cannot draw would otherwise
692
797
  // untick everything, and "Save Selected" would save nothing.
693
- const picked = answer.content?.[ITEMS_KEY];
798
+ const picked = content?.[ITEMS_KEY];
694
799
  const selections = tickable.map((item) => ({
695
800
  index: item.index,
696
801
  checked: asked === "perRow"
697
- ? answer.content?.[itemKey(item.index)] === true
802
+ ? content?.[itemKey(item.index)] === true
698
803
  : Array.isArray(picked) ? picked.includes(itemKey(item.index)) : item.checked,
699
804
  }));
700
805
  // Called with ONE argument when there is nothing to tick, so a dialog
@@ -709,8 +814,10 @@ export class DialogGuard {
709
814
  const confirmed = r.answered === true
710
815
  ? !r.methodError && !r.refused && r.success !== false
711
816
  : r.success === true;
712
- if (confirmed)
817
+ if (confirmed) {
818
+ this.emit("answered", dialog, { button: chosen, via: "prompt" });
713
819
  return { shown: true, press: { button: chosen, confirmed: true } };
820
+ }
714
821
  // It answered and said it did not press: nothing happened, report silence.
715
822
  if (r.answered === true)
716
823
  return { shown: true, press: null };
@@ -735,7 +842,7 @@ export class DialogGuard {
735
842
  }
736
843
  /** The one refusal shape, whatever the route and whatever the mode. */
737
844
  refusal(subject, dialog, opts = {}, phase = "asking") {
738
- return DialogGuard.describeRefusal(subject, dialog, this.deps.mode(), this.canAsk(opts), phase);
845
+ return DialogGuard.describeRefusal(subject, dialog, this.modeFor(dialog), this.canAsk(opts), phase, this.isDelegated(dialog));
739
846
  }
740
847
  /**
741
848
  * The refusal shape. ONE definition, so every route hands a caller the same
@@ -747,7 +854,7 @@ export class DialogGuard {
747
854
  * `dialogTitle`, `dialogMessage` or `error`, so a client reading those got
748
855
  * undefined depending on which route refused it.
749
856
  */
750
- static describeRefusal(subject, dialog, resolvedMode, canElicit = true, phase = "asking") {
857
+ static describeRefusal(subject, dialog, resolvedMode, canElicit = true, phase = "asking", delegated = false) {
751
858
  const mode = DialogGuard.effectiveMode(resolvedMode, canElicit);
752
859
  // Only interactive has two phases. auto and defer say everything they have
753
860
  // to say on the first refusal and repeat it, so a phase they never enter
@@ -810,6 +917,17 @@ export class DialogGuard {
810
917
  + "Editor window. Every other action returns this same refusal until then.",
811
918
  };
812
919
  }
920
+ if (delegated) {
921
+ return {
922
+ ...common,
923
+ dialogDelegated: true,
924
+ choices: dialog.choices,
925
+ error: preamble
926
+ + "The person was asked and handed this dialog to you, so the decision is yours for "
927
+ + "this dialog only. Read it in dialogMessage, choose a button, and press it with the "
928
+ + "call beside it in choices. Every other action returns this same refusal until then.",
929
+ };
930
+ }
813
931
  return {
814
932
  ...common,
815
933
  choices: dialog.choices,
@@ -1018,8 +1136,10 @@ export async function ensureGuard(session) {
1018
1136
  * A guard's dependencies for one session. `canElicit` is whether the connected
1019
1137
  * client can be shown a form; `elicit` is consulted only when it can.
1020
1138
  */
1021
- export function sessionGuardDeps(session, canElicit, elicit) {
1139
+ export function sessionGuardDeps(session, canElicit, elicit, extension) {
1022
1140
  return {
1141
+ ...(extension ? { prompt: () => extension.prompt } : {}),
1142
+ ...(extension?.askWaitMs !== undefined ? { askWaitMs: extension.askWaitMs } : {}),
1023
1143
  mode: () => resolveDialogMode({ projectDir: session.projectDir, canElicit }).mode,
1024
1144
  probe: () => session.guarded.call("list_dialogs", {}),
1025
1145
  press: (buttonLabel, items) => session.guarded.call("respond_to_dialog", { buttonLabel, ...(items ? { items } : {}) }),
@@ -1047,6 +1167,7 @@ export function guardFor(session, deps) {
1047
1167
  return existing;
1048
1168
  }
1049
1169
  const created = new DialogGuard(deps);
1170
+ created.label = session.name;
1050
1171
  guards.set(session, created);
1051
1172
  return created;
1052
1173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-guard.js","sourceRoot":"","sources":["../../src/editor/dialog-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialog-guard.js","sourceRoot":"","sources":["../../src/editor/dialog-guard.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,22 @@ export interface BuildOptions {
59
59
  /** Pass -Clean, which makes UnrealBuildTool rebuild from scratch. */
60
60
  clean?: boolean;
61
61
  }
62
+ /**
63
+ * UnrealBuildTool's arguments for one editor-target build.
64
+ *
65
+ * -NoHotReloadFromIDE: without it, any running editor of the same engine with
66
+ * Live Coding on makes UnrealBuildTool refuse the build, whatever project that
67
+ * editor has open. The build is out of process and links its own project, so
68
+ * it has no reason to wait on another editor's session.
69
+ */
70
+ export declare function buildToolArgs(o: {
71
+ target: string;
72
+ platform: string;
73
+ configuration: string;
74
+ projectPath: string;
75
+ clean?: boolean;
76
+ windows: boolean;
77
+ }): string[];
62
78
  /**
63
79
  * Compile a project's C++ out of process, with UnrealBuildTool.
64
80
  *
@@ -150,6 +150,28 @@ export function describeLockedOutputs(code, locked) {
150
150
  }
151
151
  return `Build failed with exit code ${code}: the link could not write its output. ${detail}. ${remedy}`;
152
152
  }
153
+ /**
154
+ * UnrealBuildTool's arguments for one editor-target build.
155
+ *
156
+ * -NoHotReloadFromIDE: without it, any running editor of the same engine with
157
+ * Live Coding on makes UnrealBuildTool refuse the build, whatever project that
158
+ * editor has open. The build is out of process and links its own project, so
159
+ * it has no reason to wait on another editor's session.
160
+ */
161
+ export function buildToolArgs(o) {
162
+ // Only when it is below what UnrealBuildTool would have picked, so a machine
163
+ // with headroom builds exactly as it did before and nobody has to know this
164
+ // exists.
165
+ const parallel = safeParallelActions();
166
+ const parallelArgs = parallel < os.cpus().length ? [`-MaxParallelActions=${parallel}`] : [];
167
+ // The quotes around the project path are shell syntax for the Windows `cmd /c`
168
+ // line (#740); off Windows the path goes straight into argv.
169
+ const project = o.windows ? `-Project="${o.projectPath}"` : `-Project=${o.projectPath}`;
170
+ return [
171
+ o.target, o.platform, o.configuration, project,
172
+ "-WaitMutex", "-FromMsBuild", "-NoHotReloadFromIDE", ...parallelArgs, ...(o.clean ? ["-Clean"] : []),
173
+ ];
174
+ }
153
175
  /**
154
176
  * Compile a project's C++ out of process, with UnrealBuildTool.
155
177
  *
@@ -190,15 +212,8 @@ export async function buildProject(projectPath, opts = {}) {
190
212
  // characters and reported "Unable to find project file" for a file that was
191
213
  // plainly there - while the same command pasted into a terminal worked,
192
214
  // because the shell removed them first.
193
- const commonArgs = [target, platform, configuration];
194
- // Only when it is below what UnrealBuildTool would have picked, so a machine
195
- // with headroom builds exactly as it did before and nobody has to know this
196
- // exists.
197
- const parallel = safeParallelActions();
198
- const parallelArgs = parallel < os.cpus().length ? [`-MaxParallelActions=${parallel}`] : [];
199
- const tailArgs = ["-WaitMutex", "-FromMsBuild", ...parallelArgs, ...(opts.clean ? ["-Clean"] : [])];
200
- const windowsArgs = [...commonArgs, `-Project="${resolvedPath}"`, ...tailArgs];
201
- const posixArgs = [...commonArgs, `-Project=${resolvedPath}`, ...tailArgs];
215
+ const windowsArgs = buildToolArgs({ target, platform, configuration, projectPath: resolvedPath, clean: opts.clean, windows: true });
216
+ const posixArgs = buildToolArgs({ target, platform, configuration, projectPath: resolvedPath, clean: opts.clean, windows: false });
202
217
  return new Promise((resolve) => {
203
218
  let proc;
204
219
  if (IS_WINDOWS) {
@@ -238,7 +253,7 @@ export async function buildProject(projectPath, opts = {}) {
238
253
  success: false,
239
254
  exitCode: code,
240
255
  message: ranOutOfMemory(transcript)
241
- ? describeMemoryFailure(parallel)
256
+ ? describeMemoryFailure(safeParallelActions())
242
257
  : locked.length > 0
243
258
  ? describeLockedOutputs(code, locked)
244
259
  : `Build failed with exit code ${code}`,
@@ -1 +1 @@
1
- {"version":3,"file":"editor-build.js","sourceRoot":"","sources":["../../src/editor/editor-build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-build.js","sourceRoot":"","sources":["../../src/editor/editor-build.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import { SessionRegistry, type EditorSession } from "../sessions/session.js";
12
12
  import { type ProjectContext } from "../config/project.js";
13
- import type { ToolContext, ToolDef } from "../core/types.js";
13
+ import type { InProcessCallOptions, ToolContext, ToolDef } from "../core/types.js";
14
14
  import { type ToolResult } from "../dispatch/server-dispatch.js";
15
15
  import { DialogGuard } from "../editor/dialog-guard.js";
16
16
  import { type LockingConfig } from "../dispatch/locking.js";
@@ -46,8 +46,9 @@ export interface Runtime {
46
46
  logSummary(): void;
47
47
  /**
48
48
  * Run one category action in process, through the same dispatch as an MCP
49
- * call: routing, guards, locking. There is no person on it, so it never elicits.
49
+ * call: routing, guards, locking. It never elicits: a blocking dialog is put
50
+ * to the caller's own `dialogPrompt` when it passes one, and nobody otherwise.
50
51
  */
51
- callAction(category: string, action: string, args?: Record<string, unknown>): Promise<ToolResult>;
52
+ callAction(category: string, action: string, args?: Record<string, unknown>, opts?: InProcessCallOptions): Promise<ToolResult>;
52
53
  }
53
54
  export declare function createRuntime(projectArgs: string[]): Promise<Runtime>;
@@ -226,16 +226,24 @@ export async function createRuntime(projectArgs) {
226
226
  session.bridge.startReconnecting();
227
227
  }
228
228
  },
229
- callAction(category, action, args = {}) {
229
+ callAction(category, action, args = {}, opts = {}) {
230
230
  // The full graph, not the advertised one: in micro mode only the gateway is advertised.
231
231
  const tool = primaryLoad.surface.tools.find((t) => t.name === category);
232
232
  if (!tool)
233
233
  return Promise.reject(new Error(`unknown category '${category}'`));
234
+ const prompt = opts.dialogPrompt;
234
235
  const deps = {
235
236
  sessions,
236
237
  loads,
237
238
  lockingCfg,
238
- dialogGuardFor,
239
+ // The caller's own prompt is who a dialog this call meets is put to.
240
+ dialogGuardFor: prompt
241
+ ? (forSession) => {
242
+ const guard = guardFor(forSession, sessionGuardDeps(forSession, true, undefined, { prompt, askWaitMs: opts.dialogWaitMs }));
243
+ guard.startWatching();
244
+ return guard;
245
+ }
246
+ : dialogGuardFor,
239
247
  elicit: () => undefined,
240
248
  client: () => undefined,
241
249
  };