ue-mcp 1.4.11-beta.8 → 1.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +3 -3
  2. package/dist/checkpoints/service.d.ts +25 -0
  3. package/dist/checkpoints/service.js +141 -63
  4. package/dist/checkpoints/service.js.map +1 -1
  5. package/dist/cli/auth-cli.d.ts +24 -1
  6. package/dist/cli/auth-cli.js +48 -2
  7. package/dist/cli/auth-cli.js.map +1 -1
  8. package/dist/cli/doctor.d.ts +2 -0
  9. package/dist/cli/doctor.js +13 -4
  10. package/dist/cli/doctor.js.map +1 -1
  11. package/dist/cli/extension-cli.js +37 -23
  12. package/dist/cli/extension-cli.js.map +1 -1
  13. package/dist/cli/init-core.d.ts +34 -0
  14. package/dist/cli/init-core.js +45 -1
  15. package/dist/cli/init-core.js.map +1 -1
  16. package/dist/cli/init.js +11 -10
  17. package/dist/cli/init.js.map +1 -1
  18. package/dist/cli/update.js +36 -10
  19. package/dist/cli/update.js.map +1 -1
  20. package/dist/config/user-state.d.ts +8 -0
  21. package/dist/config/user-state.js +57 -0
  22. package/dist/config/user-state.js.map +1 -1
  23. package/dist/core/spawn-outside-tree.js +11 -2
  24. package/dist/core/spawn-outside-tree.js.map +1 -1
  25. package/dist/daemon/daemon.d.ts +3 -0
  26. package/dist/daemon/daemon.js +156 -120
  27. package/dist/daemon/daemon.js.map +1 -1
  28. package/dist/daemon/dir-watch.d.ts +22 -0
  29. package/dist/daemon/dir-watch.js +76 -0
  30. package/dist/daemon/dir-watch.js.map +1 -0
  31. package/dist/daemon/extension-api.d.ts +34 -2
  32. package/dist/daemon/extension-api.js.map +1 -1
  33. package/dist/daemon/extension-install.d.ts +17 -4
  34. package/dist/daemon/extension-install.js +48 -13
  35. package/dist/daemon/extension-install.js.map +1 -1
  36. package/dist/daemon/extension-versions.d.ts +54 -0
  37. package/dist/daemon/extension-versions.js +157 -0
  38. package/dist/daemon/extension-versions.js.map +1 -0
  39. package/dist/daemon/extensions.d.ts +8 -1
  40. package/dist/daemon/extensions.js +74 -32
  41. package/dist/daemon/extensions.js.map +1 -1
  42. package/dist/daemon/shim.d.ts +14 -1
  43. package/dist/daemon/shim.js +59 -15
  44. package/dist/daemon/shim.js.map +1 -1
  45. package/dist/daemon/ui-bundles.d.ts +25 -2
  46. package/dist/daemon/ui-bundles.js +34 -5
  47. package/dist/daemon/ui-bundles.js.map +1 -1
  48. package/dist/dispatch/python-gate.d.ts +7 -0
  49. package/dist/dispatch/python-gate.js +45 -0
  50. package/dist/dispatch/python-gate.js.map +1 -1
  51. package/dist/editor/bridge-binaries.d.ts +36 -6
  52. package/dist/editor/bridge-binaries.js +167 -19
  53. package/dist/editor/bridge-binaries.js.map +1 -1
  54. package/dist/editor/bridge-tree.d.ts +25 -0
  55. package/dist/editor/bridge-tree.js +126 -0
  56. package/dist/editor/bridge-tree.js.map +1 -0
  57. package/dist/editor/bridge-update.d.ts +72 -9
  58. package/dist/editor/bridge-update.js +257 -59
  59. package/dist/editor/bridge-update.js.map +1 -1
  60. package/dist/editor/crash-reporter.d.ts +8 -3
  61. package/dist/editor/crash-reporter.js +22 -6
  62. package/dist/editor/crash-reporter.js.map +1 -1
  63. package/dist/editor/deployer.d.ts +3 -1
  64. package/dist/editor/deployer.js +3 -2
  65. package/dist/editor/deployer.js.map +1 -1
  66. package/dist/editor/editor-build.js +10 -5
  67. package/dist/editor/editor-build.js.map +1 -1
  68. package/dist/editor/editor-control.d.ts +12 -0
  69. package/dist/editor/editor-control.js +22 -1
  70. package/dist/editor/editor-control.js.map +1 -1
  71. package/dist/editor/install-check.d.ts +3 -0
  72. package/dist/editor/install-check.js +7 -2
  73. package/dist/editor/install-check.js.map +1 -1
  74. package/dist/editor/install-marker.d.ts +6 -0
  75. package/dist/editor/install-marker.js +17 -0
  76. package/dist/editor/install-marker.js.map +1 -1
  77. package/dist/editor/pending-build.d.ts +20 -0
  78. package/dist/editor/pending-build.js +72 -0
  79. package/dist/editor/pending-build.js.map +1 -0
  80. package/dist/extensions/registry-catalog.d.ts +2 -0
  81. package/dist/extensions/registry-catalog.js +2 -0
  82. package/dist/extensions/registry-catalog.js.map +1 -1
  83. package/dist/feedback/github-auth.d.ts +2 -0
  84. package/dist/feedback/github-auth.js +10 -1
  85. package/dist/feedback/github-auth.js.map +1 -1
  86. package/dist/flow/playtest.d.ts +2 -1
  87. package/dist/flow/playtest.js +11 -1
  88. package/dist/flow/playtest.js.map +1 -1
  89. package/dist/flow/registry.d.ts +4 -1
  90. package/dist/flow/registry.js +8 -5
  91. package/dist/flow/registry.js.map +1 -1
  92. package/dist/server/context-projection.js +1 -1
  93. package/dist/server/context-projection.js.map +1 -1
  94. package/dist/sessions/session-load.d.ts +5 -2
  95. package/dist/sessions/session-load.js +7 -4
  96. package/dist/sessions/session-load.js.map +1 -1
  97. package/dist/surface/context/instructions.d.ts +6 -1
  98. package/dist/surface/context/instructions.js +52 -30
  99. package/dist/surface/context/instructions.js.map +1 -1
  100. package/dist/tool-counts.json +6 -6
  101. package/dist/tools/blueprint.js +1 -1
  102. package/dist/tools/blueprint.js.map +1 -1
  103. package/dist/tools/editor.d.ts +10 -1
  104. package/dist/tools/editor.js +79 -35
  105. package/dist/tools/editor.js.map +1 -1
  106. package/dist/tools/level.js +2 -2
  107. package/dist/tools/level.js.map +1 -1
  108. package/dist/tools/pcg-wait.d.ts +10 -1
  109. package/dist/tools/pcg-wait.js +19 -1
  110. package/dist/tools/pcg-wait.js.map +1 -1
  111. package/dist/tools/pcg.js +13 -10
  112. package/dist/tools/pcg.js.map +1 -1
  113. package/dist/tools/project/sessions.js +5 -3
  114. package/dist/tools/project/sessions.js.map +1 -1
  115. package/dist/tools/project/source.js +12 -5
  116. package/dist/tools/project/source.js.map +1 -1
  117. package/dist/tools/project.js +1 -1
  118. package/dist/tools/project.js.map +1 -1
  119. package/dist/tools/specs/level.generated.js +8 -1
  120. package/dist/tools/specs/level.generated.js.map +1 -1
  121. package/dist/tools/specs/pcg.generated.js +154 -3
  122. package/dist/tools/specs/pcg.generated.js.map +1 -1
  123. package/dist/ue-mcp.default.yml +164 -75
  124. package/package.json +3 -3
  125. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Blueprint/BlueprintHandlers.cpp +2 -0
  126. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Blueprint/BlueprintHandlers_PlayWorldReinstance.cpp +98 -0
  127. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Blueprint/BlueprintHandlers_PlayWorldReinstance.h +10 -0
  128. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Blueprint/BlueprintHandlers_Properties.cpp +76 -0
  129. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Diff/DiffHandlers.h +5 -0
  130. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Diff/DiffHandlers_Checkpoint.cpp +121 -9
  131. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Diff/DiffHandlers_Revision.h +28 -0
  132. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Editor/EditorHandlers_PIE.cpp +40 -34
  133. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers.cpp +163 -16
  134. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers.h +5 -0
  135. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers_Component.cpp +391 -0
  136. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers_Internal.h +39 -0
  137. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers_Output.cpp +128 -0
  138. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Spline/SplineHandlers.cpp +16 -1
  139. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/AssetNestedArrayPathTests.cpp +2 -0
  140. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/CheckpointAssetDiffTests.cpp +52 -0
  141. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/EditorRuntimeValuesComponentTests.cpp +79 -0
  142. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/PCGHandlerTests.cpp +325 -0
  143. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/SplineHandlersTests.cpp +8 -0
  144. package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +2 -2
