ue-mcp 1.4.0-beta.3 → 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.
@@ -91,6 +91,57 @@ export interface ElicitResult {
91
91
  action: "accept" | "decline" | "cancel";
92
92
  content?: Record<string, string | number | boolean | string[]>;
93
93
  }
94
+ /**
95
+ * A blocking dialog put to a daemon extension, for a call that extension made.
96
+ *
97
+ * The same form an MCP client is elicited with (`message`, `requestedSchema`,
98
+ * answered with `content.button` and, for a dialog with rows, `content.items`),
99
+ * plus the dialog itself so the extension can draw it rather than parse it.
100
+ */
101
+ export interface DialogPromptRequest extends ElicitParams {
102
+ dialog: {
103
+ /** The editor showing it. */
104
+ editor: string;
105
+ title: string;
106
+ message: string;
107
+ /** In the order the dialog lays them out. */
108
+ buttons: string[];
109
+ /** The rows a person can tick, for a dialog that asks per item. */
110
+ items?: Array<{
111
+ index: number;
112
+ label: string;
113
+ cells: string[];
114
+ checked: boolean;
115
+ }>;
116
+ /** The `category.action` whose call met the dialog. */
117
+ subject: string;
118
+ /** An answer sooner than this many milliseconds is not taken as a person's. */
119
+ minHumanMs: number;
120
+ };
121
+ }
122
+ /**
123
+ * The form's three answers, or `delegate`: the person handed this one dialog
124
+ * to the agent, which may then answer it as it would in auto mode.
125
+ */
126
+ export type DialogPromptResult = ElicitResult | {
127
+ action: "delegate";
128
+ };
129
+ export type DialogPromptFn = (request: DialogPromptRequest) => Promise<DialogPromptResult>;
130
+ /** Options for one action run in process, by a daemon extension. */
131
+ export interface InProcessCallOptions {
132
+ /**
133
+ * Who a blocking dialog this call meets is put to, in place of an MCP
134
+ * elicitation form. Without it nobody is asked, and a mode that wants a
135
+ * person (interactive) applies as defer.
136
+ */
137
+ dialogPrompt?: DialogPromptFn;
138
+ /**
139
+ * How long this call waits on an open prompt before it returns the dialog
140
+ * refusal, in milliseconds. The prompt stays up either way, and whatever it
141
+ * answers later is still pressed. Default 60000.
142
+ */
143
+ dialogWaitMs?: number;
144
+ }
94
145
  export interface ToolContext {
95
146
  bridge: IBridge;
96
147
  project: ProjectContext;
@@ -2,6 +2,8 @@ import { type Runtime } from "../server/runtime.js";
2
2
  import { EventLog } from "./events.js";
3
3
  import { ExpectedDisconnect } from "./disconnect.js";
4
4
  import { type EditorStatus } from "./extension-api.js";
5
+ /** What this daemon's extension API offers beyond its version number. */
6
+ export declare const EXTENSION_FEATURES: readonly string[];
5
7
  import { type LoadedExtension } from "./extensions.js";
6
8
  import { UiBundleStore } from "./ui-bundles.js";
7
9
  export type EditorState = EditorStatus;
@@ -35,6 +35,9 @@ import { handleFlowRoute, hostIsAllowed } from "../flow/http-server.js";
35
35
  import { userDir } from "../core/user-dir.js";
36
36
  import { readRegistryAuth } from "../extensions/registry-auth.js";
37
37
  import { EXTENSION_API_VERSION } from "./extension-api.js";
38
+ import { existingGuard, onDialogEvent } from "../editor/dialog-guard.js";
39
+ /** What this daemon's extension API offers beyond its version number. */
40
+ export const EXTENSION_FEATURES = ["callAction.dialogPrompt", "events.dialog"];
38
41
  import { loadExtensions, matchRoute, normalizeResponse } from "./extensions.js";
39
42
  import { UiBundleStore, contentType } from "./ui-bundles.js";
40
43
  import { collectStatus } from "../cli/status.js";
@@ -48,6 +51,25 @@ export async function startDaemon(opts) {
48
51
  const rt = await createRuntime(opts.projects);
49
52
  const projectDir = rt.project.projectDir ?? process.cwd();
50
53
  const events = new EventLog();
54
+ // Every guard's dialogs on the event stream, so a UI can show a dialog it
55
+ // was never asked about. One raised before this subscribed is replayed.
56
+ const unsubscribeDialogs = onDialogEvent(({ type, ...data }) => {
57
+ events.publish(`dialog.${type}`, data);
58
+ });
59
+ for (const s of rt.sessions.list()) {
60
+ const guard = existingGuard(s);
61
+ const open = guard?.current;
62
+ if (guard && open) {
63
+ events.publish("dialog.opened", {
64
+ editor: guard.label,
65
+ title: open.title,
66
+ message: open.message,
67
+ buttons: open.buttons,
68
+ ...(open.items ? { items: open.items } : {}),
69
+ mode: guard.mode,
70
+ });
71
+ }
72
+ }
51
73
  const expected = new ExpectedDisconnect();
52
74
  const token = newToken();
53
75
  const startedAt = new Date().toISOString();
@@ -317,10 +339,14 @@ export async function startDaemon(opts) {
317
339
  route: (method, routePath, handler) => {
318
340
  routes.push({ method, path: routePath, handler });
319
341
  },
320
- callAction: async (category, action, args) => {
321
- const r = await rt.callAction(category, action, args);
342
+ callAction: async (category, action, args, callOpts) => {
343
+ const r = await rt.callAction(category, action, args, {
344
+ ...(callOpts?.dialogPrompt ? { dialogPrompt: callOpts.dialogPrompt } : {}),
345
+ ...(callOpts?.dialogWaitMs !== undefined ? { dialogWaitMs: callOpts.dialogWaitMs } : {}),
346
+ });
322
347
  return { isError: !!r.isError, content: r.content };
323
348
  },
349
+ features: EXTENSION_FEATURES,
324
350
  editors: () => editors(),
325
351
  editorOperation: (op) => editorOp(op),
326
352
  setBusy,
@@ -537,6 +563,7 @@ export async function startDaemon(opts) {
537
563
  for (const t of updateTimers)
538
564
  clearTimeout(t);
539
565
  unsubscribeFlows();
566
+ unsubscribeDialogs();
540
567
  for (const x of extensions)
541
568
  await Promise.resolve(x.dispose?.()).catch((e) => warn("extension", `${x.name} dispose failed`, e));
542
569
  for (const w of watchers)
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * built against one EXTENSION_API_VERSION keeps working until that number
4
4
  * changes, so anything here changes additively or bumps it.
5
5
  */
6
+ import type { DialogPromptFn } from "../core/types.js";
6
7
  import type { DisconnectCause } from "./disconnect.js";
7
8
  import type { DaemonEvent } from "./events.js";
8
9
  import type { UiManifest } from "./ui-bundles.js";
@@ -35,6 +36,39 @@ export interface ExtensionResponse {
35
36
  body?: unknown;
36
37
  }
37
38
  export type ExtensionHandler = (req: ExtensionRequest) => ExtensionResponse | undefined | Promise<ExtensionResponse | undefined>;
39
+ /** Options for one callAction. */
40
+ export interface CallActionOptions {
41
+ /**
42
+ * Answers a blocking dialog this call meets, in place of an MCP elicitation
43
+ * form, with the same contract: the form (message, requestedSchema) plus the
44
+ * dialog itself, answered accept with content.button, decline or cancel, or
45
+ * delegate to hand that one dialog to the agent as auto mode would. An answer
46
+ * sooner than dialog.minHumanMs is not taken as a person's.
47
+ */
48
+ dialogPrompt?: DialogPromptFn;
49
+ /** How long the call waits on an open prompt before returning the dialog refusal, in ms. Default 60000. */
50
+ dialogWaitMs?: number;
51
+ }
52
+ /**
53
+ * The data of a dialog.* event. `type` names the event: dialog.opened,
54
+ * dialog.answered (button, and via: prompt or action), dialog.delegated,
55
+ * dialog.closed.
56
+ */
57
+ export interface DialogEventData {
58
+ editor: string;
59
+ title: string;
60
+ message: string;
61
+ buttons: string[];
62
+ items?: Array<{
63
+ index: number;
64
+ label: string;
65
+ cells: string[];
66
+ checked: boolean;
67
+ }>;
68
+ mode?: "auto" | "interactive" | "defer";
69
+ button?: string;
70
+ via?: "prompt" | "action";
71
+ }
38
72
  /** The text and error flag of an action's result. */
39
73
  export interface ActionResult {
40
74
  isError: boolean;
@@ -61,8 +95,21 @@ export interface DaemonExtensionApi {
61
95
  };
62
96
  /** Serve `method path` under /v1/ext/<name>. `:param` segments are captured. */
63
97
  route(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", path: string, handler: ExtensionHandler): void;
64
- /** Run one category action through the same dispatch as an MCP call. Never elicits. */
65
- callAction(category: string, action: string, args?: Record<string, unknown>): Promise<ActionResult>;
98
+ /**
99
+ * Run one category action through the same dispatch as an MCP call. Never
100
+ * elicits. A blocking dialog the call meets is put to `opts.dialogPrompt`
101
+ * when given (feature "callAction.dialogPrompt"), the way an MCP client is
102
+ * shown a form; without one, nobody is asked.
103
+ */
104
+ callAction(category: string, action: string, args?: Record<string, unknown>, opts?: CallActionOptions): Promise<ActionResult>;
105
+ /**
106
+ * What this daemon offers beyond EXTENSION_API_VERSION, for feature detection:
107
+ * "callAction.dialogPrompt" callAction takes `opts.dialogPrompt` and `opts.dialogWaitMs`
108
+ * "events.dialog" dialog.opened, dialog.answered, dialog.delegated and
109
+ * dialog.closed on the event stream (see DialogEventData)
110
+ * Absent on a daemon older than the field.
111
+ */
112
+ features?: readonly string[];
66
113
  editors(): EditorStatus[];
67
114
  /** Start, stop, restart or rebuild the editor, with the cause announced first. */
68
115
  editorOperation(op: "start" | "stop" | "restart" | "rebuild"): Promise<Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"extension-api.js","sourceRoot":"","sources":["../../src/daemon/extension-api.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"extension-api.js","sourceRoot":"","sources":["../../src/daemon/extension-api.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC"}
@@ -19,8 +19,9 @@
19
19
  * are additive.
20
20
  */
21
21
  export { DAEMON_API_VERSION, readDiscovery, readLiveDiscovery, discoveryPath, type DaemonDiscovery } from "./daemon/discovery.js";
22
- export { EXTENSION_API_VERSION, type ActionResult, type DaemonExtension, type DaemonExtensionApi, type DaemonHealth, type EditorStatus, type ExtensionHandler, type ExtensionRequest, type ExtensionResponse, } from "./daemon/extension-api.js";
22
+ export { EXTENSION_API_VERSION, type ActionResult, type CallActionOptions, type DialogEventData, type DaemonExtension, type DaemonExtensionApi, type DaemonHealth, type EditorStatus, type ExtensionHandler, type ExtensionRequest, type ExtensionResponse, } from "./daemon/extension-api.js";
23
23
  export type { DaemonEvent } from "./daemon/events.js";
24
+ export type { DialogPromptFn, DialogPromptRequest, DialogPromptResult } from "./core/types.js";
24
25
  export type { DisconnectCause } from "./daemon/disconnect.js";
25
26
  export { signBundle, verifyBundle, type UiManifest } from "./daemon/ui-bundles.js";
26
27
  export type { StatusReport, ClientStatus } from "./cli/status.js";
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-api.js","sourceRoot":"","sources":["../src/daemon-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAClI,OAAO,EACL,qBAAqB,GAStB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAmB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"daemon-api.js","sourceRoot":"","sources":["../src/daemon-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAClI,OAAO,EACL,qBAAqB,GAWtB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAmB,MAAM,wBAAwB,CAAC"}
@@ -103,6 +103,15 @@ export function buildElicit(mcp) {
103
103
  elicit.client = () => mcp.server.getClientVersion();
104
104
  return elicit;
105
105
  }
106
+ /** The button a respond_to_dialog call names: its label, its index into the dialog's buttons, or the dismissal. */
107
+ function pressedLabel(params, dialog) {
108
+ if (typeof params.buttonLabel === "string" && params.buttonLabel !== "")
109
+ return params.buttonLabel;
110
+ if (typeof params.buttonIndex === "number" && dialog?.buttons[params.buttonIndex] !== undefined) {
111
+ return dialog.buttons[params.buttonIndex];
112
+ }
113
+ return typeof params.dialogAction === "string" ? params.dialogAction : "";
114
+ }
106
115
  /** The serving editor, appended to a response only beyond one editor (5.3). */
107
116
  export function attribution(sessions, session) {
108
117
  const line = editorAttribution({
@@ -158,6 +167,8 @@ export async function dispatchCategoryCall(deps, tool, envelope, callArgs, extra
158
167
  const preflight = await guard.check(effectiveTask, "action");
159
168
  if (!preflight.allow)
160
169
  return refusalResult(preflight.refusal);
170
+ // The dialog a press is aimed at, for the answered event.
171
+ const facing = guard.current;
161
172
  const taskParams = stripAction(params);
162
173
  const flowCtx = {
163
174
  ...loads.contextFor(session),
@@ -219,14 +230,16 @@ export async function dispatchCategoryCall(deps, tool, envelope, callArgs, extra
219
230
  // respond_to_dialog may have just cleared it. refresh, not check: check
220
231
  // applies the mode and could press a button on the next prompt unasked.
221
232
  if (effectiveTask === "editor.respond_to_dialog" && result.success) {
233
+ guard.notePress(pressedLabel(subject.params, facing), facing);
222
234
  await guard.refresh();
223
235
  }
224
236
  const seen = guard.current;
225
237
  if (result.success)
226
- stampBlockedEditor(result.data, seen, guard.mode);
238
+ stampBlockedEditor(result.data, seen, guard.modeFor(seen));
227
239
  }
228
240
  // Whatever the route, the caller gets ONE refusal shape, built here.
229
241
  // Actions allowed through a modal are exempt.
242
+ let answeredWhileWaiting = null;
230
243
  if (!DialogGuard.actionAllowed(effectiveTask)) {
231
244
  const fromPlugin = isDialogRefusal(result.data)
232
245
  ? result.data
@@ -234,9 +247,16 @@ export async function dispatchCategoryCall(deps, tool, envelope, callArgs, extra
234
247
  if (fromPlugin)
235
248
  guard.observe("__refused__", fromPlugin);
236
249
  const blocking = guard.current;
237
- if (blocking) {
238
- const decision = postRunDecision
239
- ?? (await guard.check(effectiveTask, "action"));
250
+ const decision = blocking ? postRunDecision ?? (await guard.check(effectiveTask, "action")) : null;
251
+ // The check can answer the dialog itself: the person was asked and pressed a
252
+ // button while this call waited. Then nothing is blocking any more, and the
253
+ // call's own result is the answer, not a refusal naming a dialog that is gone.
254
+ if (blocking && decision?.allow === true && !fromPlugin) {
255
+ const pressed = guard.lastPressed;
256
+ answeredWhileWaiting = `The dialog "${blocking.title}" that appeared during this call was answered`
257
+ + (pressed ? ` (${pressed.button} was pressed)` : "") + ". The call's own result follows.";
258
+ }
259
+ if (blocking && decision && !(decision.allow === true && !fromPlugin)) {
240
260
  const refusalForReturn = decision.allow === false
241
261
  ? decision.refusal
242
262
  : guard.refusal(effectiveTask, blocking);
@@ -257,11 +277,13 @@ export async function dispatchCategoryCall(deps, tool, envelope, callArgs, extra
257
277
  }
258
278
  }
259
279
  const stringify = (v) => typeof v === "string" ? v : JSON.stringify(v, null, 2);
280
+ const answeredNote = answeredWhileWaiting ? [{ type: "text", text: answeredWhileWaiting }] : [];
260
281
  // Directive responses (execute_python workaround tracking) emit the prose
261
282
  // directive, a MACHINE_DIRECTIVE block for clients that strip prose, and
262
283
  // the actual tool result.
263
284
  if (isDirectiveResponse(result.data)) {
264
285
  const blocks = [
286
+ ...answeredNote,
265
287
  { type: "text", text: result.data.directive },
266
288
  ];
267
289
  if (result.data.machine) {
@@ -275,6 +297,7 @@ export async function dispatchCategoryCall(deps, tool, envelope, callArgs, extra
275
297
  }
276
298
  return {
277
299
  content: withUpgradeNotice([
300
+ ...answeredNote,
278
301
  { type: "text", text: stringify(result.data) },
279
302
  ...served,
280
303
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"server-dispatch.js","sourceRoot":"","sources":["../../src/dispatch/server-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-dispatch.js","sourceRoot":"","sources":["../../src/dispatch/server-dispatch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACjG,OAAO,EACL,eAAe,EACf,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EACL,WAAW,EAEX,eAAe,EACf,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAsB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAkBtE,SAAS,iBAAiB,CAAC,OAAoB;IAC7C,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,CAAU;IACnC,IAAI,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACtD,OAAO,CAAC;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;SACxE,CAAC,CAAC;AACL,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,OAAoB,EAAE;IAC/E,OAAO;QACL,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,IAAI,MAAM,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrG,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,SAAS,aAAa,CAAC,OAAgB,EAAE,OAAoB,EAAE;IAC7D,OAAO;QACL,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxG,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACnD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC;IAC1C,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,IAAI,GAAG,KAAK,EAAE,gBAEP,CAAC;IAEd,0EAA0E;IAC1E,sDAAsD;IACtD,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3J,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAExE,OAAO,CAAC,MAAsB,EAAQ,EAAE;QACtC,4EAA4E;QAC5E,KAAK,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC;YACH,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE;gBACN,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;SACF,CAAC,CACH,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAc;IACxC,MAAM,MAAM,GAAa,KAAK,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YACvB,kEAAkE;YAClE,+BAA+B;YAC/B,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,cAAc,EACxB,+NAA+N,CAChO,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpF,OAAO,MAAuC,CAAC;IACjD,CAAC,CAAC;IACF,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,CAAC,2BAA2B,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,WAAW,CAAC;IAC7F,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,mHAAmH;AACnH,SAAS,YAAY,CAAC,MAA+B,EAAE,MAAoC;IACzF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACnG,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;QAChG,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,QAAyB,EAAE,OAAsB;IAC3E,MAAM,IAAI,GAAG,iBAAiB,CAC5B;QACE,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG;KAC5C,EACD,QAAQ,CAAC,IAAI,EACb,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CACvD,CAAC;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAkB,EAClB,IAAa,EACb,QAAiB,EACjB,QAAiC,EACjC,KAAgB;IAEhB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,SAAkC,CAAC;IACvC,IAAI,CAAC;QACH,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uEAAuE;QACvE,IAAI,CAAC,YAAY,WAAW;YAAE,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC;QACvE,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,WAAW,CAAC,WAAW,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAC;IACvC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;IAC1C,+DAA+D;IAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAEvC,uEAAuE;IACvE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,0BAA0B,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnH,IAAI,UAAU;QAAE,OAAO,WAAW,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAEjE,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvF,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9D,0DAA0D;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAE7B,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAgB;QAC3B,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,oBAAoB,CAAC,KAAK,CAAC;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;KACtB,CAAC;IAEF,4EAA4E;IAC5E,2EAA2E;IAC3E,2DAA2D;IAC3D,IAAI,WAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,WAAW,CAChB,eAAe,EACf,WAAW,OAAO,CAAC,IAAI,wDAAwD;YAC7E,kGAAkG;YAClG,sEAAsE;YACtE,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAS,CAAC;IACnF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC/B,CAAC,CAAC,oBAAoB,CAClB,KAAK,CAAC,aAAa,EACnB,aAAa,EACb,OAAO,CAAC,IAAI,EACZ,eAAe,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CACzD;QACH,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,OAAO;QAAE,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEtD,yEAAyE;IACzE,uEAAuE;IACvE,iCAAiC;IACjC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,WAAW,CAAC,WAAW,EAAE,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACzE,sEAAsE;QACtE,6EAA6E;QAC7E,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,UAAU,EACf,aAAa,EACb,OAAO,CAAC,MAAM,EACd,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAChB,OAAO,CAAC,WAAW,EACnB,KAAK,CAAC,aAAa,CAAC,KAAK,CAC1B,CAAC;QAEF,uEAAuE;QACvE,yEAAyE;QACzE,oEAAoE;QACpE,qDAAqD;QACrD,IAAI,eAAe,GAAyB,IAAI,CAAC;QACjD,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,OAAO;eACpC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;eAC7B,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC;eACzC,CAAC,eAAe,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,QAAQ,SAAS,CAAC;YAC/D,OAAO,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,wEAAwE;QACxE,2DAA2D;QAC3D,IAAI,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,wEAAwE;YACxE,wEAAwE;YACxE,IAAI,aAAa,KAAK,0BAA0B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC9D,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;YAC3B,IAAI,MAAM,CAAC,OAAO;gBAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,qEAAqE;QACrE,8CAA8C;QAC9C,IAAI,oBAAoB,GAAkB,IAAI,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAE,MAAM,CAAC,IAAgC;gBAC1C,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,UAAU;gBAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnG,6EAA6E;YAC7E,4EAA4E;YAC5E,+EAA+E;YAC/E,IAAI,QAAQ,IAAI,QAAQ,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;gBAClC,oBAAoB,GAAG,eAAe,QAAQ,CAAC,KAAK,+CAA+C;sBAC/F,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,kCAAkC,CAAC;YAC/F,CAAC;YACD,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,KAAK,KAAK;oBAC/C,CAAC,CAAC,QAAQ,CAAC,OAAO;oBAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAC3C,sEAAsE;gBACtE,gEAAgE;gBAChE,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,CAAC;gBACpC,OAAO,aAAa,CAClB,OAAO;oBACL,CAAC,CAAC;wBACE,GAAG,gBAAgB;wBACnB,gBAAgB,EAAE,IAAI;wBACtB,IAAI,EACF,IAAI,QAAQ,4DAA4D;8BACtE,qEAAqE;8BACrE,qDAAqD;wBACzD,mEAAmE;wBACnE,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;qBACnC;oBACH,CAAC,CAAC,gBAAgB,EACpB,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,YAAY,GAAgB,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtH,0EAA0E;QAC1E,yEAAyE;QACzE,0BAA0B;QAC1B,IAAI,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAgB;gBAC1B,GAAG,YAAY;gBACf,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;aACvD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;QAChE,CAAC;QAED,OAAO;YACL,OAAO,EAAE,iBAAiB,CAAC;gBACzB,GAAG,YAAY;gBACf,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACvD,GAAG,MAAM;aACV,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,aAAa,GAAG,CAAC,YAAY,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,CAAC,CAAE,CAAC,CAAC,OAA8C;YACnD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,IAAI,QAAQ;gBAAE,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAkB,EAClB,QAAiB,EACjB,OAAoB,EACpB,SAAkC;IAElC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;YACrE,CAAC,CAAE,SAAS,CAAC,MAAkC;YAC/C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,QAAQ,CAAC,mBAAmB;YACzC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,MAAM,EAAE,CAAC,mBAAmB,CAAC;YACjE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1F,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEtD,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,UAAU,GAAG,0BAA0B,CAC3C,QAAQ,EACR,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,EACjD,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAClD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAC/B,CAAC;QACF,IAAI,UAAU;YAAE,OAAO,WAAW,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAEjE,0EAA0E;QAC1E,sEAAsE;QACtE,2BAA2B;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CACrC,GAAG,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,EACjD,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,OAAO,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9G,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
@@ -26,7 +26,7 @@
26
26
  */
27
27
  import type { EditorSession } from "../sessions/session.js";
28
28
  import type { IBridge } from "../bridge/bridge.js";
29
- import type { ElicitFn } from "../core/types.js";
29
+ import type { DialogPromptFn, ElicitFn } from "../core/types.js";
30
30
  import type { DialogMode } from "../config/user-state.js";
31
31
  /** One tickable row of a dialog that asks a question per item. */
32
32
  export interface DialogItem {
@@ -76,6 +76,36 @@ export declare function oneLine(text: string, limit?: number): string;
76
76
  export declare function renderDialog(dialog: BlockingDialog): string;
77
77
  /** True for the refusal the plugin's own gate emits. */
78
78
  export declare function isDialogRefusal(v: unknown): boolean;
79
+ /**
80
+ * What happened to a blocking dialog, for whoever watches (the daemon puts
81
+ * these on its event stream). Observation only: nothing here decides anything.
82
+ *
83
+ * opened a dialog is blocking the editor
84
+ * answered a button was pressed: by the person through a prompt, or by an
85
+ * action call (respond_to_dialog)
86
+ * delegated the person handed this dialog to the agent
87
+ * closed the editor is no longer blocked by it
88
+ */
89
+ export interface DialogEvent {
90
+ type: "opened" | "answered" | "delegated" | "closed";
91
+ editor: string;
92
+ title: string;
93
+ message: string;
94
+ buttons: string[];
95
+ items?: DialogItem[];
96
+ /** opened: the mode that applies to it. */
97
+ mode?: DialogMode;
98
+ /** answered: the button pressed, and the route it came by. */
99
+ button?: string;
100
+ via?: "prompt" | "action";
101
+ }
102
+ /** Watch every guard's dialogs. Returns the unsubscribe. */
103
+ export declare function onDialogEvent(listener: (e: DialogEvent) => void): () => void;
104
+ /**
105
+ * The fastest a person answers a dialog prompt, in milliseconds: the same
106
+ * setting and default as the feedback approval form.
107
+ */
108
+ export declare function minHumanAnswerMs(): number;
79
109
  /** A button press, and whether the editor confirmed it landed. */
80
110
  export interface DialogPress {
81
111
  button: string;
@@ -116,6 +146,12 @@ export interface GuardDeps {
116
146
  }>) => Promise<unknown>;
117
147
  /** Present only when the connected client advertised elicitation. */
118
148
  elicit?: () => ElicitFn | undefined;
149
+ /**
150
+ * A daemon extension's own prompt, for a call that extension made in
151
+ * process. Preferred over `elicit`, because it belongs to the caller of
152
+ * this call.
153
+ */
154
+ prompt?: () => DialogPromptFn | undefined;
119
155
  /**
120
156
  * The editor's published status snapshot, polled so a modal raised while
121
157
  * nothing is running is still noticed.
@@ -168,6 +204,10 @@ export declare class DialogGuard {
168
204
  /** Which dialog that in-flight ask is about. */
169
205
  private askingFor;
170
206
  private poll;
207
+ /** Dialogs the person handed to the agent. Reset with the other per-dialog records. */
208
+ private delegated;
209
+ /** The editor this guard watches, named in its events. */
210
+ label: string;
171
211
  constructor(deps: GuardDeps);
172
212
  /** Replace the dependencies without losing what the guard knows. */
173
213
  setDeps(deps: GuardDeps): void;
@@ -179,6 +219,13 @@ export declare class DialogGuard {
179
219
  get mode(): DialogMode;
180
220
  /** Whether there is anybody to put an elicitation form in front of. */
181
221
  get canElicit(): boolean;
222
+ /** Whether the person handed this dialog to the agent. */
223
+ isDelegated(dialog: BlockingDialog | null): boolean;
224
+ /** The mode that applies to this dialog: auto once the person delegated it. */
225
+ modeFor(dialog: BlockingDialog | null): DialogMode;
226
+ private emit;
227
+ /** Record a button an action call pressed, for whoever watches. */
228
+ notePress(button: string, dialog: BlockingDialog | null): void;
182
229
  /** Record a dialog. Called by the watcher, a probe, or a plugin refusal. */
183
230
  note(dialog: BlockingDialog): void;
184
231
  /**
@@ -315,7 +362,7 @@ export declare class DialogGuard {
315
362
  * `dialogTitle`, `dialogMessage` or `error`, so a client reading those got
316
363
  * undefined depending on which route refused it.
317
364
  */
318
- static describeRefusal(subject: string, dialog: BlockingDialog, resolvedMode: DialogMode, canElicit?: boolean, phase?: DialogPhase): Record<string, unknown>;
365
+ static describeRefusal(subject: string, dialog: BlockingDialog, resolvedMode: DialogMode, canElicit?: boolean, phase?: DialogPhase, delegated?: boolean): Record<string, unknown>;
319
366
  /**
320
367
  * Learn from a bridge reply.
321
368
  *
@@ -390,7 +437,10 @@ export declare function ensureGuard(session: EditorSession): Promise<DialogGuard
390
437
  * A guard's dependencies for one session. `canElicit` is whether the connected
391
438
  * client can be shown a form; `elicit` is consulted only when it can.
392
439
  */
393
- export declare function sessionGuardDeps(session: EditorSession, canElicit: boolean, elicit?: () => ElicitFn | undefined): GuardDeps;
440
+ export declare function sessionGuardDeps(session: EditorSession, canElicit: boolean, elicit?: () => ElicitFn | undefined, extension?: {
441
+ prompt: DialogPromptFn;
442
+ askWaitMs?: number;
443
+ }): GuardDeps;
394
444
  export declare function guardFor(session: EditorSession, deps: GuardDeps): DialogGuard;
395
445
  export declare function existingGuard(session: EditorSession): DialogGuard | undefined;
396
446
  /** Test seam. */