ue-mcp 1.3.8-beta.4 → 1.3.8-beta.6
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.
- package/dist/dialog-guard.d.ts +66 -12
- package/dist/dialog-guard.js +207 -35
- package/dist/dialog-guard.js.map +1 -1
- package/dist/editor-control.d.ts +11 -1
- package/dist/editor-control.js +84 -8
- package/dist/editor-control.js.map +1 -1
- package/dist/flow/task-factory.js +5 -3
- package/dist/flow/task-factory.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/tool-counts.json +2 -2
- package/dist/tools/editor.js +2 -2
- package/dist/tools/editor.js.map +1 -1
- package/dist/ue-mcp.default.yml +2 -2
- package/dist/user-state.d.ts +8 -0
- package/dist/user-state.js.map +1 -1
- package/package.json +1 -1
- package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +1 -1
package/dist/dialog-guard.d.ts
CHANGED
|
@@ -39,6 +39,15 @@ export interface BlockingDialog {
|
|
|
39
39
|
}>;
|
|
40
40
|
}
|
|
41
41
|
export declare function isModalSafeMethod(method: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* A dialog's message flattened onto one line, for a client that shows one.
|
|
44
|
+
*
|
|
45
|
+
* Unreal's own prompts are laid out over many lines (the shutdown Save Content
|
|
46
|
+
* prompt lists a package per line), and a renderer that keeps two of them shows
|
|
47
|
+
* two package names and hides the question. Flattened, the same budget carries
|
|
48
|
+
* the question itself.
|
|
49
|
+
*/
|
|
50
|
+
export declare function oneLine(text: string, limit?: number): string;
|
|
42
51
|
/** True for the refusal the plugin's own gate emits. */
|
|
43
52
|
export declare function isDialogRefusal(v: unknown): boolean;
|
|
44
53
|
/** A button press, and whether the editor confirmed it landed. */
|
|
@@ -46,6 +55,16 @@ export interface DialogPress {
|
|
|
46
55
|
button: string;
|
|
47
56
|
confirmed: boolean;
|
|
48
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Where interactive has got to with one dialog.
|
|
60
|
+
*
|
|
61
|
+
* relay the whole dialog has just been handed back, nothing asked yet
|
|
62
|
+
* asking the caller has had it, so the form is up or has been
|
|
63
|
+
*
|
|
64
|
+
* Reported as `dialogPhase` so a caller can tell "you have not seen this yet"
|
|
65
|
+
* from "the person is looking at it", which are otherwise the same refusal.
|
|
66
|
+
*/
|
|
67
|
+
export type DialogPhase = "relay" | "asking";
|
|
49
68
|
/** What a caller must do about this call. */
|
|
50
69
|
export type GuardDecision = {
|
|
51
70
|
allow: true;
|
|
@@ -92,6 +111,16 @@ export declare class DialogGuard {
|
|
|
92
111
|
private pressed;
|
|
93
112
|
/** Identity of the dialog the last press was aimed at. */
|
|
94
113
|
private lastAsked;
|
|
114
|
+
/**
|
|
115
|
+
* Every dialog whose full text has already gone back to a caller.
|
|
116
|
+
*
|
|
117
|
+
* A SET, not the one slot `lastAsked` uses, because two dialogs can be in
|
|
118
|
+
* play at once (parallel callers, or a prompt raised behind another) and one
|
|
119
|
+
* slot thrashes between them: telling the caller about the second forgets the
|
|
120
|
+
* first, so the first is relayed a second time and its form never goes up.
|
|
121
|
+
* Bounded by the same clean screen that resets everything else.
|
|
122
|
+
*/
|
|
123
|
+
private told;
|
|
95
124
|
/** The ask in flight, so parallel calls share it instead of each asking. */
|
|
96
125
|
private asking;
|
|
97
126
|
/** Which dialog that in-flight ask is about. */
|
|
@@ -120,17 +149,34 @@ export declare class DialogGuard {
|
|
|
120
149
|
*/
|
|
121
150
|
clear(): void;
|
|
122
151
|
/**
|
|
123
|
-
*
|
|
152
|
+
* Forget what has been said about a dialog, so the next one starts over.
|
|
124
153
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
154
|
+
* Both records are per-dialog and both are reset together: told-but-not-asked
|
|
155
|
+
* is a real state (the caller has the text and has not retried yet), and
|
|
156
|
+
* clearing one without the other either asks about a dialog nobody has read
|
|
157
|
+
* or re-reads one already answered.
|
|
129
158
|
*
|
|
130
|
-
*
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
159
|
+
* Only ever called where the screen is PROVEN clear, alongside `clear`.
|
|
160
|
+
*/
|
|
161
|
+
private forgetDialogRecords;
|
|
162
|
+
/**
|
|
163
|
+
* Whether the AGENT gets to answer the dialog in this mode.
|
|
164
|
+
*
|
|
165
|
+
* The one place that rule lives, and it settles two things that used to be
|
|
166
|
+
* settled separately: whether a refusal advertises the calls that press the
|
|
167
|
+
* buttons, and whether a press arriving as a tool call is accepted. They are
|
|
168
|
+
* the same question. Advertising without enforcing is how an agent came to
|
|
169
|
+
* answer a modal under interactive, which is the one outcome that mode
|
|
170
|
+
* exists to prevent.
|
|
171
|
+
*
|
|
172
|
+
* `auto` is the only mode whose contract hands the choice to the agent.
|
|
173
|
+
* interactive puts the question to the person over an elicitation form and
|
|
174
|
+
* presses only what they pick; defer waits for them at the editor's own
|
|
175
|
+
* window. In neither is a button the agent chose an acceptable answer, so
|
|
176
|
+
* neither names the press calls and neither accepts one.
|
|
177
|
+
*
|
|
178
|
+
* canElicit is still read, because interactive with nobody to ask is defer
|
|
179
|
+
* (see effectiveMode) rather than a quiet promotion to auto.
|
|
134
180
|
*/
|
|
135
181
|
static handsOverPressCalls(mode: DialogMode, canElicit?: boolean): boolean;
|
|
136
182
|
/**
|
|
@@ -156,6 +202,14 @@ export declare class DialogGuard {
|
|
|
156
202
|
check(subject: string, kind: "bridge" | "action", opts?: {
|
|
157
203
|
canElicit?: boolean;
|
|
158
204
|
}): Promise<GuardDecision>;
|
|
205
|
+
/**
|
|
206
|
+
* Whether this call has a person on it who can be shown a form.
|
|
207
|
+
*
|
|
208
|
+
* Both halves matter: the route has to carry somebody (an HTTP request does
|
|
209
|
+
* not) and the client has to have advertised elicitation. Computed once here
|
|
210
|
+
* so the gate and the refusal cannot answer it differently.
|
|
211
|
+
*/
|
|
212
|
+
private canAsk;
|
|
159
213
|
/**
|
|
160
214
|
* Recovery actions: always permitted, whatever is latched.
|
|
161
215
|
*
|
|
@@ -199,7 +253,7 @@ export declare class DialogGuard {
|
|
|
199
253
|
/** The one refusal shape, whatever the route and whatever the mode. */
|
|
200
254
|
refusal(subject: string, dialog: BlockingDialog, opts?: {
|
|
201
255
|
canElicit?: boolean;
|
|
202
|
-
}): Record<string, unknown>;
|
|
256
|
+
}, phase?: DialogPhase): Record<string, unknown>;
|
|
203
257
|
/**
|
|
204
258
|
* The refusal shape. ONE definition, so every route hands a caller the same
|
|
205
259
|
* fields to branch on.
|
|
@@ -210,7 +264,7 @@ export declare class DialogGuard {
|
|
|
210
264
|
* `dialogTitle`, `dialogMessage` or `error`, so a client reading those got
|
|
211
265
|
* undefined depending on which route refused it.
|
|
212
266
|
*/
|
|
213
|
-
static describeRefusal(subject: string, dialog: BlockingDialog, resolvedMode: DialogMode, canElicit?: boolean): Record<string, unknown>;
|
|
267
|
+
static describeRefusal(subject: string, dialog: BlockingDialog, resolvedMode: DialogMode, canElicit?: boolean, phase?: DialogPhase): Record<string, unknown>;
|
|
214
268
|
/**
|
|
215
269
|
* Learn from a bridge reply.
|
|
216
270
|
*
|
|
@@ -266,7 +320,7 @@ export declare function withoutDialogActuation<T extends IBridge>(session: Edito
|
|
|
266
320
|
* cannot carry the fields: an array is `typeof "object"`, so it took the
|
|
267
321
|
* properties and then lost them silently in JSON.stringify.
|
|
268
322
|
*/
|
|
269
|
-
export declare function stampBlockedEditor(data: unknown, dialog: BlockingDialog | null): unknown;
|
|
323
|
+
export declare function stampBlockedEditor(data: unknown, dialog: BlockingDialog | null, mode?: DialogMode): unknown;
|
|
270
324
|
/**
|
|
271
325
|
* The guard for a session, created from the session itself if it has none.
|
|
272
326
|
*
|
package/dist/dialog-guard.js
CHANGED
|
@@ -61,6 +61,30 @@ const ACTIONS_ALLOWED_WHILE_BLOCKED = new Set([
|
|
|
61
61
|
"editor.stop_editor",
|
|
62
62
|
"editor.restart_editor",
|
|
63
63
|
]);
|
|
64
|
+
/**
|
|
65
|
+
* The allow-listed actions that ANSWER the dialog rather than describe it.
|
|
66
|
+
*
|
|
67
|
+
* Being allow-listed says a call is safe to send while the game thread is
|
|
68
|
+
* parked. It does not say who may make it. These are the ones that press a
|
|
69
|
+
* button, so they are additionally subject to the mode: under interactive and
|
|
70
|
+
* defer the answer is the person's to give, and a press arriving on the action
|
|
71
|
+
* route is an agent giving it instead.
|
|
72
|
+
*/
|
|
73
|
+
const PRESS_ACTIONS = new Set(["editor.respond_to_dialog"]);
|
|
74
|
+
/**
|
|
75
|
+
* A dialog's message flattened onto one line, for a client that shows one.
|
|
76
|
+
*
|
|
77
|
+
* Unreal's own prompts are laid out over many lines (the shutdown Save Content
|
|
78
|
+
* prompt lists a package per line), and a renderer that keeps two of them shows
|
|
79
|
+
* two package names and hides the question. Flattened, the same budget carries
|
|
80
|
+
* the question itself.
|
|
81
|
+
*/
|
|
82
|
+
export function oneLine(text, limit = 220) {
|
|
83
|
+
const flat = text.replace(/\s+/g, " ").trim();
|
|
84
|
+
if (flat.length <= limit)
|
|
85
|
+
return flat;
|
|
86
|
+
return `${flat.slice(0, limit).trimEnd()} [continues below]`;
|
|
87
|
+
}
|
|
64
88
|
/** True for the refusal the plugin's own gate emits. */
|
|
65
89
|
export function isDialogRefusal(v) {
|
|
66
90
|
return typeof v === "object" && v !== null
|
|
@@ -100,6 +124,16 @@ export class DialogGuard {
|
|
|
100
124
|
pressed = null;
|
|
101
125
|
/** Identity of the dialog the last press was aimed at. */
|
|
102
126
|
lastAsked = null;
|
|
127
|
+
/**
|
|
128
|
+
* Every dialog whose full text has already gone back to a caller.
|
|
129
|
+
*
|
|
130
|
+
* A SET, not the one slot `lastAsked` uses, because two dialogs can be in
|
|
131
|
+
* play at once (parallel callers, or a prompt raised behind another) and one
|
|
132
|
+
* slot thrashes between them: telling the caller about the second forgets the
|
|
133
|
+
* first, so the first is relayed a second time and its form never goes up.
|
|
134
|
+
* Bounded by the same clean screen that resets everything else.
|
|
135
|
+
*/
|
|
136
|
+
told = new Set();
|
|
103
137
|
/** The ask in flight, so parallel calls share it instead of each asking. */
|
|
104
138
|
asking = null;
|
|
105
139
|
/** Which dialog that in-flight ask is about. */
|
|
@@ -144,20 +178,40 @@ export class DialogGuard {
|
|
|
144
178
|
this.blocking = null;
|
|
145
179
|
}
|
|
146
180
|
/**
|
|
147
|
-
*
|
|
181
|
+
* Forget what has been said about a dialog, so the next one starts over.
|
|
148
182
|
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
183
|
+
* Both records are per-dialog and both are reset together: told-but-not-asked
|
|
184
|
+
* is a real state (the caller has the text and has not retried yet), and
|
|
185
|
+
* clearing one without the other either asks about a dialog nobody has read
|
|
186
|
+
* or re-reads one already answered.
|
|
153
187
|
*
|
|
154
|
-
*
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
188
|
+
* Only ever called where the screen is PROVEN clear, alongside `clear`.
|
|
189
|
+
*/
|
|
190
|
+
forgetDialogRecords() {
|
|
191
|
+
this.lastAsked = null;
|
|
192
|
+
this.told.clear();
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Whether the AGENT gets to answer the dialog in this mode.
|
|
196
|
+
*
|
|
197
|
+
* The one place that rule lives, and it settles two things that used to be
|
|
198
|
+
* settled separately: whether a refusal advertises the calls that press the
|
|
199
|
+
* buttons, and whether a press arriving as a tool call is accepted. They are
|
|
200
|
+
* the same question. Advertising without enforcing is how an agent came to
|
|
201
|
+
* answer a modal under interactive, which is the one outcome that mode
|
|
202
|
+
* exists to prevent.
|
|
203
|
+
*
|
|
204
|
+
* `auto` is the only mode whose contract hands the choice to the agent.
|
|
205
|
+
* interactive puts the question to the person over an elicitation form and
|
|
206
|
+
* presses only what they pick; defer waits for them at the editor's own
|
|
207
|
+
* window. In neither is a button the agent chose an acceptable answer, so
|
|
208
|
+
* neither names the press calls and neither accepts one.
|
|
209
|
+
*
|
|
210
|
+
* canElicit is still read, because interactive with nobody to ask is defer
|
|
211
|
+
* (see effectiveMode) rather than a quiet promotion to auto.
|
|
158
212
|
*/
|
|
159
213
|
static handsOverPressCalls(mode, canElicit = true) {
|
|
160
|
-
return DialogGuard.effectiveMode(mode, canElicit)
|
|
214
|
+
return DialogGuard.effectiveMode(mode, canElicit) === "auto";
|
|
161
215
|
}
|
|
162
216
|
/**
|
|
163
217
|
* The mode as it actually applies, given whether anyone can be asked.
|
|
@@ -195,12 +249,39 @@ export class DialogGuard {
|
|
|
195
249
|
// game thread was parked) and a stale one was never corrected (so the very
|
|
196
250
|
// call that answered the dialog came back stamped as blocked).
|
|
197
251
|
const dialog = await this.currentDialog();
|
|
198
|
-
if (allowed)
|
|
252
|
+
if (allowed) {
|
|
253
|
+
// Allow-listed means "safe to send while the game thread is parked", not
|
|
254
|
+
// "may answer the question". respond_to_dialog is both, so who presses is
|
|
255
|
+
// still the mode's decision, and it was not being asked: an agent could
|
|
256
|
+
// press a button under interactive, which is exactly what that mode
|
|
257
|
+
// promises cannot happen.
|
|
258
|
+
//
|
|
259
|
+
// Only the ACTION route is gated. The press the guard itself makes, on
|
|
260
|
+
// the button the person picked in the elicitation form, goes over the
|
|
261
|
+
// bridge; gating that would refuse the one press interactive exists to
|
|
262
|
+
// make.
|
|
263
|
+
if (dialog
|
|
264
|
+
&& kind === "action"
|
|
265
|
+
&& PRESS_ACTIONS.has(subject)
|
|
266
|
+
&& !DialogGuard.handsOverPressCalls(this.deps.mode(), this.canAsk(opts))) {
|
|
267
|
+
return { allow: false, refusal: this.refusal(subject, dialog, opts) };
|
|
268
|
+
}
|
|
199
269
|
return { allow: true };
|
|
270
|
+
}
|
|
200
271
|
if (!dialog)
|
|
201
272
|
return { allow: true };
|
|
202
273
|
return this.decideFor(subject, dialog, opts);
|
|
203
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Whether this call has a person on it who can be shown a form.
|
|
277
|
+
*
|
|
278
|
+
* Both halves matter: the route has to carry somebody (an HTTP request does
|
|
279
|
+
* not) and the client has to have advertised elicitation. Computed once here
|
|
280
|
+
* so the gate and the refusal cannot answer it differently.
|
|
281
|
+
*/
|
|
282
|
+
canAsk(opts) {
|
|
283
|
+
return opts.canElicit !== false && this.deps.elicit?.() !== undefined;
|
|
284
|
+
}
|
|
204
285
|
/**
|
|
205
286
|
* Recovery actions: always permitted, whatever is latched.
|
|
206
287
|
*
|
|
@@ -237,6 +318,36 @@ export class DialogGuard {
|
|
|
237
318
|
// MCP client last touched this guard and press a real button on its
|
|
238
319
|
// answer, for a request that client never made.
|
|
239
320
|
const mayAsk = opts.canElicit !== false;
|
|
321
|
+
// For a dialog the form cannot hold, it goes up on the SECOND call.
|
|
322
|
+
//
|
|
323
|
+
// An elicitation form is a few lines tall and the client decides how many
|
|
324
|
+
// of them to draw; one keeps the opening line or two and collapses the
|
|
325
|
+
// rest behind "(+N more lines)" with no way to expand it. Ordering the
|
|
326
|
+
// lines buys the title and a flattened gist, and that is all it can buy:
|
|
327
|
+
// a long prompt still has a tail nothing in the form can reach.
|
|
328
|
+
//
|
|
329
|
+
// A tool result has no such budget, and the assistant's own reply has none
|
|
330
|
+
// either. So a dialog that does not fit answers the first gated call whole
|
|
331
|
+
// and refuses, which ends that call and puts the text in front of the
|
|
332
|
+
// person through the transcript. The next call raises the form over what
|
|
333
|
+
// they have already read.
|
|
334
|
+
//
|
|
335
|
+
// EVERY dialog, with no exemption for the action that met it and none for
|
|
336
|
+
// a message that looks short enough to fit. Both exemptions were tried and
|
|
337
|
+
// both were wrong: stop_editor is where Unreal's own Save Content prompt
|
|
338
|
+
// appears, so exempting the recovery actions exempts the case this exists
|
|
339
|
+
// for, and "short enough" is a guess about a budget the client never
|
|
340
|
+
// states, where a line that fits logically still wraps on screen. A rule
|
|
341
|
+
// that holds for some dialogs is one nobody can rely on for any.
|
|
342
|
+
//
|
|
343
|
+
// Whichever call relays also refuses, so the two phases cannot both land
|
|
344
|
+
// inside one: a refusal never reaches the bridge, and the second check that
|
|
345
|
+
// a dispatched call would make never happens.
|
|
346
|
+
const interactive = DialogGuard.effectiveMode(this.deps.mode(), this.canAsk(opts)) === "interactive";
|
|
347
|
+
if (interactive && !this.told.has(identity)) {
|
|
348
|
+
this.told.add(identity);
|
|
349
|
+
return { allow: false, refusal: this.refusal(subject, dialog, opts, "relay") };
|
|
350
|
+
}
|
|
240
351
|
if (mayAsk && this.deps.mode() === "interactive" && this.lastAsked !== identity) {
|
|
241
352
|
// Parallel tool calls share one ask. Clients batch calls, and asking per
|
|
242
353
|
// call put three forms in front of the person and pressed three real
|
|
@@ -311,7 +422,7 @@ export class DialogGuard {
|
|
|
311
422
|
// names, with no way back but restarting the server.
|
|
312
423
|
if (this.staleStatus) {
|
|
313
424
|
this.clear();
|
|
314
|
-
this.
|
|
425
|
+
this.forgetDialogRecords();
|
|
315
426
|
return null;
|
|
316
427
|
}
|
|
317
428
|
return this.blocking;
|
|
@@ -339,7 +450,7 @@ export class DialogGuard {
|
|
|
339
450
|
const socketUp = this.deps.isConnected?.() === true;
|
|
340
451
|
if (!socketUp && (this.staleStatus || this.deps.readSnapshot === undefined)) {
|
|
341
452
|
this.clear();
|
|
342
|
-
this.
|
|
453
|
+
this.forgetDialogRecords();
|
|
343
454
|
return null;
|
|
344
455
|
}
|
|
345
456
|
return this.blocking;
|
|
@@ -358,7 +469,7 @@ export class DialogGuard {
|
|
|
358
469
|
// a press must not reset it, or the next check re-prompts for a dialog
|
|
359
470
|
// that press was meant to answer and presses a second button.
|
|
360
471
|
this.clear();
|
|
361
|
-
this.
|
|
472
|
+
this.forgetDialogRecords();
|
|
362
473
|
return null;
|
|
363
474
|
}
|
|
364
475
|
const dialog = asDialog(first);
|
|
@@ -373,17 +484,26 @@ export class DialogGuard {
|
|
|
373
484
|
return { shown: false, press: null };
|
|
374
485
|
const LEAVE_OPEN = "Leave the dialog open";
|
|
375
486
|
let answer;
|
|
487
|
+
// Which line comes FIRST is the only lever there is over how this reads.
|
|
488
|
+
//
|
|
489
|
+
// A client renders the elicitation message itself, and at least one shows
|
|
490
|
+
// the opening line or two and collapses the rest behind "(+N more lines)".
|
|
491
|
+
// This used to open with two lines of boilerplate, so what got collapsed
|
|
492
|
+
// was the dialog's own title and text: the person was asked to choose a
|
|
493
|
+
// button for a question they could not see. Nothing in the protocol asks a
|
|
494
|
+
// client for more room and there is no richer rendering to fall back on, so
|
|
495
|
+
// the title and the gist go first and the boilerplate goes last.
|
|
496
|
+
const full = dialog.message === "" ? "(no message text)" : dialog.message;
|
|
497
|
+
const gist = oneLine(full);
|
|
498
|
+
const message = [`Unreal is blocked: ${dialog.title === "" ? "(untitled dialog)" : dialog.title}`, gist];
|
|
499
|
+
// Repeated whole only when compacting actually dropped something, so a
|
|
500
|
+
// client that shows the lot does not read the same sentence twice.
|
|
501
|
+
if (gist !== full)
|
|
502
|
+
message.push("", full);
|
|
503
|
+
message.push("", "Nothing else can run until this is answered, and nothing is pressed unless you choose it.");
|
|
376
504
|
try {
|
|
377
505
|
answer = await elicit({
|
|
378
|
-
message:
|
|
379
|
-
"Unreal Editor is blocked on a modal dialog and is waiting for an answer.",
|
|
380
|
-
"Nothing else can run until it is answered.",
|
|
381
|
-
"",
|
|
382
|
-
`Title: ${dialog.title}`,
|
|
383
|
-
dialog.message === "" ? "(no message text)" : dialog.message,
|
|
384
|
-
"",
|
|
385
|
-
"Choose the button to press. Nothing is pressed unless you choose it.",
|
|
386
|
-
].join("\n"),
|
|
506
|
+
message: message.join("\n"),
|
|
387
507
|
requestedSchema: {
|
|
388
508
|
type: "object",
|
|
389
509
|
properties: {
|
|
@@ -442,9 +562,8 @@ export class DialogGuard {
|
|
|
442
562
|
}
|
|
443
563
|
}
|
|
444
564
|
/** The one refusal shape, whatever the route and whatever the mode. */
|
|
445
|
-
refusal(subject, dialog, opts = {}) {
|
|
446
|
-
|
|
447
|
-
return DialogGuard.describeRefusal(subject, dialog, this.deps.mode(), canAsk);
|
|
565
|
+
refusal(subject, dialog, opts = {}, phase = "asking") {
|
|
566
|
+
return DialogGuard.describeRefusal(subject, dialog, this.deps.mode(), this.canAsk(opts), phase);
|
|
448
567
|
}
|
|
449
568
|
/**
|
|
450
569
|
* The refusal shape. ONE definition, so every route hands a caller the same
|
|
@@ -456,34 +575,76 @@ export class DialogGuard {
|
|
|
456
575
|
* `dialogTitle`, `dialogMessage` or `error`, so a client reading those got
|
|
457
576
|
* undefined depending on which route refused it.
|
|
458
577
|
*/
|
|
459
|
-
static describeRefusal(subject, dialog, resolvedMode, canElicit = true) {
|
|
578
|
+
static describeRefusal(subject, dialog, resolvedMode, canElicit = true, phase = "asking") {
|
|
460
579
|
const mode = DialogGuard.effectiveMode(resolvedMode, canElicit);
|
|
580
|
+
// Only interactive has two phases. auto and defer say everything they have
|
|
581
|
+
// to say on the first refusal and repeat it, so a phase they never enter
|
|
582
|
+
// must not appear in what they report.
|
|
583
|
+
const dialogPhase = mode === "interactive" ? phase : "asking";
|
|
461
584
|
const common = {
|
|
462
585
|
success: false,
|
|
463
586
|
dialogBlocking: true,
|
|
464
587
|
refusedMethod: subject,
|
|
465
588
|
dialogMode: mode,
|
|
589
|
+
dialogPhase,
|
|
466
590
|
dialogTitle: dialog.title,
|
|
467
591
|
dialogMessage: dialog.message,
|
|
468
592
|
buttons: dialog.buttons,
|
|
469
593
|
};
|
|
470
594
|
const preamble = `A modal dialog is blocking the editor, so '${subject}' was refused without running. `
|
|
471
595
|
+ "Unreal cannot execute anything else until the dialog is answered. ";
|
|
596
|
+
// Only auto hands the decision over, so only auto is told how to press.
|
|
597
|
+
//
|
|
598
|
+
// The other two used to be handed it as well: defer withheld `choices` and
|
|
599
|
+
// then named editor(respond_to_dialog) in the next sentence, and
|
|
600
|
+
// interactive shared auto's branch outright, so a person who declined the
|
|
601
|
+
// form had their refusal converted into the agent's authority to answer.
|
|
602
|
+
// Naming the call is what makes it happen, and the gate in `check` now
|
|
603
|
+
// refuses it either way, so saying it would only describe a call that
|
|
604
|
+
// comes back refused.
|
|
605
|
+
if (mode === "interactive") {
|
|
606
|
+
// Phase one. The form is a few lines tall and the client decides how many
|
|
607
|
+
// it draws, so the dialog is handed over here, where nothing is truncated,
|
|
608
|
+
// and the form goes up on the next call. Quoting it is the point of the
|
|
609
|
+
// round trip: an assistant's own reply has no line budget either, and it
|
|
610
|
+
// is what the person actually reads.
|
|
611
|
+
if (dialogPhase === "relay") {
|
|
612
|
+
return {
|
|
613
|
+
...common,
|
|
614
|
+
error: preamble
|
|
615
|
+
+ "Dialog mode is interactive, so the question belongs to the person, and their form "
|
|
616
|
+
+ "goes up on the NEXT call rather than this one. The form is only a few lines tall "
|
|
617
|
+
+ "and a client may collapse the rest of it, so read dialogTitle and dialogMessage "
|
|
618
|
+
+ "above and QUOTE THEM IN FULL in your reply, then retry this action to raise the "
|
|
619
|
+
+ "form over what you quoted. Do not recommend a button and do not answer it: nothing "
|
|
620
|
+
+ "here can, and a press sent from here is refused.",
|
|
621
|
+
};
|
|
622
|
+
}
|
|
623
|
+
return {
|
|
624
|
+
...common,
|
|
625
|
+
error: preamble
|
|
626
|
+
+ "Dialog mode is interactive, so the question belongs to the person: it is put to them "
|
|
627
|
+
+ "in a form and only the button THEY choose is pressed. Nothing here can answer it, and "
|
|
628
|
+
+ "a press sent from here is refused. Wait for them, or let them answer it in the Unreal "
|
|
629
|
+
+ "Editor window. Every other action returns this same refusal until then.",
|
|
630
|
+
};
|
|
631
|
+
}
|
|
472
632
|
if (mode === "defer") {
|
|
473
633
|
return {
|
|
474
634
|
...common,
|
|
475
635
|
error: preamble
|
|
476
636
|
+ "Dialog mode is defer, so this names the dialog but not the calls that press its "
|
|
477
|
-
+ "buttons
|
|
478
|
-
+ "
|
|
637
|
+
+ "buttons, and a press sent from here is refused: a person answers it in the Unreal "
|
|
638
|
+
+ "Editor window. Every other action returns this same refusal until then.",
|
|
479
639
|
};
|
|
480
640
|
}
|
|
481
641
|
return {
|
|
482
642
|
...common,
|
|
483
643
|
choices: dialog.choices,
|
|
484
644
|
error: preamble
|
|
485
|
-
+ "
|
|
486
|
-
+ "choices. Every other action returns
|
|
645
|
+
+ "Dialog mode is auto, so the decision is yours. Read it in dialogMessage, choose a "
|
|
646
|
+
+ "button, and press it with the call beside it in choices. Every other action returns "
|
|
647
|
+
+ "this same refusal until then.",
|
|
487
648
|
};
|
|
488
649
|
}
|
|
489
650
|
/**
|
|
@@ -623,7 +784,7 @@ export function withoutDialogActuation(session, raw) {
|
|
|
623
784
|
* cannot carry the fields: an array is `typeof "object"`, so it took the
|
|
624
785
|
* properties and then lost them silently in JSON.stringify.
|
|
625
786
|
*/
|
|
626
|
-
export function stampBlockedEditor(data, dialog) {
|
|
787
|
+
export function stampBlockedEditor(data, dialog, mode = "defer") {
|
|
627
788
|
if (!dialog)
|
|
628
789
|
return data;
|
|
629
790
|
if (data === null || typeof data !== "object" || Array.isArray(data))
|
|
@@ -632,9 +793,20 @@ export function stampBlockedEditor(data, dialog) {
|
|
|
632
793
|
out.editorBlockedByDialog = true;
|
|
633
794
|
out.dialogTitle = dialog.title;
|
|
634
795
|
out.dialogMessage = dialog.message;
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
796
|
+
// The note takes the mode for the same reason the refusal does, and it
|
|
797
|
+
// matters more here: this rides on get_status, the first call every client
|
|
798
|
+
// makes. It used to name editor(respond_to_dialog) under every mode, so the
|
|
799
|
+
// opening read of an interactive session handed the agent the one call that
|
|
800
|
+
// mode forbids it, before anything had been refused.
|
|
801
|
+
//
|
|
802
|
+
// Defaults to defer, the mode that says least, so a caller that has not
|
|
803
|
+
// resolved a mode cannot leak a wider one by omission.
|
|
804
|
+
out.dialogNote = DialogGuard.handsOverPressCalls(mode)
|
|
805
|
+
? "A modal dialog is blocking this editor. Every other action is refused until it is "
|
|
806
|
+
+ "answered: read it with editor(list_dialogs) and press with editor(respond_to_dialog)."
|
|
807
|
+
: "A modal dialog is blocking this editor. Every other action is refused until it is "
|
|
808
|
+
+ `answered, and in ${mode} mode it is answered by a person, not from here: read it with `
|
|
809
|
+
+ "editor(list_dialogs) if you need to see it, but a press sent from here is refused.";
|
|
638
810
|
return out;
|
|
639
811
|
}
|
|
640
812
|
/** One guard per editor. */
|
package/dist/dialog-guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-guard.js","sourceRoot":"","sources":["../src/dialog-guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dialog-guard.js","sourceRoot":"","sources":["../src/dialog-guard.ts"],"names":[],"mappings":"AAuCA;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,yBAAyB;IACzB,gBAAgB;IAChB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,yBAAyB;IACzB,gBAAgB;CACjB,CAAC,CAAC;AAEH,iEAAiE;AACjE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,iCAAiC;IACjC,qBAAqB;IACrB,0BAA0B;IAC1B,0BAA0B;IAC1B,6BAA6B;IAC7B,yBAAyB;IACzB,oBAAoB;IACpB,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,uDAAuD;IACvD,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,KAAK,GAAG,GAAG;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC;AAC/D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;WACpC,CAA6B,CAAC,cAAc,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,uDAAuD;AACvD,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;QAC7D,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QACnE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,OAAO;QACL,KAAK;QACL,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,OAAoB,CAAC,CAAC,CAAC,EAAE;QAChE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAE,CAAC,CAAC,OAA+D;YACpE,CAAC,CAAC,EAAE;KACP,CAAC;AACJ,CAAC;AA0DD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C,MAAM,OAAO,WAAW;IAwBF;IAvBZ,QAAQ,GAA0B,IAAI,CAAC;IAC/C,4EAA4E;IACpE,WAAW,GAAG,KAAK,CAAC;IAC5B,wEAAwE;IAChE,OAAO,GAAuB,IAAI,CAAC;IAC3C,0DAA0D;IAClD,SAAS,GAAkB,IAAI,CAAC;IACxC;;;;;;;;OAQG;IACK,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,4EAA4E;IACpE,MAAM,GAA+B,IAAI,CAAC;IAClD,gDAAgD;IACxC,SAAS,GAAkB,IAAI,CAAC;IAChC,IAAI,GAA0B,IAAI,CAAC;IAE3C,YAAoB,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;IAAG,CAAC;IAEvC,oEAAoE;IACpE,OAAO,CAAC,IAAe;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,4EAA4E;IAC5E,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,4EAA4E;IAC5E,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC;IAC5C,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,MAAsB;QACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;;;OASG;IACK,mBAAmB;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAgB,EAAE,SAAS,GAAG,IAAI;QAC3D,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,MAAM,CAAC;IAC/D,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,CAAC,IAAgB,EAAE,SAAkB;QACvD,OAAO,IAAI,KAAK,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED,oEAAoE;IACpE,MAAM,CAAC,aAAa,CAAC,MAAc;QACjC,OAAO,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,aAAa,CAAC,QAAgB;QACnC,OAAO,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACT,OAAe,EACf,IAAyB,EACzB,OAAgC,EAAE;QAElC,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEvC,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,+DAA+D;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,oEAAoE;YACpE,0BAA0B;YAC1B,EAAE;YACF,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,QAAQ;YACR,IACE,MAAM;mBACH,IAAI,KAAK,QAAQ;mBACjB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;mBAC1B,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACxE,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACxE,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,IAA6B;QAC1C,OAAO,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,SAAS,CAAC;IACxE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAgB;QACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,OAAe,EACf,MAAsB,EACtB,OAAgC,EAAE;QAElC,uEAAuE;QACvE,sEAAsE;QACtE,EAAE;QACF,qEAAqE;QACrE,sEAAsE;QACtE,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QACxD,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,gDAAgD;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;QACxC,oEAAoE;QACpE,EAAE;QACF,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,0BAA0B;QAC1B,EAAE;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,yEAAyE;QACzE,iEAAiE;QACjE,EAAE;QACF,yEAAyE;QACzE,4EAA4E;QAC5E,8CAA8C;QAC9C,MAAM,WAAW,GACf,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,aAAa,CAAC;QACnF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChF,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,iCAAiC;YACjC,yEAAyE;YACzE,sEAAsE;YACtE,2CAA2C;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAC9B,sEAAsE;YACtE,kEAAkE;YAClE,qEAAqE;YACrE,4CAA4C;YAC5C,IAAI,OAAO,CAAC,KAAK;gBAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,oEAAoE;YACpE,yBAAyB;YACzB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa;QACzB,wEAAwE;QACxE,wEAAwE;QACxE,iEAAiE;QACjE,4EAA4E;QAC5E,0EAA0E;QAC1E,4CAA4C;QAC5C,EAAE;QACF,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,wEAAwE;QACxE,8DAA8D;QAC9D,EAAE;QACF,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC;YACxC,oEAAoE;YACpE,wEAAwE;YACxE,oEAAoE;YACpE,qDAAqD;YACrD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,oEAAoE;YACpE,qEAAqE;YACrE,yEAAyE;YACzE,SAAS;YACT,EAAE;YACF,qEAAqE;YACrE,uEAAuE;YACvE,yEAAyE;YACzE,gCAAgC;YAChC,EAAE;YACF,yEAAyE;YACzE,mEAAmE;YACnE,sEAAsE;YACtE,sEAAsE;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,IAAI,CAAC;YACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAI,QAAkC,EAAE,OAAO,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,iEAAiE;YACjE,wEAAwE;YACxE,mEAAmE;YACnE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,yEAAyE;YACzE,wEAAwE;YACxE,uEAAuE;YACvE,8DAA8D;YAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mEAAmE;IAC3D,KAAK,CAAC,OAAO,CAAC,MAAsB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACjF,MAAM,UAAU,GAAG,uBAAuB,CAAC;QAC3C,IAAI,MAAM,CAAC;QACX,yEAAyE;QACzE,EAAE;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,iEAAiE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,sBAAsB,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QACzG,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,2FAA2F,CAAC,CAAC;QAC9G,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,MAAM,CAAC;gBACpB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,QAAQ;4BACf,WAAW,EAAE,0DAA0D;4BACvE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;yBACtC;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC7F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC1E,2BAA2B;QAC3B,EAAE;QACF,yCAAyC;QACzC,uEAAuE;QACvE,uDAAuD;QACvD,0EAA0E;QAC1E,4EAA4E;QAC5E,EAAE;QACF,yEAAyE;QACzE,sBAAsB;QACtB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBACnD,CAAC,CAAE,KAAiC;gBACpC,CAAC,CAAC,EAAE,CAAC;YACP,kDAAkD;YAClD,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI;gBACnC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK;gBACrD,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;YACvB,IAAI,SAAS;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YAClF,2EAA2E;YAC3E,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC7D,uEAAuE;YACvE,mEAAmE;YACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,OAAO,CACL,OAAe,EACf,MAAsB,EACtB,OAAgC,EAAE,EAClC,QAAqB,QAAQ;QAE7B,OAAO,WAAW,CAAC,eAAe,CAChC,OAAO,EACP,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACjB,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CACpB,OAAe,EACf,MAAsB,EACtB,YAAwB,EACxB,SAAS,GAAG,IAAI,EAChB,QAAqB,QAAQ;QAE7B,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChE,2EAA2E;QAC3E,yEAAyE;QACzE,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,OAAO;YACtB,UAAU,EAAE,IAAI;YAChB,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,MAAM,QAAQ,GACZ,8CAA8C,OAAO,iCAAiC;cACpF,oEAAoE,CAAC;QAEzE,wEAAwE;QACxE,EAAE;QACF,2EAA2E;QAC3E,iEAAiE;QACjE,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,sBAAsB;QACtB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,qCAAqC;YACrC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACL,GAAG,MAAM;oBACT,KAAK,EACH,QAAQ;0BACN,oFAAoF;0BACpF,mFAAmF;0BACnF,kFAAkF;0BAClF,kFAAkF;0BAClF,qFAAqF;0BACrF,kDAAkD;iBACvD,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,GAAG,MAAM;gBACT,KAAK,EACH,QAAQ;sBACN,uFAAuF;sBACvF,wFAAwF;sBACxF,wFAAwF;sBACxF,yEAAyE;aAC9E,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO;gBACL,GAAG,MAAM;gBACT,KAAK,EACH,QAAQ;sBACN,kFAAkF;sBAClF,oFAAoF;sBACpF,yEAAyE;aAC9E,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EACH,QAAQ;kBACN,oFAAoF;kBACpF,sFAAsF;kBACtF,+BAA+B;SACpC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAc,EAAE,MAAe;QACrC,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,UAAU,GAAG,IAAI;QAC7B,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YACpC,IAAI,IAAqD,CAAC;YAC1D,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,wEAAwE;YACxE,mEAAmE;YACnE,yEAAyE;YACzE,4DAA4D;YAC5D,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI;mBACtB,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC;YACvF,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/D,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC;IACT,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CAAoB,OAAsB,EAAE,GAAM;IACtF,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;QACpB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChE,OAAO,KAAK,EAAE,MAAc,EAAE,MAAgC,EAAE,SAAkB,EAAE,EAAE;gBACpF,MAAM,WAAW,GAAG,MAAM,KAAK,mBAAmB,IAAI,MAAM,KAAK,qBAAqB,CAAC;gBACvF,IAAI,CAAC,WAAW;oBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAEhE,mEAAmE;gBACnE,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,sEAAsE;gBACtE,6BAA6B;gBAC7B,EAAE;gBACF,oEAAoE;gBACpE,qEAAqE;gBACrE,uCAAuC;gBACvC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO;wBACL,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;wBAC3E,KAAK,EACH,IAAI,MAAM,yEAAyE;8BACjF,6EAA6E;8BAC7E,4BAA4B;qBACjC,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAa,EACb,MAA6B,EAC7B,OAAmB,OAAO;IAE1B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IAC/B,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,qDAAqD;IACrD,EAAE;IACF,wEAAwE;IACxE,uDAAuD;IACvD,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC;QACpD,CAAC,CAAC,oFAAoF;cAClF,uFAAuF;QAC3F,CAAC,CAAC,oFAAoF;cAClF,oBAAoB,IAAI,gEAAgE;cACxF,oFAAoF,CAAC;IAC3F,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4BAA4B;AAC5B,MAAM,MAAM,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsB;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,4EAA4E;IAC5E,yBAAyB;IACzB,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAClE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI;QACxF,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACrD,KAAK,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,CAAC;QAC1F,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;QAC7C,YAAY,EAAE,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC;YAC3F,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;KACF,CAAC,CAAC;IACH,KAAK,CAAC,aAAa,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAsB,EAAE,IAAe;IAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,wEAAwE;QACxE,sEAAsE;QACtE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,+BAA+B;QAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/editor-control.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ProjectContext } from "./project.js";
|
|
2
2
|
import { type EngineState } from "./engine-observer.js";
|
|
3
3
|
import { type DialogMode } from "./user-state.js";
|
|
4
|
-
import { DialogGuard } from "./dialog-guard.js";
|
|
4
|
+
import { DialogGuard, type DialogPhase } from "./dialog-guard.js";
|
|
5
5
|
import type { ElicitFn, ProgressFn } from "./types.js";
|
|
6
6
|
/**
|
|
7
7
|
* Is anything answering on this port? Exported so a session can be reported as
|
|
@@ -258,6 +258,8 @@ export interface DialogPress {
|
|
|
258
258
|
/** True when the editor answered that it pressed it. */
|
|
259
259
|
confirmed: boolean;
|
|
260
260
|
}
|
|
261
|
+
/** Whether this editor has a quit out that has not taken effect. */
|
|
262
|
+
export declare function quitIsInFlight(key: string): boolean;
|
|
261
263
|
/**
|
|
262
264
|
* Which editor belongs to the loaded project, decided once so that every
|
|
263
265
|
* lifecycle action agrees about it.
|
|
@@ -354,6 +356,13 @@ export interface StopEditorResult {
|
|
|
354
356
|
dialogMode?: DialogMode;
|
|
355
357
|
/** Why that mode applied: the env var, the stored preference, or the default. */
|
|
356
358
|
dialogModeSource?: string;
|
|
359
|
+
/**
|
|
360
|
+
* How far interactive got with this dialog. "relay" says it was handed back
|
|
361
|
+
* whole and no form went up, which is the state a retry turns into a form,
|
|
362
|
+
* and which every other field here would otherwise render as a person who
|
|
363
|
+
* was shown one and chose nothing.
|
|
364
|
+
*/
|
|
365
|
+
dialogPhase?: DialogPhase;
|
|
357
366
|
}
|
|
358
367
|
/**
|
|
359
368
|
* What a restart returns. It is the start's result plus the stop half's account
|
|
@@ -382,6 +391,7 @@ export interface RestartEditorResult {
|
|
|
382
391
|
dialogPressUnconfirmed?: string;
|
|
383
392
|
dialogMode?: DialogMode;
|
|
384
393
|
dialogModeSource?: string;
|
|
394
|
+
dialogPhase?: DialogPhase;
|
|
385
395
|
/**
|
|
386
396
|
* The guard's refusal fields, carried through from the stop half. Copying
|
|
387
397
|
* only the account of what happened dropped these, so a restart refused by a
|