package/README.md CHANGED
@@ -8,9 +8,9 @@
8
8
  <img width="1354" height="586" alt="{6F52BA62-D736-454E-AD30-A1C98F9EEBAA}" src="https://github.com/user-attachments/assets/9380e080-c608-4609-ba21-90e6b0a3ba7f" />
9
9
 
10
10
 
11
- **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->30<!-- /count --> category tools covering <!-- count:actions -->2111+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
11
+ **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->30<!-- /count --> category tools covering <!-- count:actions -->2114+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
12
12
 
13
- That total is <!-- count:ownActions -->1281+<!-- /count --> actions of ue-mcp's own plus Epic's entire native AI Toolset Registry: on UE 5.8+ its <!-- count:nativeToolActions -->830<!-- /count --> official Unreal tools are called in-process and surfaced as `epic_*` actions in the matching category, Sequencer in `animation`, PCG in `pcg`, static meshes in `asset`.
13
+ That total is <!-- count:ownActions -->1284+<!-- /count --> actions of ue-mcp's own plus Epic's entire native AI Toolset Registry: on UE 5.8+ its <!-- count:nativeToolActions -->830<!-- /count --> official Unreal tools are called in-process and surfaced as `epic_*` actions in the matching category, Sequencer in `animation`, PCG in `pcg`, static meshes in `asset`.
14
14
 
