ue-mcp 1.3.9-beta.8 → 1.3.9

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 (84) hide show
  1. package/README.md +3 -3
  2. package/dist/bridge.d.ts +2 -2
  3. package/dist/bridge.js +13 -3
  4. package/dist/bridge.js.map +1 -1
  5. package/dist/editor-gate.d.ts +9 -0
  6. package/dist/editor-gate.js +12 -2
  7. package/dist/editor-gate.js.map +1 -1
  8. package/dist/epic-surface.d.ts +1 -1
  9. package/dist/epic-surface.js +54 -3
  10. package/dist/epic-surface.js.map +1 -1
  11. package/dist/flow/guarded-bridge.d.ts +2 -0
  12. package/dist/flow/guarded-bridge.js +6 -0
  13. package/dist/flow/guarded-bridge.js.map +1 -1
  14. package/dist/flow/registry.js +30 -1
  15. package/dist/flow/registry.js.map +1 -1
  16. package/dist/flow/task-factory.js +5 -10
  17. package/dist/flow/task-factory.js.map +1 -1
  18. package/dist/index.js +16 -13
  19. package/dist/index.js.map +1 -1
  20. package/dist/lean-context.d.ts +15 -2
  21. package/dist/lean-context.js +47 -3
  22. package/dist/lean-context.js.map +1 -1
  23. package/dist/session-surface.js +19 -0
  24. package/dist/session-surface.js.map +1 -1
  25. package/dist/tool-counts.json +6 -6
  26. package/dist/tool-search.js +24 -3
  27. package/dist/tool-search.js.map +1 -1
  28. package/dist/tools/animation.js +1 -1
  29. package/dist/tools/animation.js.map +1 -1
  30. package/dist/tools/asset.js +4 -4
  31. package/dist/tools/asset.js.map +1 -1
  32. package/dist/tools/blueprint.js +1 -1
  33. package/dist/tools/blueprint.js.map +1 -1
  34. package/dist/tools/epic.js +1 -1
  35. package/dist/tools/epic.js.map +1 -1
  36. package/dist/tools/gameplay.js +7 -6
  37. package/dist/tools/gameplay.js.map +1 -1
  38. package/dist/tools/material.js +4 -1
  39. package/dist/tools/material.js.map +1 -1
  40. package/dist/tools/niagara.js +48 -5
  41. package/dist/tools/niagara.js.map +1 -1
  42. package/dist/tools/widget.js +1 -1
  43. package/dist/ue-mcp.default.yml +18 -12
  44. package/package.json +2 -2
  45. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/BridgeParamEcho.cpp +2 -1
  46. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers.cpp +2 -1
  47. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_Depth.cpp +2 -1
  48. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_IKRetargeterAuthoring.cpp +4 -2
  49. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_MotionMatching.cpp +6 -6
  50. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AnimationHandlers_StateMachine.cpp +7 -7
  51. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers_BulkProperties.cpp +2 -1
  52. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers_Graph.cpp +8 -6
  53. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers_Import.cpp +7 -15
  54. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers_UV.cpp +1 -1
  55. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_Depth.cpp +4 -3
  56. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_Functions.cpp +1 -1
  57. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_Graph.cpp +1 -1
  58. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_Properties.cpp +1 -1
  59. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/BlueprintHandlers_UserTypes.cpp +2 -1
  60. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/FoliageHandlers_Batch.cpp +2 -1
  61. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_BTAuthoring.cpp +4 -2
  62. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_BehaviorTree.cpp +5 -0
  63. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_Input.cpp +111 -29
  64. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers.cpp +23 -0
  65. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/LevelHandlers_BatchWrite.cpp +4 -2
  66. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/MaterialHandlers.cpp +231 -81
  67. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/MaterialHandlers.h +11 -0
  68. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/MaterialHandlers_Build.cpp +2 -1
  69. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/ReflectionHandlers.cpp +9 -25
  70. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/ReflectionHandlers.h +1 -1
  71. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/VolumeHelpers_Internal.cpp +31 -7
  72. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/VolumeHelpers_Internal.h +5 -0
  73. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/AssetGraphReadTests.cpp +15 -1
  74. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/BehaviorTreeNodeTests.cpp +9 -4
  75. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/BlueprintTransactionalNodeTests.cpp +244 -0
  76. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/ImcPersistenceTests.cpp +372 -0
  77. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/LevelPlaceVolumeTests.cpp +200 -0
  78. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/MaterialGraphReadTests.cpp +122 -0
  79. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/NativeStructFPrefixTests.cpp +289 -0
  80. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/SkeletonDiffTests.cpp +13 -2
  81. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/ViewportCameraHandlerTests.cpp +28 -13
  82. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Public/HandlerUtils.h +55 -0
  83. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/UE_MCP_Bridge.Build.cs +4 -0
  84. package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +2 -2