15
15
  ```mermaid
16
16
  flowchart LR
@@ -142,7 +142,7 @@ flows:
142
142
  flow(action="run", flowName="build_and_check")
143
143
  ```
144
144
 
145
- Every one of the <!-- count:actions -->2111+<!-- /count --> actions is also a flow task. Flows support step references, retries, rollback, custom tasks in your own `.js`/`.ts`, and shell steps. See [Flows](https://ue-mcp.com/docs/flows/).
145
+ Every one of the <!-- count:actions -->2114+<!-- /count --> actions is also a flow task. Flows support step references, retries, rollback, custom tasks in your own `.js`/`.ts`, and shell steps. See [Flows](https://ue-mcp.com/docs/flows/).
146
146
 
147
147
  ## Plugins
148
148
 
@@ -40,6 +40,17 @@ export interface NativeDiffResult {
40
40
  opened: "window" | "editor" | "external";
41
41
  windowTitle?: string;
42
42
  tool?: string;
43
+ /** The label and ISO 8601 date each side of the diff window shows. */
44
+ revisions?: {
45
+ before: {
46
+ label: string;
47
+ date: string;
48
+ };
49
+ after: {
50
+ label: string;
51
+ date: string;
52
+ };
53
+ };
43
54
  }
44
55
  export interface RestoreResult {
45
56
  editor: string;
@@ -145,6 +156,7 @@ export declare class SessionCheckpoints {
145
156
  * deleted package, the asset editor opens on the one version there is.
146
157
  */
147
158
  openNativeDiff(key: string, from: string, to?: string | null): Promise<NativeDiffResult>;
159
+ /** Each side's name and, for the diff window's revision date, when its checkpoint was taken (#1606). */
148
160
  private labels;
149
161
  /** Saved/Diff maps to /Temp, which is where the editor loads a package for diffing. */
150
162
  private diffDir;
@@ -158,6 +170,19 @@ export declare class SessionCheckpoints {
158
170
  private addAssetDiffs;
159
171
  /** One package's diff, from the cache when these two versions were diffed before. */
160
172
  private diffPackage;
173
+ /**
174
+ * Packages' diffs, in order. The ones not cached go to the editor in one
175
+ * checkpoint_diff_asset call, which unloads the versions once at the end:
176
+ * every unload is a full garbage collection in the editor.
177
+ */
178
+ private diffPackages;
179
+ /**
180
+ * checkpoint_diff_asset for the jobs: one call with items, or one call per
181
+ * job on a bridge that answers items without results.
182
+ */
183
+ private callDiffs;
184
+ /** The editor's answer for one job, with its pictures recorded, cached. */
185
+ private finishDiff;
161
186
  /** Picture URLs on the daemon, for this session. */
162
187
  private withUrls;
163
188
  /** blueprint(diff) against the checkpoint, for modified Blueprint packages, run in the editor. */
@@ -286,6 +286,8 @@ export class SessionCheckpoints {
286
286
  ...(current ? { current: true } : {}),
287
287
  fromLabel: labels.from,
288
288
  toLabel: labels.to,
289
+ ...(labels.fromTime ? { fromTime: labels.fromTime } : {}),
290
+ ...(labels.toTime ? { toTime: labels.toTime } : {}),
289
291
  });
290
292
  if (!answer)
291
293
  throw new CheckpointError(409, "The editor's bridge plugin predates checkpoint_open_native_diff; update it.");
@@ -295,16 +297,21 @@ export class SessionCheckpoints {
295
297
  opened: String(answer.opened),
296
298
  ...(typeof answer.windowTitle === "string" ? { windowTitle: answer.windowTitle } : {}),
297
299
  ...(typeof answer.tool === "string" ? { tool: answer.tool } : {}),
300
+ ...(answer.revisions && typeof answer.revisions === "object" ? { revisions: answer.revisions } : {}),
298
301
  };
299
302
  });
300
303
  }
304
+ /** Each side's name and, for the diff window's revision date, when its checkpoint was taken (#1606). */
301
305
  async labels(from, to) {
302
306
  const list = await this.repo().list(Number.MAX_SAFE_INTEGER);
307
+ const find = (id) => list.find((x) => x.id.startsWith(id.toLowerCase()));
303
308
  const name = (id) => {
304
- const c = list.find((x) => x.id.startsWith(id.toLowerCase()));
309
+ const c = find(id);
305
310
  return c ? `Checkpoint ${c.id.slice(0, 7)}${c.label ? `: ${c.label}` : ""}` : `Checkpoint ${id.slice(0, 7)}`;
306
311
  };
307
- return { from: name(from), to: to ? name(to) : "Current" };
312
+ const fromTime = find(from)?.createdAt;
313
+ const toTime = to ? find(to)?.createdAt : undefined;
314
+ return { from: name(from), to: to ? name(to) : "Current", ...(fromTime ? { fromTime } : {}), ...(toTime ? { toTime } : {}) };
308
315
  }
309
316
  /** Saved/Diff maps to /Temp, which is where the editor loads a package for diffing. */
310
317
  diffDir(sub) {
@@ -333,76 +340,153 @@ export class SessionCheckpoints {
333
340
  const packages = result.changes.filter((c) => c.kind === "package");
334
341
  const now = packages.slice(0, MAX_ASSET_DIFFS);
335
342
  const later = packages.slice(MAX_ASSET_DIFFS);
336
- let legacy = false;
337
- for (const c of now) {
338
- const { diff, unknownMethod } = await this.diffPackage(result.from, result.to, c);
339
- c.assetDiff = diff;
340
- if (unknownMethod)
341
- legacy = true;
342
- if (diff.blueprint)
343
- c.blueprintDiff = diff.blueprint;
344
- }
343
+ const { diffs, unknownMethod } = await this.diffPackages(result.from, result.to, now);
344
+ now.forEach((c, i) => {
345
+ c.assetDiff = diffs[i];
346
+ if (diffs[i].blueprint)
347
+ c.blueprintDiff = diffs[i].blueprint;
348
+ });
345
349
  for (const c of later)
346
350
  c.assetDiff = assetDiffDeferred();
347
351
  result.assetDiffs = { limit: MAX_ASSET_DIFFS, diffed: now.length, deferred: later.map((c) => c.path) };
348
- return legacy;
352
+ return unknownMethod;
349
353
  }
350
354
  /** One package's diff, from the cache when these two versions were diffed before. */
351
355
  async diffPackage(from, to, c) {
352
- if (c.large)
353
- return { diff: assetDiffError("The package is over the large-file size and kept as a plain copy, so it is not loaded to diff it.") };
354
- if (!this.session.bridge.isConnected)
355
- return { diff: assetDiffError("The editor is not connected, so Unreal cannot load the versions to diff them.") };
356
+ const { diffs, unknownMethod } = await this.diffPackages(from, to, [c]);
357
+ return { diff: diffs[0], unknownMethod };
358
+ }
359
+ /**
360
+ * Packages' diffs, in order. The ones not cached go to the editor in one
361
+ * checkpoint_diff_asset call, which unloads the versions once at the end:
362
+ * every unload is a full garbage collection in the editor.
363
+ */
364
+ async diffPackages(from, to, cs) {
365
+ const diffs = new Array(cs.length);
366
+ const jobs = [];
356
367
  const repo = this.repo();
357
- const a = c.status === "added" ? null : await repo.versionOf(from, c.path);
358
- const b = c.status === "deleted" ? null : await repo.versionOf(to, c.path);
359
- if (a === undefined || b === undefined)
360
- return { diff: assetDiffError("The shadow history has no record of one version of this package.") };
361
- const key = `${ASSET_DIFF_FORMAT}\n${c.path.toLowerCase()}\n${a ?? "-"}\n${b ?? "-"}`;
362
- const cacheFile = path.join(repo.diffsDir, `${crypto.createHash("sha1").update(key).digest("hex")}.json`);
363
- try {
364
- const cached = JSON.parse(fs.readFileSync(cacheFile, "utf-8"));
365
- return { diff: this.withUrls(cached) };
366
- }
367
- catch {
368
- // Not diffed yet.
368
+ for (const [i, c] of cs.entries()) {
369
+ if (c.large) {
370
+ diffs[i] = assetDiffError("The package is over the large-file size and kept as a plain copy, so it is not loaded to diff it.");
371
+ continue;
372
+ }
373
+ if (!this.session.bridge.isConnected) {
374
+ diffs[i] = assetDiffError("The editor is not connected, so Unreal cannot load the versions to diff them.");
375
+ continue;
376
+ }
377
+ const a = c.status === "added" ? null : await repo.versionOf(from, c.path);
378
+ const b = c.status === "deleted" ? null : await repo.versionOf(to, c.path);
379
+ if (a === undefined || b === undefined) {
380
+ diffs[i] = assetDiffError("The shadow history has no record of one version of this package.");
381
+ continue;
382
+ }
383
+ const key = `${ASSET_DIFF_FORMAT}\n${c.path.toLowerCase()}\n${a ?? "-"}\n${b ?? "-"}`;
384
+ const cacheFile = path.join(repo.diffsDir, `${crypto.createHash("sha1").update(key).digest("hex")}.json`);
385
+ try {
386
+ diffs[i] = this.withUrls(JSON.parse(fs.readFileSync(cacheFile, "utf-8")));
387
+ continue;
388
+ }
389
+ catch {
390
+ // Not diffed yet.
391
+ }
392
+ jobs.push({ index: i, c, a, b, cacheFile, fromFile: null, toFile: null, params: {} });
369
393
  }
394
+ if (!jobs.length)
395
+ return { diffs, unknownMethod: false };
370
396
  const dir = this.diffDir("diff");
371
- const ext = path.extname(c.path);
372
- const base = path.basename(c.path, ext);
373
- const fromFile = a ? path.join(dir, `${base}-${a.slice(0, 12)}${ext}`) : null;
374
- const toFile = b ? path.join(dir, `${base}-${b.slice(0, 12)}${ext}`) : null;
375
397
  const thumb = (v) => path.join(repo.thumbsDir, `${v}.png`);
376
398
  const want = (v) => (v && !fs.existsSync(thumb(v)) ? thumb(v) : null);
399
+ const ready = [];
400
+ let unknownMethod = false;
377
401
  try {
378
- if (fromFile && a)
379
- await repo.exportVersion(a, fromFile);
380
- if (toFile && b)
381
- await repo.exportVersion(b, toFile);
382
402
  fs.mkdirSync(repo.thumbsDir, { recursive: true });
383
- const fromThumbnail = want(a);
384
- const toThumbnail = want(b);
385
- let raw;
386
- try {
387
- raw = (await this.session.bridge.call("checkpoint_diff_asset", {
388
- originalFile: path.join(this.projectDir, c.path),
389
- ...(fromFile ? { fromFile } : {}),
390
- ...(toFile ? { toFile } : {}),
403
+ for (const job of jobs) {
404
+ const ext = path.extname(job.c.path);
405
+ const base = path.basename(job.c.path, ext);
406
+ job.fromFile = job.a ? path.join(dir, `${base}-${job.a.slice(0, 12)}${ext}`) : null;
407
+ job.toFile = job.b ? path.join(dir, `${base}-${job.b.slice(0, 12)}${ext}`) : null;
408
+ try {
409
+ if (job.fromFile && job.a)
410
+ await repo.exportVersion(job.a, job.fromFile);
411
+ if (job.toFile && job.b)
412
+ await repo.exportVersion(job.b, job.toFile);
413
+ }
414
+ catch (e) {
415
+ diffs[job.index] = assetDiffError(`Preparing the diff failed: ${e instanceof Error ? e.message : String(e)}`);
416
+ continue;
417
+ }
418
+ const fromThumbnail = want(job.a);
419
+ const toThumbnail = want(job.b);
420
+ job.params = {
421
+ originalFile: path.join(this.projectDir, job.c.path),
422
+ ...(job.fromFile ? { fromFile: job.fromFile } : {}),
423
+ ...(job.toFile ? { toFile: job.toFile } : {}),
391
424
  ...(fromThumbnail ? { fromThumbnail } : {}),
392
425
  ...(toThumbnail ? { toThumbnail } : {}),
393
- }));
426
+ };
427
+ ready.push(job);
394
428
  }
395
- catch (e) {
396
- const message = e instanceof Error ? e.message : String(e);
397
- if (/unknown method/i.test(message)) {
398
- return { diff: assetDiffError("The editor's bridge plugin predates asset diffs (checkpoint_diff_asset); update the plugin."), unknownMethod: true };
429
+ const answers = await this.callDiffs(ready);
430
+ for (const [n, job] of ready.entries()) {
431
+ const answer = answers[n];
432
+ if ("error" in answer) {
433
+ if (/unknown method/i.test(answer.error)) {
434
+ unknownMethod = true;
435
+ diffs[job.index] = assetDiffError("The editor's bridge plugin predates asset diffs (checkpoint_diff_asset); update the plugin.");
436
+ }
437
+ else {
438
+ diffs[job.index] = assetDiffError(`The editor did not answer the diff: ${answer.error}`);
439
+ }
440
+ continue;
399
441
  }
400
- return { diff: assetDiffError(`The editor did not answer the diff: ${message}`) };
442
+ diffs[job.index] = this.finishDiff(job, answer.raw);
443
+ }
444
+ }
445
+ finally {
446
+ for (const job of jobs) {
447
+ if (job.fromFile)
448
+ fs.rmSync(job.fromFile, { force: true });
449
+ if (job.toFile)
450
+ fs.rmSync(job.toFile, { force: true });
451
+ }
452
+ }
453
+ return { diffs, unknownMethod };
454
+ }
455
+ /**
456
+ * checkpoint_diff_asset for the jobs: one call with items, or one call per
457
+ * job on a bridge that answers items without results.
458
+ */
459
+ async callDiffs(jobs) {
460
+ const one = async (params) => {
461
+ try {
462
+ return { raw: (await this.session.bridge.call("checkpoint_diff_asset", params)) };
463
+ }
464
+ catch (e) {
465
+ return { error: e instanceof Error ? e.message : String(e) };
401
466
  }
402
- if (!raw || raw.success === false)
403
- return { diff: assetDiffError(String(raw?.error ?? "The editor returned no diff and no reason.")) };
467
+ };
468
+ if (jobs.length <= 1)
469
+ return Promise.all(jobs.map((j) => one(j.params)));
470
+ const batch = await one({ items: jobs.map((j) => j.params) });
471
+ if ("error" in batch && /unknown method/i.test(batch.error))
472
+ return jobs.map(() => batch);
473
+ const results = "raw" in batch && Array.isArray(batch.raw?.results) ? batch.raw.results : null;
474
+ if (results && results.length === jobs.length)
475
+ return results.map((raw) => ({ raw }));
476
+ const answers = [];
477
+ for (const j of jobs)
478
+ answers.push(await one(j.params));
479
+ return answers;
480
+ }
481
+ /** The editor's answer for one job, with its pictures recorded, cached. */
482
+ finishDiff(job, raw) {
483
+ if (!raw || raw.success === false)
484
+ return assetDiffError(String(raw?.error ?? "The editor returned no diff and no reason."));
485
+ const repo = this.repo();
486
+ const thumb = (v) => path.join(repo.thumbsDir, `${v}.png`);
487
+ try {
404
488
  const picture = (side, t) => {
405
- const version = side === "before" ? a : b;
489
+ const version = side === "before" ? job.a : job.b;
406
490
  if (!version)
407
491
  return undefined;
408
492
  const meta = path.join(repo.thumbsDir, `${version}.json`);
@@ -425,19 +509,13 @@ export class SessionCheckpoints {
425
509
  }
426
510
  return { error: "No picture was kept for this version." };
427
511
  };
428
- const diff = assetDiffFromBridge(raw, c.path, picture);
512
+ const diff = assetDiffFromBridge(raw, job.c.path, picture);
429
513
  fs.mkdirSync(repo.diffsDir, { recursive: true });
430
- fs.writeFileSync(cacheFile, JSON.stringify(diff));
431
- return { diff: this.withUrls(diff) };
514
+ fs.writeFileSync(job.cacheFile, JSON.stringify(diff));
515
+ return this.withUrls(diff);
432
516
  }
433
517
  catch (e) {
434
- return { diff: assetDiffError(`Preparing the diff failed: ${e instanceof Error ? e.message : String(e)}`) };
435
- }
436
- finally {
437
- if (fromFile)
438
- fs.rmSync(fromFile, { force: true });
439
- if (toFile)
440
- fs.rmSync(toFile, { force: true });
518
+ return assetDiffError(`Preparing the diff failed: ${e instanceof Error ? e.message : String(e)}`);
441
519
  }
442
520
  }
443
521
  /** Picture URLs on the daemon, for this session. */
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/checkpoints/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,UAAU,GAKX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,mBAAmB,GAGpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,wEAAwE;AACxE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AA0D/B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE1D,wGAAwG;AACxG,MAAM,UAAU,yBAAyB,CAAC,QAAsC;IAC9E,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,IAAI,CAAC,CAAkB;IAC9B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,CAAC,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAID,qFAAqF;AACrF,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,EAAE,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;IACpD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,KAAwD,CAAC;QACnE,OAAO;YACL,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACtB,cAAc,EAAE,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,wBAAwB;SAC3H,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,wBAAwB,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,OAAO,kBAAkB;IAOA;IANrB,QAAQ,GAAmB,IAAI,CAAC;IAChC,SAAS,GAAsB,IAAI,CAAC;IAC5C,6FAA6F;IACrF,gBAAgB,GAAkB,IAAI,CAAC;IACvC,gBAAgB,GAAG,KAAK,CAAC;IAEjC,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QACjD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,IAAI,MAAM,CAAC,SAAS;gBAAE,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAY,UAAU;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,mDAAmD,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,UAAU;QAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;IACpD,CAAC;IAEO,IAAI;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,8IAA8I,CAAC,CAAC;QACjL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACrD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACrD,UAAU;YACV,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC/C,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;SAChD,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/H,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,sGAAsG;IAC9F,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAY;QACnD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAgB,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC7B,IAAI,MAAM,KAAK,gBAAgB;oBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC;gBACvG,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe;gBAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,aAAa,EAAE,oDAAoD,MAAM,wDAAwD,CAAC,CAAC;gBAC1I,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBAChC,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,iBAAiB,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO;QAChE,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,aAAa,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,OAA0B,EAAE,QAAmB;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,6FAA6F;QAC7F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;YAChC,KAAK;YACL,OAAO;YACP,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;YAC1D,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvI,OAAO;YACL,GAAG,GAAG,CAAC,IAAI;YACX,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACzB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE;YACzC,eAAe,EAAE,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,EAAkB,EAAE,OAA2D,EAAE;QAC3G,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;YACvG,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;oBAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvH,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5E,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,EAA6B,EAAE,GAAW;QACtE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;QACpG,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,4DAA4D,CAAC,CAAC;QACvG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,2CAA2C,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,iEAAiE,CAAC,CAAC;YACvI,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,SAAS,CAAC,EAAU;QAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,IAAY,EAAE,EAAkB;QAChE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;QACpG,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,4DAA4D,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,8DAA8D,CAAC,CAAC;QACrI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,kBAAkB,IAAI,EAAE,CAAC,CAAC;YACjI,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClF,IAAI,QAAQ,IAAI,CAAC;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzD,IAAI,MAAM,IAAI,CAAC;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,6BAA6B,EAAE;gBAClE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC7C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,OAAO,EAAE,MAAM,CAAC,EAAE;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,6EAA6E,CAAC,CAAC;YAC3H,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACzB,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAA+B;gBAC3D,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,EAAiB;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC/G,CAAC,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IAED,uFAAuF;IAC/E,OAAO,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,wFAAwF;IAChF,WAAW,CAAC,GAAW;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM;oBAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CAAC,MAAqB;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;YACnB,IAAI,aAAa;gBAAE,MAAM,GAAG,IAAI,CAAC;YACjC,IAAI,IAAI,CAAC,SAAS;gBAAE,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,CAAC,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACzD,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACvG,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qFAAqF;IAC7E,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,EAAiB,EAAE,CAAc;QACvE,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,mGAAmG,CAAC,EAAE,CAAC;QAClJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,+EAA+E,CAAC,EAAE,CAAC;QACvJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,kEAAkE,CAAC,EAAE,CAAC;QAE5I,MAAM,GAAG,GAAG,GAAG,iBAAiB,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1G,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAc,CAAC;YAC5E,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,IAAI,QAAQ,IAAI,CAAC;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzD,IAAI,MAAM,IAAI,CAAC;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACrD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAC7D,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;oBAChD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxC,CAAC,CAAgB,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,6FAA6F,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;gBACtJ,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,uCAAuC,OAAO,EAAE,CAAC,EAAE,CAAC;YACpF,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,4CAA4C,CAAC,CAAC,EAAE,CAAC;YACvI,MAAM,OAAO,GAAG,CAAC,IAAwB,EAAE,CAAmB,EAA8B,EAAE;gBAC5F,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO;oBAAE,OAAO,SAAS,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,GAAoD,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;oBACtH,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;wBAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC7D,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7C,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChE,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAoD,CAAC;oBAC3G,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC9E,CAAC;gBAAC,MAAM,CAAC;oBACP,oCAAoC;gBACtC,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;YAC5D,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9G,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ;gBAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,QAAQ,CAAC,CAAY;QAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBACxC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,8BAA8B,CAAC,CAAC,SAAS,CAAC,EAAE,eAAe,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,kGAAkG;IAC1F,KAAK,CAAC,iBAAiB,CAAC,MAAmE;QACjG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC9F,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACjC,mFAAmF;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAClF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjG,IAAI,CAAC;gBACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAAE,SAAS;gBACpE,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAG,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAAE,SAAS;gBAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE;oBAChE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;oBAChD,QAAQ;oBACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B,CAAC,CAAC;gBACH,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBAC1C,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;oBACzD,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM;oBAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,UAAkB,EAAE,OAA8C,EAAE;QAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YAClD,4DAA4D;YAC5D,IAAI,SAAS;gBAAE,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEnG,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAClG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,UAAU,6BAA6B,CAAC,CAAC,CAAC,IAAI,UAAU,aAAa,OAAO,CAAC,MAAM,mCAAmC,CAAC,CAAC;YAClM,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAChG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YAExG,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzF,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,QAAQ,GAA8B,EAAE,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE;oBACnD,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACpI,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;iBAC9E,CAAC;gBACF,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrH,MAAM,OAAO,GAAG,CAAC,CAAU,EAAY,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClF,MAAM,MAAM,GAAkB;gBAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACzB,UAAU,EAAE,MAAM,CAAC,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,KAAK,EAAE,KAAK,CAAC,EAAE;gBACf,QAAQ;gBACR,OAAO;gBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACrC,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;gBACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;aACtC,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE;oBACJ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;iBAClE;aACF,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,QAAQ,CAAC,MAAM,eAAe,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACjJ,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;CACF;AAED,MAAM,SAAS,GAAG,IAAI,OAAO,EAAqC,CAAC;AAEnE,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAAC,OAAsB;IACnD,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAAC,OAAkC,EAAE,IAAY;IAChF,IAAI,OAAO;QAAE,cAAc,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/checkpoints/service.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * who skipped that step at init time and want to authorize later without
9
9
  * re-running the full setup wizard.
10
10
  */
11
+ import { type CliUsage } from "./cli-main.js";
11
12
  /**
12
13
  * Sign in, or reuse a cached sign-in. True when a token is cached afterwards.
13
14
  * `ask` offers a skip first; `ue-mcp auth` is itself the answer, so it does not.
@@ -15,5 +16,27 @@
15
16
  export declare function runFeedbackAuthStep(opts?: {
16
17
  ask?: boolean;
17
18
  }): Promise<boolean>;
19
+ /** One line of `ue-mcp auth --json`. */
20
+ export type AuthEvent = {
21
+ event: "code";
22
+ verificationUri: string;
23
+ userCode: string;
24
+ expiresAt: number;
25
+ interval: number;
26
+ } | {
27
+ event: "signed-in";
28
+ login: string;
29
+ cached: boolean;
30
+ } | {
31
+ event: "failed";
32
+ reason: "denied" | "expired" | "timeout" | "error";
33
+ message?: string;
34
+ };
35
+ /**
36
+ * The device flow for a caller with no terminal, such as an editor's setup page:
37
+ * one JSON object per line, the code to enter first, then how it ended.
38
+ */
39
+ export declare function runFeedbackAuthJson(emit: (e: AuthEvent) => void): Promise<boolean>;
40
+ export declare const usage: CliUsage;
18
41
  /** Entry point for `ue-mcp auth`. init.ts runs the same step inline. */
19
- export declare function run(): Promise<number | void>;
42
+ export declare function run(argv?: string[]): Promise<number | void>;
@@ -82,9 +82,55 @@ export async function runFeedbackAuthStep(opts = {}) {
82
82
  }
83
83
  return false;
84
84
  }
85
+ /**
86
+ * The device flow for a caller with no terminal, such as an editor's setup page:
87
+ * one JSON object per line, the code to enter first, then how it ended.
88
+ */
89
+ export async function runFeedbackAuthJson(emit) {
90
+ const cached = await readUserAuth();
91
+ if (cached) {
92
+ emit({ event: "signed-in", login: cached.login, cached: true });
93
+ return true;
94
+ }
95
+ const failed = (e) => {
96
+ emit({ event: "failed", reason: "error", message: e instanceof Error ? e.message : String(e) });
97
+ return false;
98
+ };
99
+ let pending;
100
+ try {
101
+ pending = await startDeviceFlow();
102
+ }
103
+ catch (e) {
104
+ return failed(e);
105
+ }
106
+ emit({ event: "code", verificationUri: pending.verification_uri, userCode: pending.user_code, expiresAt: pending.expires_at, interval: pending.interval });
107
+ let result;
108
+ try {
109
+ result = await pollDeviceFlow(pending);
110
+ }
111
+ catch (e) {
112
+ return failed(e);
113
+ }
114
+ if (result.kind === "auth") {
115
+ emit({ event: "signed-in", login: result.auth.login, cached: false });
116
+ return true;
117
+ }
118
+ emit({ event: "failed", reason: result.kind });
119
+ return false;
120
+ }
121
+ export const usage = {
122
+ usage: "ue-mcp auth [--json]",
123
+ summary: "Sign in to GitHub so feedback issues author as your account.",
124
+ flags: [
125
+ { name: "--json", description: "Print one JSON object per line: the code to enter, then the outcome" },
126
+ ],
127
+ };
85
128
  /** Entry point for `ue-mcp auth`. init.ts runs the same step inline. */
86
- export async function run() {
87
- return (await runFeedbackAuthStep({ ask: false })) ? 0 : 1;
129
+ export async function run(argv = []) {
130
+ const authorized = argv.includes("--json")
131
+ ? await runFeedbackAuthJson((e) => process.stdout.write(JSON.stringify(e) + "\n"))
132
+ : await runFeedbackAuthStep({ ask: false });
133
+ return authorized ? 0 : 1;
88
134
  }
89
135
  // Also runnable as `node dist/cli/auth-cli.js`, only when executed directly.
90
136
  if (isMainModule(import.meta.url)) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-cli.js","sourceRoot":"","sources":["../../src/cli/auth-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-cli.js","sourceRoot":"","sources":["../../src/cli/auth-cli.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface DoctorReport {
13
13
  dir: string;
14
14
  } | null;
15
15
  effectiveNpx: string | null;
16
+ /** Where effectiveNpx comes from; with nothing installed npx fetches the registry's latest. */
17
+ effectiveNpxSource?: "local" | "global" | "registry" | null;
16
18
  runningServers: Array<{
17
19
  pid: number;
18
20
  version: string | null;