package/README.md CHANGED
@@ -5,9 +5,9 @@
5
5
  [![stars](https://img.shields.io/github/stars/db-lyon/ue-mcp)](https://github.com/db-lyon/ue-mcp/stargazers)
6
6
  [![MIT](https://img.shields.io/npm/l/ue-mcp)](LICENSE)
7
7
 
8
- **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->26<!-- /count --> category tools covering <!-- count:actions -->1932+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
8
+ **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->26<!-- /count --> category tools covering <!-- count:actions -->1933+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
9
9
 
10
- That total is <!-- count:ownActions -->1102+<!-- /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`.
10
+ That total is <!-- count:ownActions -->1103+<!-- /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`.
11
11
 
12
12
  ```mermaid
13
13
  flowchart LR
@@ -139,7 +139,7 @@ flows:
139
139
  flow(action="run", flowName="build_and_check")
140
140
  ```
141
141
 
142
- Every one of the <!-- count:actions -->1932+<!-- /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/).
142
+ Every one of the <!-- count:actions -->1933+<!-- /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/).
143
143
 
144
144
  ## Plugins
145
145
 
package/dist/bridge.d.ts CHANGED
@@ -133,8 +133,8 @@ export declare class EditorBridge implements IBridge {
133
133
  private connectInFlight;
134
134
  private idCounter;
135
135
  /**
136
- * #821: what the bridge said it was, answered on connect. Null before the
137
- * first connection. `legacy` marks a plugin old enough not to answer at all.
136
+ * #821: what the current bridge said it was, answered on connect. Null while
137
+ * disconnected or awaiting its handshake. `legacy` marks an unanswered handshake.
138
138
  */
139
139
  capabilities: BridgeCapabilities | null;
140
140
  private portSource;
package/dist/bridge.js CHANGED
@@ -104,8 +104,8 @@ export class EditorBridge {
104
104
  connectInFlight = null;
105
105
  idCounter = 0;
106
106
  /**
107
- * #821: what the bridge said it was, answered on connect. Null before the
108
- * first connection. `legacy` marks a plugin old enough not to answer at all.
107
+ * #821: what the current bridge said it was, answered on connect. Null while
108
+ * disconnected or awaiting its handshake. `legacy` marks an unanswered handshake.
109
109
  */
110
110
  capabilities = null;
111
111
  // How this.port was decided. Precedence for the *preferred* port (the one
@@ -410,6 +410,7 @@ export class EditorBridge {
410
410
  if (this.ws === ws) {
411
411
  ws.terminate();
412
412
  this.ws = null;
413
+ this.capabilities = null;
413
414
  }
414
415
  reject(new McpError(ErrorCode.CONNECTION_LOST, `Failed to send bridge call '${method}': ${err.message}`));
415
416
  });
@@ -434,6 +435,7 @@ export class EditorBridge {
434
435
  this.pending.clear();
435
436
  const ws = this.ws;
436
437
  this.ws = null;
438
+ this.capabilities = null;
437
439
  if (!ws)
438
440
  return;
439
441
  if (opts?.graceful)
@@ -466,7 +468,8 @@ export class EditorBridge {
466
468
  return;
467
469
  settled = true;
468
470
  detach();
469
- this.capabilities = null;
471
+ if (this.ws === ws)
472
+ this.capabilities = null;
470
473
  resolve({ ...LEGACY_CAPABILITIES });
471
474
  };
472
475
  const finish = (capabilities) => {
@@ -474,6 +477,12 @@ export class EditorBridge {
474
477
  return;
475
478
  settled = true;
476
479
  detach();
480
+ // An obsolete handshake must still settle and detach, but only the
481
+ // current open socket can publish metadata or mismatch diagnostics.
482
+ if (this.ws !== ws || ws.readyState !== WebSocket.OPEN) {
483
+ resolve(capabilities);
484
+ return;
485
+ }
477
486
  this.capabilities = capabilities;
478
487
  const mismatch = describeProtocolMismatch(capabilities);
479
488
  if (mismatch) {
@@ -591,6 +600,7 @@ export class EditorBridge {
591
600
  }
592
601
  this.pending.clear();
593
602
  this.ws = null;
603
+ this.capabilities = null;
594
604
  });
595
605
  ws.on("error", (err) => {
596
606
  // `close` fires next and is where we reject pending calls; log here so
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAqBzC,4DAA4D;AAC5D,MAAM,mBAAmB,GAAuB,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAErF,IAAI,mBAAmB,GAAkB,IAAI,CAAC;AAC9C,SAAS,oBAAoB;IAC3B,IAAI,mBAAmB;QAAE,OAAO,mBAAmB,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,mBAAmB,GAAI,OAAO,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,mBAAmB,GAAG,SAAS,CAAC;IAClC,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAuC,EACvC,MAAe;IAEf,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;IAC5C,MAAM,IAAI,GAAG,uBAAuB,CAAC;IACrC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,uCAAuC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,MAAM,OAAO,GACX,MAAM,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtE,CAAC,CAAC,KAAK,MAAM,sBAAsB,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,yCAAyC;QACnI,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;QAClB,OAAO,CACL,oDAAoD,MAAM,0BAA0B,oBAAoB,EAAE,oBAAoB,IAAI,GAAG;YACrI,GAAG,OAAO,GAAG,KAAK,EAAE;YACpB,4HAA4H,CAC7H,CAAC;IACJ,CAAC;IACD,OAAO,CACL,oDAAoD,MAAM,0BAA0B,oBAAoB,EAAE,yBAAyB,IAAI,GAAG;QAC1I,GAAG,KAAK,EAAE;QACV,2EAA2E,CAC5E,CAAC;AACJ,CAAC;AAyBD,SAAS,YAAY,CAAI,IAAY;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,qEAAqE;AACrE,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,YAA2B;IAC5D,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,YAAY,CACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,CAAC,CAC7E,CAAC;IACF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAA2B;IAC/D,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,YAAY,CACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,CAAC,CACrF,CAAC;IACF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC5D,2EAA2E;IAC3E,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC;AAkCD,sEAAsE;AACtE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AA8C7B,MAAM,OAAO,YAAY;IACf,EAAE,GAAqB,IAAI,CAAC;IAC5B,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5C,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,cAAc,GAA0C,IAAI,CAAC;IAC7D,eAAe,GAAyB,IAAI,CAAC;IAC7C,SAAS,GAAG,CAAC,CAAC;IAEtB;;;OAGG;IACI,YAAY,GAA8B,IAAI,CAAC;IAEtD,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,oEAAoE;IACpE,8BAA8B;IACtB,UAAU,GAAqB,SAAS,CAAC;IAEjD;;;;;;OAMG;IACK,aAAa,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACK,gBAAgB,GAAG,CAAC,CAAC;IAE7B,YAAY,IAAa,EAAE,IAAa;QACtC,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,6DAA6D;QAC7D,iEAAiE;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC;QAE3D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAEM,IAAI,CAAS;IACb,IAAI,CAAS;IAEpB;;;;;;;OAOG;IACH,aAAa,CAAC,IAAa;QACzB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;YAAE,OAAO;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAa;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACxG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI;QACpC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,sBAAsB,GAAkB,IAAI,CAAC;IAEpD;;;;;OAKG;IACH,iBAAiB,CAAC,YAA2B;QAC3C,IAAI,CAAC,sBAAsB,GAAG,YAAY,CAAC;QAC3C,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,KAAK,CAAC,QAAQ,EAAE,mCAAmC,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,qEAAqE;QACrE,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,YAAoB,EAAE,UAAmB;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,yEAAyE;QACzE,qEAAqE;QACrE,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CACH,QAAQ,EACR,mBAAmB,QAAQ,IAAI,cAAc,OAAO,QAAQ,UAAU,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,GAAG,CACvG,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,sBAAsB;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI;QAC5B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAExC,wEAAwE;QACxE,uEAAuE;QACvE,uDAAuD;QACvD,EAAE;QACF,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,2DAA2D;QAC3D,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,IAAI,GAAG,wBAAwB,CACnC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/E,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,KAAK,CACH,QAAQ,EACR,GAAG,IAAI,CAAC,MAAM,mBAAmB,IAAI,CAAC,IAAI,yBAAyB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,GAAG,CACpG,CAAC;gBACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,CAAC;YACD,yEAAyE;YACzE,8BAA8B;YAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,2CAA2C;QAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,kDAAkD,IAAI,CAAC,sBAAsB,IAAI;gBAC/E,YAAY,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB,IAAI;gBAC5G,2EAA2E;gBAC3E,4EAA4E;gBAC5E,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEzC,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,WAAW;QACX,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE;YAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAClE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,CAAC,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,EAAE,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACnH,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,sEAAsE;gBACtE,oEAAoE;gBACpE,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;oBACzC,EAAE,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,CACJ,IAAI,QAAQ,CACV,SAAS,CAAC,aAAa,EACvB,+BAA+B,GAAG,+CAA+C,CAClF,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxB,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,qEAAqE;gBACrE,sDAAsD;gBACtD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CACJ,IAAI,QAAQ,CACV,SAAS,CAAC,aAAa,EACvB,cAAc,CAAC,yCAAyC,GAAG,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAC/E,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,UAAU,GAAG,KAAK;QAClC,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO;YAC7B,sEAAsE;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,mEAAmE;YACnE,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CACzB,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,EACtD,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,uCAAuC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;QACJ,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAgC,EAAE,SAAkB;QAC7E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QACrD,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,+DAA+D;gBAC/D,qEAAqE;gBACrE,oEAAoE;gBACpE,oEAAoE;gBACpE,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,QAAQ,CACjB,SAAS,CAAC,cAAc,EACxB,gBAAgB,MAAM,qBAAqB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK;sBACxE,8EAA8E;sBAC9E,cAAc,EAAE,6DAA6D;sBAC7E,qFAAqF;sBACrF,+EAA+E;sBAC/E,yCAAyC,eAAe,mBAAmB;sBAC3E,0CAA0C,EAC5C,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,CAChD,CAAC,CAAC;YACL,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvC,IAAI,CAAC,GAAG;oBAAE,OAAO;gBAEjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBACnB,EAAE,CAAC,SAAS,EAAE,CAAC;oBACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,+BAA+B,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,MAAc,EAAE,IAA6B;QAC/D,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,IAAI,EAAE,QAAQ;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;;YAC1B,EAAE,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,EAAa,EAAE,SAAS,GAAG,IAAI;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC7B,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC;YAEF,qEAAqE;YACrE,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,mEAAmE;YACnE,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,CAAC;gBACT,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;oBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC7C,OAAO,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,YAAgC,EAAQ,EAAE;gBACxD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,CAAC;gBACT,mEAAmE;gBACnE,oEAAoE;gBACpE,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACvD,OAAO,CAAC,YAAY,CAAC,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBAEjC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;gBACxD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,QAAQ,EAAE,mBAAmB,YAAY,CAAC,eAAe,KAAK,YAAY,CAAC,WAAW,IAAI,GAAG,mBAAmB,YAAY,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;gBAC7J,CAAC;gBACD,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,IAAuB,EAAQ,EAAE;gBAClD,IAAI,GAAmB,CAAC;gBACxB,IAAI,CAAC;oBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAmB,CAAC;gBACtD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE;oBAAE,OAAO;gBAC1B,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC7B,mEAAmE;oBACnE,kEAAkE;oBAClE,MAAM,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAqC,CAAC;gBACzD,MAAM,CAAC;oBACL,GAAG,MAAM;oBACT,eAAe,EAAE,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBACxF,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAE9E,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrF,IAAI,GAAG;oBAAE,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IACxD,iBAAiB,CAAC,EAAU,EAAE,MAAc;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,IAAI;gBAAE,MAAM;YACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc,CAAC,EAAa;QAClC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAmB,CAAC;gBAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,mEAAmE;oBACnE,+DAA+D;oBAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjD,IAAI,aAAa,EAAE,CAAC;wBAClB,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACtC,IAAI,GAAG,CAAC,KAAK;4BAAE,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;;4BAClD,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;wBACvC,IAAI,CACF,QAAQ,EACR,oBAAoB,aAAa,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI;8BAChE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,WAAW,iCAAiC;8BAC1E,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CACnD,CAAC;oBACJ,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAE5B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBACd,mEAAmE;oBACnE,gDAAgD;oBAChD,MAAM,QAAQ,GACZ,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjG,OAAO,CAAC,MAAM,CACZ,IAAI,QAAQ,CACV,SAAS,CAAC,YAAY,EACtB,QAAQ,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CACpG,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,EAAE,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,SAAiB,EAAE,EAAE;YACjD,sEAAsE;YACtE,wEAAwE;YACxE,0DAA0D;YAC1D,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;gBAAE,OAAO;YAE3B,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,mEAAmE;YACnE,MAAM,MAAM,GAAG,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM;gBACnB,CAAC,CAAC,gDAAgD,IAAI,MAAM,MAAM,EAAE;gBACpE,CAAC,CAAC,sCAAsC,IAAI,GAAG,CAAC;YAClD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,uEAAuE;YACvE,mEAAmE;YACnE,KAAK,CAAC,QAAQ,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -42,6 +42,15 @@ export declare function routeEditorCall(tool: ToolDef, params: Record<string, un
42
42
  * the thing being invoked, and let every mutation through as one read.
43
43
  */
44
44
  export declare function effectiveTaskName(tool: ToolDef, params: Record<string, unknown>): string;
45
+ /**
46
+ * The task a call runs and the parameters that task reads, seen past any
47
+ * gateway. Asset locks are classified from this, so a micro call locks exactly
48
+ * what the direct call to the same action locks.
49
+ */
50
+ export declare function callSubject(tool: ToolDef, params: Record<string, unknown>): {
51
+ taskName: string;
52
+ params: Record<string, unknown>;
53
+ };
45
54
  /**
46
55
  * The gate, against a live session registry.
47
56
  *
@@ -20,8 +20,8 @@
20
20
  */
21
21
  import { requiresExplicitEditor } from "./action-class.js";
22
22
  import { taskEffect } from "./action-effects.js";
23
- import { EDITOR_TARGET_PARAM, stripEditorTarget } from "./types.js";
24
- import { MICRO_GATEWAY_TOOL, MICRO_GATEWAY_CALL } from "./lean-context.js";
23
+ import { EDITOR_TARGET_PARAM, stripAction, stripEditorTarget } from "./types.js";
24
+ import { MICRO_GATEWAY_TOOL, MICRO_GATEWAY_CALL, microCallParams } from "./lean-context.js";
25
25
  /**
26
26
  * Actions whose subject is the SESSION REGISTRY, not any editor.
27
27
  *
@@ -117,6 +117,16 @@ export function effectiveTaskName(tool, params) {
117
117
  }
118
118
  return `${tool.name}.${action}`;
119
119
  }
120
+ /**
121
+ * The task a call runs and the parameters that task reads, seen past any
122
+ * gateway. Asset locks are classified from this, so a micro call locks exactly
123
+ * what the direct call to the same action locks.
124
+ */
125
+ export function callSubject(tool, params) {
126
+ const taskName = effectiveTaskName(tool, params);
127
+ const viaGateway = tool.name === MICRO_GATEWAY_TOOL && params.action === MICRO_GATEWAY_CALL;
128
+ return { taskName, params: viaGateway ? microCallParams(params) : stripAction(params) };
129
+ }
120
130
  /**
121
131
  * The gate, against a live session registry.
122
132
  *
@@ -1 +1 @@
1
- {"version":3,"file":"editor-gate.js","sourceRoot":"","sources":["../src/editor-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-gate.js","sourceRoot":"","sources":["../src/editor-gate.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@
21
21
  * `call_tool` stays reachable for a toolset this package has not baked, which
22
22
  * is what makes turning the surface off survivable rather than a dead end.
23
23
  */
24
- import type { ToolDef } from "./types.js";
24
+ import { type ToolDef } from "./types.js";
25
25
  /** Prefix every generated engine-tool action carries. */
26
26
  export declare const EPIC_ACTION_PREFIX = "epic_";
27
27
  export interface NativeToolsConfig {
@@ -1,3 +1,27 @@
1
+ /**
2
+ * Honouring `nativeTools:` now that Unreal's tools are declared rather than
3
+ * injected.
4
+ *
5
+ * The config contract has not changed. `nativeTools.enabled: false` means "do
6
+ * not advertise the wrapped engine tools", and `nativeTools.exclude: [gas]`
7
+ * means "not in that category". What changed is the direction the work runs in:
8
+ * the catalog used to be read from the live editor at startup and injected, so
9
+ * honouring the config meant declining to inject; the actions are declared in
10
+ * `ALL_TOOLS` now, so honouring it means REMOVING them from this session's
11
+ * graph.
12
+ *
13
+ * Removal rather than conditional declaration is deliberate. One declaration
14
+ * that every session starts from is what puts these actions in the golden
15
+ * baseline, the parameter audits and `describe_action`; a surface that only
16
+ * exists when an editor was reachable at startup was exactly what could not be
17
+ * held to any of those.
18
+ *
19
+ * The `epic` category's own four actions (status, list_toolsets,
20
+ * describe_toolset, call_tool) are never removed. They are the gateway, and
21
+ * `call_tool` stays reachable for a toolset this package has not baked, which
22
+ * is what makes turning the surface off survivable rather than a dead end.
23
+ */
24
+ import { actionEnum } from "./types.js";
1
25
  /** Prefix every generated engine-tool action carries. */
2
26
  export const EPIC_ACTION_PREFIX = "epic_";
3
27
  /** The `epic` category's own actions, which are ue-mcp's and never removed. */
@@ -22,16 +46,43 @@ export function applyNativeToolsConfig(tools, cfg) {
22
46
  const doomed = Object.keys(tool.actions).filter((a) => a.startsWith(EPIC_ACTION_PREFIX) && !(tool.name === "epic" && GATEWAY_ACTIONS.has(a)));
23
47
  if (doomed.length === 0)
24
48
  continue;
25
- for (const a of doomed)
26
- delete tool.actions[a];
49
+ rebuildFilteredTool(tool, doomed);
27
50
  result.removed += doomed.length;
28
51
  result.byCategory[tool.name] = doomed.length;
29
52
  }
30
- // Rebuilt by the caller, which owns the enum and schema shapes.
31
53
  for (const tool of tools) {
32
54
  if (Object.keys(tool.actions).length === 0)
33
55
  result.droppedCategories.push(tool.name);
34
56
  }
35
57
  return result;
36
58
  }
59
+ /**
60
+ * Rebuild the action identity and catalog after generated actions leave.
61
+ *
62
+ * The category schema is intentionally flat, so a field may be shared by an
63
+ * action that forwards its entire parameter bag without naming individual
64
+ * keys. Keep those fields until the graph carries explicit schema ownership;
65
+ * guessing ownership here can make a valid parameter disappear at parsing.
66
+ */
67
+ function rebuildFilteredTool(tool, doomed) {
68
+ const removed = new Set(doomed);
69
+ for (const name of doomed)
70
+ delete tool.actions[name];
71
+ const names = Object.keys(tool.actions);
72
+ if (names.length > 0)
73
+ tool.schema.action = actionEnum(names);
74
+ rebuildDescription(tool, removed);
75
+ }
76
+ /** Remove only the catalog lines for actions that are no longer callable. */
77
+ function rebuildDescription(tool, removed) {
78
+ if (removed.size === 0)
79
+ return;
80
+ tool.description = tool.description
81
+ .split("\n")
82
+ .filter((line) => {
83
+ const match = /^-\s+([A-Za-z_][A-Za-z0-9_]*)\b/.exec(line);
84
+ return !match || !removed.has(match[1]);
85
+ })
86
+ .join("\n");
87
+ }
37
88
  //# sourceMappingURL=epic-surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"epic-surface.js","sourceRoot":"","sources":["../src/epic-surface.ts"],"names":[],"mappings":"AAyBA,yDAAyD;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C,+EAA+E;AAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;AAgB9F;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAgB,EAChB,GAAkC;IAElC,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACxF,MAAM,QAAQ,GAAG,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7F,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"epic-surface.js","sourceRoot":"","sources":["../src/epic-surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAEtD,yDAAyD;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C,+EAA+E;AAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;AAgB9F;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAgB,EAChB,GAAkC;IAElC,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACxF,MAAM,QAAQ,GAAG,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7F,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAa,EAAE,MAAgB;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0B,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,IAAa,EAAE,OAA4B;IACrE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;SAChC,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -38,6 +38,7 @@ export declare class DialogGatedBridge implements IBridge {
38
38
  private readonly session;
39
39
  constructor(inner: IBridge, session: EditorSession);
40
40
  get isConnected(): boolean;
41
+ get capabilities(): IBridge["capabilities"];
41
42
  connect(timeoutMs?: number): Promise<void>;
42
43
  retargetProject(uprojectPath: string, configPort?: number): BridgeTarget;
43
44
  getTarget(): BridgeTarget;
@@ -58,6 +59,7 @@ export declare class GuardedBridge implements IBridge {
58
59
  /** Feed the reply back to the guard, which decides what it proves. */
59
60
  private observe;
60
61
  get isConnected(): boolean;
62
+ get capabilities(): IBridge["capabilities"];
61
63
  connect(timeoutMs?: number): Promise<void>;
62
64
  retargetProject(uprojectPath: string, configPort?: number): BridgeTarget;
63
65
  getTarget(): BridgeTarget;
@@ -71,6 +71,9 @@ export class DialogGatedBridge {
71
71
  get isConnected() {
72
72
  return this.inner.isConnected;
73
73
  }
74
+ get capabilities() {
75
+ return this.inner.capabilities;
76
+ }
74
77
  connect(timeoutMs) {
75
78
  return this.inner.connect(timeoutMs);
76
79
  }
@@ -111,6 +114,9 @@ export class GuardedBridge {
111
114
  get isConnected() {
112
115
  return this.inner.isConnected;
113
116
  }
117
+ get capabilities() {
118
+ return this.inner.capabilities;
119
+ }
114
120
  connect(timeoutMs) {
115
121
  return this.inner.connect(timeoutMs);
116
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"guarded-bridge.js","sourceRoot":"","sources":["../../src/flow/guarded-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAiB,eAAe,EAA4B,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI7E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAkC,EAClC,MAAc;IAEd,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,uEAAuE;IACvE,6EAA6E;IAC7E,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAI,OAAkC,EAAE,MAAc,EAAE,MAAS;IAC3F,IAAI,OAAO;QAAE,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAET;IACA;IAFnB,YACmB,KAAc,EACd,OAAsB;QADtB,UAAK,GAAL,KAAK,CAAS;QACd,YAAO,GAAP,OAAO,CAAe;IACtC,CAAC;IAEJ,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,YAAoB,EAAE,UAAmB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAc,EACd,MAAgC,EAChC,SAAkB;QAElB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAEL;IACA;IACA;IAGA;IANnB,YACmB,KAAc,EACd,QAAuB,EACvB,mBAAwC;IACzD;2EACuE;IACtD,OAAuB;QALvB,UAAK,GAAL,KAAK,CAAS;QACd,aAAQ,GAAR,QAAQ,CAAe;QACvB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAGxC,YAAO,GAAP,OAAO,CAAgB;IACvC,CAAC;IAEI,SAAS,CAAC,MAAc;QAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,sEAAsE;IAC9D,OAAO,CAAI,MAAc,EAAE,MAAS;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,YAAoB,EAAE,UAAmB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAc,EACd,MAAgC,EAChC,SAAkB;QAElB,IAAI,CAAC;YACH,4EAA4E;YAC5E,6EAA6E;YAC7E,0DAA0D;YAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;gBAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,GAAG,GAAG,eAAe,CACzB,MAAM,EACN,MAAM,IAAI,EAAE,EACZ,SAAS,EACT,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,OAAO,CACb,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CACvF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sEAAsE;YACtE,oEAAoE;YACpE,+DAA+D;YAC/D,qEAAqE;YACrE,iCAAiC;YACjC,MAAM,MAAM,6BAA6B,CAAC,CAAC,EAAE;gBAC3C,MAAM;gBACN,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW;gBAC/C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI;gBACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"guarded-bridge.js","sourceRoot":"","sources":["../../src/flow/guarded-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,30 @@
1
1
  import { TaskRegistry, ShellTask } from "@db-lyon/flowkit";
2
2
  import { BridgeTask } from "./bridge-task.js";
3
3
  import { bridgeTaskClass, handlerTaskClass } from "./task-factory.js";
4
+ import { MICRO_GATEWAY_TOOL, MICRO_GATEWAY_CALL, microGatewayTargets, resolveMicroCall } from "../lean-context.js";
5
+ import { McpError, ErrorCode } from "../errors.js";
6
+ /** A gateway call is an alias for the target task, not a handler that executes
7
+ * another action and repackages its result. Both MCP and FlowRunner create
8
+ * tasks here, so plugin dispatch, failures and rollback keep the same path. */
9
+ class MicroTaskRegistry extends TaskRegistry {
10
+ targets;
11
+ /** `targets` is what the gateway itself reaches: the enabled categories. */
12
+ constructor(targets) {
13
+ super();
14
+ this.targets = targets;
15
+ }
16
+ async create(name, ctx, options) {
17
+ if (name === `${MICRO_GATEWAY_TOOL}.${MICRO_GATEWAY_CALL}`) {
18
+ const graph = ctx.getToolGraph?.() ?? this.targets;
19
+ const call = resolveMicroCall(graph, options);
20
+ if (!this.listRegistered().includes(call.taskName)) {
21
+ throw new McpError(ErrorCode.NO_HANDLER, `Action ${call.taskName} has no registered task.`);
22
+ }
23
+ return super.create(call.taskName, ctx, call.params);
24
+ }
25
+ return super.create(name, ctx, options);
26
+ }
27
+ }
4
28
  /**
5
29
  * Walk all category tools and register every action as a flowkit task.
6
30
  *
@@ -10,7 +34,12 @@ import { bridgeTaskClass, handlerTaskClass } from "./task-factory.js";
10
34
  * Also registers `ue-mcp.bridge` as a class_path for YAML-defined bridge tasks.
11
35
  */
12
36
  export function buildFlowRegistry(tools) {
13
- const registry = new TaskRegistry();
37
+ // The registry keeps disabled categories so flows can name them directly;
38
+ // the gateway resolves only the categories it was built from.
39
+ const gateway = tools.find((tool) => tool.name === MICRO_GATEWAY_TOOL);
40
+ const registry = gateway
41
+ ? new MicroTaskRegistry(microGatewayTargets(gateway) ?? tools)
42
+ : new TaskRegistry();
14
43
  // Register built-in task class paths
15
44
  registry.registerClassPath("ue-mcp.bridge", BridgeTask);
16
45
  registry.register("shell", ShellTask);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/flow/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IAEpC,qCAAqC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,eAAe,EAAE,UAAwC,CAAC,CAAC;IACtF,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAuC,CAAC,CAAC;IAEpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;YAE9C,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,+CAA+C;YAC/C,MAAM,IAAI,GAAoB;gBAC5B,MAAM,EAAE,UAAU;gBAClB,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe;gBAC9C,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe;aAC/C,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,2DAA2D;gBAC3D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,6CAA6C;gBAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;gBACrC,QAAQ,CAAC,QAAQ,CACf,QAAQ,EACR,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAgB,EAAE,MAA+B,EAAE,EAAE;oBAC/E,OAAO,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACtC,CAAC,EAAE,IAAI,CAAC,CACT,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,QAAQ,CAAC,QAAQ,CACf,QAAQ;gBACR,8DAA8D;gBAC9D,2DAA2D;gBAC3D,iEAAiE;gBACjE,qEAAqE;gBACrE,2CAA2C;gBAC3C,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/flow/registry.ts"],"names":[],"mappings":"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"}
@@ -13,23 +13,18 @@ import { ensureGuard } from "../dialog-guard.js";
13
13
  *
14
14
  * Returns the refusal to report, or null to run the step.
15
15
  */
16
- async function refuseStepIfBlocked(ctx, taskName, options) {
16
+ async function refuseStepIfBlocked(ctx, taskName) {
17
17
  const session = ctx.session;
18
18
  if (!session)
19
19
  return null;
20
- // The micro gateway arrives as one task carrying the real category and
21
- // method in its options. Asking the allowlist about the wrapper refused
22
- // respond_to_dialog, which is the single call that clears the dialog, so the
23
- // gateway could never escape one.
24
- const subject = taskName === "tools.call"
25
- ? `${String(options.category ?? "")}.${String(options.method ?? "")}`
26
- : taskName;
20
+ // A micro gateway call never reaches here as tools.call: the registry
21
+ // creates the target task instead, so taskName is always the real action.
27
22
  // No early return for an allow-listed subject. `check` already exempts them,
28
23
  // and it additionally applies the mode to the one allow-listed subject that
29
24
  // PRESSES a button, so short-circuiting here let a flow step answer a modal
30
25
  // under interactive by walking around the gate rather than through it.
31
26
  const guard = await ensureGuard(session);
32
- const decision = await guard.check(subject, "action");
27
+ const decision = await guard.check(taskName, "action");
33
28
  return decision.allow ? null : (decision.refusal ?? null);
34
29
  }
35
30
  /** The error a refused step reports, worded by the refusal itself. */
@@ -124,7 +119,7 @@ export function handlerTaskClass(name, fn, prep) {
124
119
  // a dialog raised at step 3 was missed by every later step, which
125
120
  // includes the editor lifecycle handlers. Checking per step is what
126
121
  // makes "any process, at any point" true of flows as well.
127
- const refusal = await refuseStepIfBlocked(this.ctx, name, this.options);
122
+ const refusal = await refuseStepIfBlocked(this.ctx, name);
128
123
  if (refusal) {
129
124
  return { success: false, data: refusal, error: refusalError(name, refusal) };
130
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-factory.js","sourceRoot":"","sources":["../../src/flow/task-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-factory.js","sourceRoot":"","sources":["../../src/flow/task-factory.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { ueMcpConfigRejections, describeConfigRejections } from "./project.js";
6
6
  import { attach, attachSummary } from "./deployer.js";
7
7
  import { SERVER_INSTRUCTIONS, SERVER_INSTRUCTIONS_LEAN, SERVER_INSTRUCTIONS_MICRO, multiEditorInstructions } from "./instructions.js";
8
8
  import { resolveContextStrategy, applyLeanContext, buildMicroGateway } from "./lean-context.js";
9
- import { routeEditorCall, effectiveTaskName, refuseUntargetedInRegistry, editorAttribution, } from "./editor-gate.js";
9
+ import { routeEditorCall, callSubject, refuseUntargetedInRegistry, editorAttribution, } from "./editor-gate.js";
10
10
  import { injectEditorTarget, removeEditorTarget, injectMigrateTarget, removeMigrateTarget, stripEditorTarget, sessionContext, EDITOR_TARGET_PARAM, stripAction, } from "./types.js";
11
11
  import { McpError, ErrorCode } from "./errors.js";
12
12
  import { DialogGuard, guardFor, isDialogRefusal, stampBlockedEditor, } from "./dialog-guard.js";
@@ -655,10 +655,13 @@ async function main() {
655
655
  const params = routed.params;
656
656
  const action = params.action;
657
657
  const taskName = `${tool.name}.${action}`;
658
+ // The action actually run: the gateway's target in micro mode.
659
+ const subject = callSubject(tool, params);
660
+ const effectiveTask = subject.taskName;
658
661
  // Nothing below this line runs at one editor: the gate returns null
659
662
  // without classifying, so a single-editor server dispatches exactly as
660
663
  // it did before targeting existed.
661
- const untargeted = gateUntargeted(effectiveTaskName(tool, params), routed.targeted);
664
+ const untargeted = gateUntargeted(effectiveTask, routed.targeted);
662
665
  if (untargeted) {
663
666
  return {
664
667
  content: withUpgradeNotice([
@@ -673,7 +676,7 @@ async function main() {
673
676
  const guard = dialogGuardFor(session, canElicit);
674
677
  // Actions served in this process never reach the bridge, so the bridge
675
678
  // boundary cannot refuse them. Same guard, same decision.
676
- const preflight = await guard.check(effectiveTaskName(tool, params), "action");
679
+ const preflight = await guard.check(effectiveTask, "action");
677
680
  if (!preflight.allow) {
678
681
  return {
679
682
  content: withUpgradeNotice([
@@ -723,7 +726,7 @@ async function main() {
723
726
  }
724
727
  const sessionRegistry = sessionLoad.registry ?? registry;
725
728
  const refusal = sessions.size > 1
726
- ? explainMissingAction(dispatchUnion, taskName, session.name, sessionRegistry.listRegistered().includes(taskName))
729
+ ? explainMissingAction(dispatchUnion, effectiveTask, session.name, sessionRegistry.listRegistered().includes(effectiveTask))
727
730
  : null;
728
731
  if (refusal) {
729
732
  return {
@@ -763,7 +766,7 @@ async function main() {
763
766
  // GUARDED bridge, so a lock request made while a modal is up is
764
767
  // refused as a dialog rather than reported as somebody else holding
765
768
  // the asset.
766
- const result = await withAssetLocks(session.guarded, lockingCfg, taskName, taskParams, () => task.run(), session.lockOwnerId);
769
+ const result = await withAssetLocks(session.guarded, lockingCfg, effectiveTask, subject.params, () => task.run(), session.lockOwnerId);
767
770
  // A handler that makes several bridge calls can swallow a refusal and
768
771
  // still report success, so ask the guard what it learned rather than
769
772
  // trusting the shape. Nothing is re-run: the call already applied
@@ -783,8 +786,8 @@ async function main() {
783
786
  let postRunDecision = null;
784
787
  const failedUnderDialog = !result.success
785
788
  && !isDialogRefusal(result.data)
786
- && !DialogGuard.actionAllowed(effectiveTaskName(tool, params))
787
- && (postRunDecision = await guard.check(effectiveTaskName(tool, params), "action")).allow === false;
789
+ && !DialogGuard.actionAllowed(effectiveTask)
790
+ && (postRunDecision = await guard.check(effectiveTask, "action")).allow === false;
788
791
  if (!result.success && !isDialogRefusal(result.data) && !failedUnderDialog) {
789
792
  const msg = result.error?.message ?? `Task ${taskName} failed`;
790
793
  return {
@@ -799,13 +802,13 @@ async function main() {
799
802
  // An allow-listed read still SAYS a dialog is up. get_status is the
800
803
  // first call every client makes, and reporting a healthy editor while
801
804
  // the game thread is parked is the one answer it must never give.
802
- if (DialogGuard.actionAllowed(effectiveTaskName(tool, params))) {
805
+ if (DialogGuard.actionAllowed(effectiveTask)) {
803
806
  // respond_to_dialog may have just cleared it. Nothing re-probes for
804
807
  // an allow-listed bridge method (guardCall returns before check, and
805
808
  // observe refuses to clear on a modal-safe reply), so this call came
806
809
  // back stamped as blocked and told the caller to make the call it had
807
810
  // just made.
808
- if (effectiveTaskName(tool, params) === "editor.respond_to_dialog" && result.success) {
811
+ if (effectiveTask === "editor.respond_to_dialog" && result.success) {
809
812
  // refresh, NOT check. check applies the mode, so in interactive it
810
813
  // raised a form for whatever prompt this answer surfaced and
811
814
  // pressed a button on it, unasked, and then threw the decision
@@ -830,7 +833,7 @@ async function main() {
830
833
  // Actions allowed through a modal are exempt: reading the dialog and
831
834
  // answering it must not come back refused because of the dialog they
832
835
  // are about.
833
- if (!DialogGuard.actionAllowed(effectiveTaskName(tool, params))) {
836
+ if (!DialogGuard.actionAllowed(effectiveTask)) {
834
837
  const fromPlugin = isDialogRefusal(result.data)
835
838
  ? result.data
836
839
  : null;
@@ -842,10 +845,10 @@ async function main() {
842
845
  // and the prose all describe what actually happened. Only a call that
843
846
  // succeeded and met a dialog anyway has no decision yet.
844
847
  const decision = postRunDecision
845
- ?? (await guard.check(effectiveTaskName(tool, params), "action"));
848
+ ?? (await guard.check(effectiveTask, "action"));
846
849
  const refusalForReturn = decision.allow === false
847
850
  ? decision.refusal
848
- : guard.refusal(effectiveTaskName(tool, params), blocking);
851
+ : guard.refusal(effectiveTask, blocking);
849
852
  // A refusal means nothing ran. Anything else means the call had
850
853
  // already started when the dialog appeared, so it may have applied
851
854
  // part of its work; say so rather than implying it did nothing.
@@ -914,7 +917,7 @@ async function main() {
914
917
  if (blocking) {
915
918
  return {
916
919
  content: withUpgradeNotice([
917
- { type: "text", text: JSON.stringify(guard.refusal(effectiveTaskName(tool, params), blocking), null, 2) },
920
+ { type: "text", text: JSON.stringify(guard.refusal(effectiveTask, blocking), null, 2) },
918
921
  ...attribution(session),
919
922
  ]),
920
923
  isError: true,