ue-mcp 1.4.11-beta.3 → 1.4.11-beta.5

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 (163) hide show
  1. package/README.md +4 -4
  2. package/dist/bridge/bridge-timeouts.js +3 -0
  3. package/dist/bridge/bridge-timeouts.js.map +1 -1
  4. package/dist/bridge/bridge.d.ts +12 -0
  5. package/dist/bridge/bridge.js +43 -1
  6. package/dist/bridge/bridge.js.map +1 -1
  7. package/dist/checkpoints/asset-diff.d.ts +165 -0
  8. package/dist/checkpoints/asset-diff.js +160 -0
  9. package/dist/checkpoints/asset-diff.js.map +1 -0
  10. package/dist/checkpoints/service.d.ts +178 -0
  11. package/dist/checkpoints/service.js +582 -0
  12. package/dist/checkpoints/service.js.map +1 -0
  13. package/dist/checkpoints/shadow-repo.d.ts +165 -0
  14. package/dist/checkpoints/shadow-repo.js +743 -0
  15. package/dist/checkpoints/shadow-repo.js.map +1 -0
  16. package/dist/checkpoints/text-diff.d.ts +10 -0
  17. package/dist/checkpoints/text-diff.js +134 -0
  18. package/dist/checkpoints/text-diff.js.map +1 -0
  19. package/dist/cli/cli-commands.js +1 -0
  20. package/dist/cli/cli-commands.js.map +1 -1
  21. package/dist/cli/doctor.d.ts +35 -0
  22. package/dist/cli/doctor.js +88 -7
  23. package/dist/cli/doctor.js.map +1 -1
  24. package/dist/cli/playtest-cli.d.ts +3 -0
  25. package/dist/cli/playtest-cli.js +108 -0
  26. package/dist/cli/playtest-cli.js.map +1 -0
  27. package/dist/config/project.d.ts +5 -0
  28. package/dist/config/project.js.map +1 -1
  29. package/dist/config/user-state.d.ts +13 -0
  30. package/dist/config/user-state.js +52 -0
  31. package/dist/config/user-state.js.map +1 -1
  32. package/dist/core/types.d.ts +7 -0
  33. package/dist/daemon/checkpoint-routes.d.ts +30 -0
  34. package/dist/daemon/checkpoint-routes.js +97 -0
  35. package/dist/daemon/checkpoint-routes.js.map +1 -0
  36. package/dist/daemon/context-measurement.d.ts +60 -0
  37. package/dist/daemon/context-measurement.js +97 -0
  38. package/dist/daemon/context-measurement.js.map +1 -0
  39. package/dist/daemon/daemon.d.ts +2 -0
  40. package/dist/daemon/daemon.js +108 -2
  41. package/dist/daemon/daemon.js.map +1 -1
  42. package/dist/daemon/extension-api.d.ts +130 -4
  43. package/dist/daemon/extension-api.js +1 -1
  44. package/dist/daemon/extension-api.js.map +1 -1
  45. package/dist/daemon-api.d.ts +2 -1
  46. package/dist/daemon-api.js +1 -0
  47. package/dist/daemon-api.js.map +1 -1
  48. package/dist/dispatch/offline.js +8 -0
  49. package/dist/dispatch/offline.js.map +1 -1
  50. package/dist/dispatch/server-dispatch.d.ts +12 -1
  51. package/dist/dispatch/server-dispatch.js +8 -0
  52. package/dist/dispatch/server-dispatch.js.map +1 -1
  53. package/dist/editor/bridge-update.d.ts +5 -1
  54. package/dist/editor/bridge-update.js +7 -3
  55. package/dist/editor/bridge-update.js.map +1 -1
  56. package/dist/editor/playtest-mode.d.ts +29 -0
  57. package/dist/editor/playtest-mode.js +44 -0
  58. package/dist/editor/playtest-mode.js.map +1 -0
  59. package/dist/extensions/skills-list.d.ts +72 -0
  60. package/dist/extensions/skills-list.js +138 -0
  61. package/dist/extensions/skills-list.js.map +1 -0
  62. package/dist/flow/flow-inputs.d.ts +29 -0
  63. package/dist/flow/flow-inputs.js +191 -0
  64. package/dist/flow/flow-inputs.js.map +1 -0
  65. package/dist/flow/flow-tool.js +13 -2
  66. package/dist/flow/flow-tool.js.map +1 -1
  67. package/dist/flow/playtest.d.ts +26 -0
  68. package/dist/flow/playtest.js +10 -0
  69. package/dist/flow/playtest.js.map +1 -1
  70. package/dist/integrations/claude-code/mcp-client-config.d.ts +21 -1
  71. package/dist/integrations/claude-code/mcp-client-config.js +60 -4
  72. package/dist/integrations/claude-code/mcp-client-config.js.map +1 -1
  73. package/dist/pie/script-events.d.ts +10 -2
  74. package/dist/pie/script-events.js.map +1 -1
  75. package/dist/pie/script-watch.js +10 -0
  76. package/dist/pie/script-watch.js.map +1 -1
  77. package/dist/server/context-projection.d.ts +52 -0
  78. package/dist/server/context-projection.js +171 -0
  79. package/dist/server/context-projection.js.map +1 -0
  80. package/dist/server/mcp-server.d.ts +13 -0
  81. package/dist/server/mcp-server.js +28 -13
  82. package/dist/server/mcp-server.js.map +1 -1
  83. package/dist/server/runtime.d.ts +10 -0
  84. package/dist/server/runtime.js +32 -18
  85. package/dist/server/runtime.js.map +1 -1
  86. package/dist/sessions/session-load.d.ts +12 -0
  87. package/dist/sessions/session-load.js +37 -25
  88. package/dist/sessions/session-load.js.map +1 -1
  89. package/dist/surface/action-effects.d.ts +28 -0
  90. package/dist/surface/action-effects.js +49 -0
  91. package/dist/surface/action-effects.js.map +1 -1
  92. package/dist/surface/action-verbs.d.ts +11 -0
  93. package/dist/surface/action-verbs.js +19 -0
  94. package/dist/surface/action-verbs.js.map +1 -1
  95. package/dist/surface/context/instructions.d.ts +10 -1
  96. package/dist/surface/context/instructions.js +47 -48
  97. package/dist/surface/context/instructions.js.map +1 -1
  98. package/dist/surface/registered-surface.d.ts +2 -0
  99. package/dist/surface/registered-surface.js +11 -0
  100. package/dist/surface/registered-surface.js.map +1 -1
  101. package/dist/surface/schemas.d.ts +10 -0
  102. package/dist/surface/schemas.js +14 -0
  103. package/dist/surface/schemas.js.map +1 -1
  104. package/dist/tool-counts.json +8 -8
  105. package/dist/tools/audio.js +3 -3
  106. package/dist/tools/audio.js.map +1 -1
  107. package/dist/tools/checkpoints.d.ts +17 -0
  108. package/dist/tools/checkpoints.js +73 -0
  109. package/dist/tools/checkpoints.js.map +1 -0
  110. package/dist/tools/editor.js +7 -3
  111. package/dist/tools/editor.js.map +1 -1
  112. package/dist/tools/level.js +1 -1
  113. package/dist/tools/level.js.map +1 -1
  114. package/dist/tools/pie.js +6 -5
  115. package/dist/tools/pie.js.map +1 -1
  116. package/dist/tools/project/sessions.js +2 -0
  117. package/dist/tools/project/sessions.js.map +1 -1
  118. package/dist/tools/project/source.js +5 -0
  119. package/dist/tools/project/source.js.map +1 -1
  120. package/dist/tools/source_control.js +1 -1
  121. package/dist/tools/source_control.js.map +1 -1
  122. package/dist/tools/specs/editor.generated.js +57 -1
  123. package/dist/tools/specs/editor.generated.js.map +1 -1
  124. package/dist/tools/specs/pie.generated.js +33 -7
  125. package/dist/tools/specs/pie.generated.js.map +1 -1
  126. package/dist/tools/widget.js +1 -1
  127. package/dist/tools/widget.js.map +1 -1
  128. package/dist/ue-mcp.default.yml +123 -7
  129. package/package.json +7 -2
  130. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/HandlerCatalog.cpp +2 -0
  131. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Asset/AssetHandlers.cpp +6 -0
  132. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Checkpoint/CheckpointHandlers.cpp +358 -0
  133. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Checkpoint/CheckpointHandlers.h +31 -0
  134. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Diff/DiffHandlers.cpp +72 -0
  135. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Diff/DiffHandlers.h +21 -0
  136. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Diff/DiffHandlers_Checkpoint.cpp +1515 -0
  137. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Editor/EditorHandlers.cpp +122 -0
  138. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Editor/EditorHandlers.h +1 -0
  139. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Level/LevelHandlers_Save.cpp +2 -0
  140. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/MCPPIETestScript.h +9 -1
  141. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEActorPuppet.cpp +10 -3
  142. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEActorPuppet.h +5 -0
  143. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEHandlers.h +1 -0
  144. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEHandlers_Script.cpp +116 -2
  145. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEScenario.cpp +41 -37
  146. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEScenario.h +4 -0
  147. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEScriptRunner.cpp +416 -12
  148. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEScriptRunner.h +57 -5
  149. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEScriptValidation.cpp +82 -0
  150. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEScriptValidation.h +5 -1
  151. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEStepActions.cpp +543 -0
  152. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEStepActions.h +124 -0
  153. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/PIEUatRunner.cpp +29 -463
  154. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PIE/SMCPPIEStudioPanel.cpp +2 -0
  155. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/CheckpointAssetDiffTests.cpp +273 -0
  156. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/PIEScriptTests.cpp +244 -0
  157. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/PIEScriptValidationTests.cpp +61 -0
  158. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/UE_MCP_Bridge.cpp +2 -0
  159. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Public/HandlerCheckpoint.h +32 -0
  160. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Public/HandlerPackageSave.h +3 -0
  161. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/UE_MCP_Bridge.Build.cs +3 -0
  162. package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +2 -2
  163. package/schemas/context-measurement.schema.json +64 -0
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 -->2102+<!-- /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 -->2111+<!-- /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 -->1272+<!-- /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 -->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`.
14
14
 
15
15
  ```mermaid
16
16
  flowchart LR
@@ -68,7 +68,7 @@ If you prefer to configure manually, add to your MCP client config:
68
68
  "mcpServers": {
69
69
  "ue-mcp": {
70
70
  "command": "npx",
71
- "args": ["-y", "ue-mcp@latest", "C:/path/to/MyGame.uproject"]
71
+ "args": ["-y", "--min-release-age=0", "ue-mcp@latest", "C:/path/to/MyGame.uproject"]
72
72
  }
73
73
  }
74
74
  }
@@ -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 -->2102+<!-- /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 -->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/).
146
146
 
147
147
  ## Plugins
148
148
 
@@ -65,6 +65,9 @@ export const REGISTERED_HANDLER_TIMEOUT_SECONDS = {
65
65
  bulk_restore_data_assets: 120,
66
66
  bulk_set_component_property: 300,
67
67
  bulk_upsert_data_assets: 120,
68
+ checkpoint_diff_asset: 300,
69
+ checkpoint_finish_restore: 300,
70
+ checkpoint_open_native_diff: 120,
68
71
  compile_customizable_object: 600,
69
72
  convert_brushes_to_static_mesh: 600,
70
73
  create_cpp_class: 300,
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-timeouts.js","sourceRoot":"","sources":["../../src/bridge/bridge-timeouts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAE/C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAqC;IAClF,yBAAyB,EAAE,GAAG;IAC9B,uBAAuB,EAAE,GAAG;IAC5B,mBAAmB,EAAE,GAAG;IACxB,oBAAoB,EAAE,GAAG;IACzB,iBAAiB,EAAE,GAAG;IACtB,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,yBAAyB,EAAE,GAAG;IAC9B,yBAAyB,EAAE,GAAG;IAC9B,0BAA0B,EAAE,GAAG;IAC/B,gCAAgC,EAAE,GAAG;IACrC,0BAA0B,EAAE,GAAG;IAC/B,wBAAwB,EAAE,GAAG;IAC7B,2BAA2B,EAAE,GAAG;IAChC,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE,GAAG;IAChC,8BAA8B,EAAE,GAAG;IACnC,gBAAgB,EAAE,GAAG;IACrB,gBAAgB,EAAE,GAAG;IACrB,iBAAiB,EAAE,GAAG;IACtB,kBAAkB,EAAE,GAAG;IACvB,qCAAqC,EAAE,GAAG;IAC1C,sBAAsB,EAAE,GAAG;IAC3B,0BAA0B,EAAE,GAAG;IAC/B,iBAAiB,EAAE,GAAG;IACtB,iBAAiB,EAAE,GAAG;IACtB,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE,GAAG;IAChC,yBAAyB,EAAE,GAAG;IAC9B,2BAA2B,EAAE,GAAG;IAChC,mBAAmB,EAAE,GAAG;IACxB,iCAAiC,EAAE,GAAG;IACtC,uBAAuB,EAAE,GAAG;IAC5B,0BAA0B,EAAE,GAAG;IAC/B,uBAAuB,EAAE,GAAG;IAC5B,mBAAmB,EAAE,GAAG;IACxB,gBAAgB,EAAE,GAAG;IACrB,2BAA2B,EAAE,GAAG;IAChC,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,wBAAwB,EAAE,GAAG;IAC7B,qBAAqB,EAAE,GAAG;IAC1B,0BAA0B,EAAE,GAAG;IAC/B,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,GAAG;IAC3B,qBAAqB,EAAE,GAAG;IAC1B,yBAAyB,EAAE,GAAG;IAC9B,gBAAgB,EAAE,GAAG;IACrB,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,GAAG;IAC3B,6CAA6C,EAAE,GAAG;IAClD,0BAA0B,EAAE,GAAG;IAC/B,sBAAsB,EAAE,GAAG;IAC3B,0BAA0B,EAAE,GAAG;IAC/B,oBAAoB,EAAE,GAAG;IACzB,gBAAgB,EAAE,GAAG;IACrB,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE,GAAG;IAChC,sBAAsB,EAAE,GAAG;IAC3B,oBAAoB,EAAE,GAAG;IACzB,uBAAuB,EAAE,GAAG;IAC5B,2BAA2B,EAAE,GAAG;IAChC,mBAAmB,EAAE,GAAG;IACxB,iCAAiC,EAAE,GAAG;IACtC,2BAA2B,EAAE,GAAG;IAChC,yBAAyB,EAAE,GAAG;IAC9B,sBAAsB,EAAE,GAAG;IAC3B,mBAAmB,EAAE,GAAG;IACxB,yBAAyB,EAAE,GAAG;IAC9B,sBAAsB,EAAE,GAAG;IAC3B,2BAA2B,EAAE,GAAG;IAChC,qBAAqB,EAAE,GAAG;IAC1B,mBAAmB,EAAE,GAAG;IACxB,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,sFAAsF;AACtF,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,OAAO,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5D,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,UAAmB,EACnB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACpF,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG;QACjB,yBAAyB;QACzB,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,wBAAwB;KACrE,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"bridge-timeouts.js","sourceRoot":"","sources":["../../src/bridge/bridge-timeouts.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,8 @@ export interface IBridge {
169
169
  readonly epicToolsets?: readonly string[] | null;
170
170
  /** Re-read epicToolsets from the editor. */
171
171
  refreshEpicToolsets?(): Promise<readonly string[] | null>;
172
+ /** The toolsets the surface declares, which a read after the handshake waits for (#1538). */
173
+ expectEpicToolsets?(names: readonly string[]): void;
172
174
  call(method: string, params?: Record<string, unknown>, timeoutMs?: number): Promise<unknown>;
173
175
  connect(timeoutMs?: number): Promise<void>;
174
176
  /**
@@ -196,6 +198,8 @@ export declare class EditorBridge implements IBridge {
196
198
  private readonly registeredListeners;
197
199
  private toolsets;
198
200
  private toolsetsInFlight;
201
+ private expectedToolsets;
202
+ private toolsetTimer;
199
203
  get registeredActions(): readonly string[] | null;
200
204
  /**
201
205
  * The engine toolsets the editor's registry has, or null while unknown. An
@@ -207,6 +211,14 @@ export declare class EditorBridge implements IBridge {
207
211
  * list; a call that fails or a plugin without the method leaves it unknown.
208
212
  */
209
213
  refreshEpicToolsets(): Promise<readonly string[] | null>;
214
+ expectEpicToolsets(names: readonly string[]): void;
215
+ /**
216
+ * Read the toolsets after a handshake, then again on a backoff until every
217
+ * expected one is listed. Python toolsets register after the bridge answers
218
+ * on an editor that is still starting, and a list read once stays short (#1538).
219
+ */
220
+ private followEpicToolsets;
221
+ private stopFollowingToolsets;
210
222
  private setToolsets;
211
223
  private notifyRegistered;
212
224
  /** Called whenever registeredActions changes. Returns the unsubscribe. */
@@ -138,6 +138,8 @@ export function callBridgeOnce(host, port, method, params, timeoutMs = 8000) {
138
138
  }
139
139
  /** How many abandoned calls to remember. Oldest are dropped first. */
140
140
  const ABANDONED_HISTORY = 32;
141
+ /** Gaps between toolset re-reads after a handshake, about seven minutes in all (#1538). */
142
+ const TOOLSET_REREAD_MS = [2_000, 5_000, 10_000, 20_000, 30_000, 60_000, 60_000, 120_000, 120_000];
141
143
  /**
142
144
  * The toolset names in an epic_list_toolsets answer: the list when it has one,
143
145
  * empty when the registry itself is absent, null when the answer says neither.
@@ -172,6 +174,8 @@ export class EditorBridge {
172
174
  registeredListeners = new Set();
173
175
  toolsets = null;
174
176
  toolsetsInFlight = null;
177
+ expectedToolsets = [];
178
+ toolsetTimer = null;
175
179
  get registeredActions() {
176
180
  return this.registered;
177
181
  }
@@ -209,6 +213,41 @@ export class EditorBridge {
209
213
  this.toolsetsInFlight = run;
210
214
  return run;
211
215
  }
216
+ expectEpicToolsets(names) {
217
+ this.expectedToolsets = [...new Set(names)];
218
+ // Expectations that arrive after the handshake's read start the follow-up themselves.
219
+ const have = this.toolsets;
220
+ if (this.ws && !this.toolsetTimer && !this.toolsetsInFlight && have && have.length > 0
221
+ && this.expectedToolsets.some((t) => !have.includes(t))) {
222
+ this.followEpicToolsets(this.ws);
223
+ }
224
+ }
225
+ /**
226
+ * Read the toolsets after a handshake, then again on a backoff until every
227
+ * expected one is listed. Python toolsets register after the bridge answers
228
+ * on an editor that is still starting, and a list read once stays short (#1538).
229
+ */
230
+ followEpicToolsets(ws, attempt = 0) {
231
+ this.toolsetTimer = null;
232
+ if (this.ws !== ws)
233
+ return;
234
+ void this.refreshEpicToolsets().then((names) => {
235
+ if (this.ws !== ws || attempt >= TOOLSET_REREAD_MS.length)
236
+ return;
237
+ if (!this.registered?.includes("epic_list_toolsets"))
238
+ return;
239
+ // An absent registry will not gain toolsets.
240
+ if (names !== null && (names.length === 0 || this.expectedToolsets.every((t) => names.includes(t))))
241
+ return;
242
+ this.toolsetTimer = setTimeout(() => this.followEpicToolsets(ws, attempt + 1), TOOLSET_REREAD_MS[attempt]);
243
+ this.toolsetTimer.unref?.();
244
+ });
245
+ }
246
+ stopFollowingToolsets() {
247
+ if (this.toolsetTimer)
248
+ clearTimeout(this.toolsetTimer);
249
+ this.toolsetTimer = null;
250
+ }
212
251
  setToolsets(names) {
213
252
  const same = names === this.toolsets
214
253
  || (names !== null && this.toolsets !== null && names.length === this.toolsets.length
@@ -657,6 +696,7 @@ export class EditorBridge {
657
696
  */
658
697
  closeSocket(reason, opts) {
659
698
  this.targetGeneration += 1;
699
+ this.stopFollowingToolsets();
660
700
  for (const [, pending] of this.pending) {
661
701
  clearTimeout(pending.timer);
662
702
  pending.reject(new McpError(ErrorCode.CONNECTION_LOST, reason));
@@ -720,7 +760,8 @@ export class EditorBridge {
720
760
  ? [...capabilities.actions].sort()
721
761
  : null);
722
762
  // Read off the handshake's critical path; a failure leaves it unknown.
723
- queueMicrotask(() => void this.refreshEpicToolsets());
763
+ this.stopFollowingToolsets();
764
+ queueMicrotask(() => this.followEpicToolsets(ws));
724
765
  }
725
766
  const mismatch = describeProtocolMismatch(capabilities);
726
767
  if (mismatch) {
@@ -843,6 +884,7 @@ export class EditorBridge {
843
884
  this.pending.clear();
844
885
  this.ws = null;
845
886
  this.capabilities = null;
887
+ this.stopFollowingToolsets();
846
888
  this.setConnected(false, detail);
847
889
  });
848
890
  ws.on("error", (err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ /** Bumped when the bridge's records change shape, so cached diffs are recomputed. */
2
+ export declare const ASSET_DIFF_FORMAT = 2;
3
+ /** How many packages one list_changes diffs up front; the rest are diffed on request, per path. */
4
+ export declare const MAX_ASSET_DIFFS = 25;
5
+ /** One record of Unreal's diff, as the engine produced it. */
6
+ export interface AssetDiffRecord {
7
+ /** The engine's own message for it, such as "Base Color changed value in M_Blue" or "Added Node Constant". */
8
+ displayString: string;
9
+ /** EPropertyDiffType (PropertyValueChanged, PropertyAddedToA, PropertyAddedToB), EDiffType (NODE_ADDED, PIN_LINKEDTO_NODE...) or ETreeDiffType (NODE_ADDED...). */
10
+ diffType: string;
11
+ /** EDiffType::Category of a graph record: ADDITION, SUBTRACTION, MODIFICATION, MINOR. */
12
+ category?: string;
13
+ toolTip?: string;
14
+ /** The actor, component, variable or row a record belongs to. */
15
+ group?: string;
16
+ /** A difference under a property the details panel does not show. */
17
+ hidden?: boolean;
18
+ /** FPropertySoftPath::ToDisplayName of a property record. */
19
+ path?: string;
20
+ property?: string;
21
+ /** Both values exported with FProperty::ExportText; null where the path does not exist on that side. */
22
+ before?: string | null;
23
+ after?: string | null;
24
+ graph?: string;
25
+ node1?: AssetDiffNode;
26
+ node2?: AssetDiffNode;
27
+ pin1?: {
28
+ name: string;
29
+ direction: string;
30
+ nodeGuid?: string;
31
+ defaultValue: string;
32
+ linkedTo: string[];
33
+ };
34
+ pin2?: {
35
+ name: string;
36
+ direction: string;
37
+ nodeGuid?: string;
38
+ defaultValue: string;
39
+ linkedTo: string[];
40
+ };
41
+ /** For a NODE_PROPERTY graph record: the property records behind it. */
42
+ properties?: AssetDiffRecord[];
43
+ /** For an added or removed actor: its class, label and transform. */
44
+ facts?: AssetFact[];
45
+ treeLocation?: number[];
46
+ owningObjectPath?: string;
47
+ propertyDiffType?: string;
48
+ }
49
+ /** A graph node a record names. */
50
+ export interface AssetDiffNode {
51
+ guid: string;
52
+ name: string;
53
+ class: string;
54
+ /** ENodeTitleType::ListView, the short title the engine's DisplayString uses. */
55
+ title: string;
56
+ /** ENodeTitleType::FullTitle. Set on NODE_ADDED and NODE_REMOVED records only, as are pins and properties. */
57
+ fullTitle?: string;
58
+ /** Visible input pins (exec pins left out) with their default values. */
59
+ pins?: AssetDiffNodePin[];
60
+ /** Class of the object whose properties are listed: the UMaterialExpression for a material node, the node otherwise. */
61
+ propertiesOf?: string;
62
+ /** The details panel's properties (CPF_Edit) of that object, exported as text, in class order (most derived first). */
63
+ properties?: AssetDiffNodeProperty[];
64
+ /** Properties past the per-node limit, counted. */
65
+ propertiesDropped?: number;
66
+ }
67
+ export interface AssetDiffNodePin {
68
+ name: string;
69
+ displayName: string;
70
+ defaultValue: string;
71
+ /** Wired to another node, so the default is not what the node reads. */
72
+ linked: boolean;
73
+ }
74
+ export interface AssetDiffNodeProperty {
75
+ name: string;
76
+ /** The details panel's label, such as "Value" for a Constant's R. */
77
+ displayName: string;
78
+ /** FProperty::ExportText of the value. */
79
+ value: string;
80
+ /** Still the class default. */
81
+ isDefault: boolean;
82
+ }
83
+ /** A group of records under one of the engine's own diff categories (Graph: EventGraph, Components, Defaults, Details...). */
84
+ export interface AssetDiffSection {
85
+ category: string;
86
+ kind: "properties" | "graph" | "components";
87
+ /** The engine API the records came from. */
88
+ engineSource: string;
89
+ entries: AssetDiffRecord[];
90
+ /** How many of the records are under properties the details panel does not show (marked hidden). */
91
+ hiddenChanges?: number;
92
+ }
93
+ export interface AssetFact {
94
+ name: string;
95
+ value: string;
96
+ }
97
+ export type AssetThumbnail = {
98
+ id: string;
99
+ url: string;
100
+ source: "rendered" | "saved";
101
+ note?: string;
102
+ } | {
103
+ error: string;
104
+ };
105
+ /** One version of the package, as the editor loaded it. */
106
+ export interface AssetVersion {
107
+ class: string;
108
+ objectName?: string;
109
+ facts: AssetFact[];
110
+ thumbnail?: AssetThumbnail;
111
+ }
112
+ export interface AssetDiff {
113
+ /** ready: diffed. deferred: over the up-front limit, diff it by path. error: see error. */
114
+ state: "ready" | "deferred" | "error";
115
+ error?: string;
116
+ packageName?: string;
117
+ assetClass?: string;
118
+ status?: "added" | "modified" | "deleted";
119
+ /** Which of Unreal's diffs serves this class, and what these records are. */
120
+ engine?: {
121
+ tool: string;
122
+ note: string;
123
+ native: "window" | "details" | "text";
124
+ nativeAvailable?: boolean;
125
+ nativeReason?: string;
126
+ };
127
+ /** null: the version did not exist. */
128
+ before?: AssetVersion | null;
129
+ after?: AssetVersion | null;
130
+ classChanged?: string;
131
+ sections?: AssetDiffSection[];
132
+ /** The engine's own text form of the diff where its diff is a text diff (a DataTable's CSV), as a unified diff. */
133
+ textDiff?: {
134
+ format: string;
135
+ diff: string;
136
+ };
137
+ /** blueprint(diff)'s structural summary, for a Blueprint. */
138
+ blueprint?: Record<string, unknown>;
139
+ recordCount?: number;
140
+ /** Records past maxRecords, counted. */
141
+ recordsDropped?: number;
142
+ /** One line to decide on. */
143
+ summary: string;
144
+ /** Whether Unreal's own diff view can open this, and why not. */
145
+ nativeDiff: {
146
+ available: boolean;
147
+ reason?: string;
148
+ };
149
+ }
150
+ type Json = Record<string, unknown>;
151
+ /** The record's own words, with the values when it has them. */
152
+ export declare function describeRecord(r: AssetDiffRecord): string;
153
+ /**
154
+ * A one-line account of a diff, from its records, for deciding Keep or Revert
155
+ * at a glance: the count, then removals (the changes a Keep loses least
156
+ * visibly), then changes with values, then the rest, each named once.
157
+ */
158
+ export declare function summarizeAssetDiff(d: AssetDiff): string;
159
+ /** Whether Unreal's own diff view can open this item, and why not, as the bridge decided it. */
160
+ export declare function nativeDiffOf(d: Pick<AssetDiff, "state" | "engine">): AssetDiff["nativeDiff"];
161
+ /** The bridge's answer as an AssetDiff, with the CSV export turned into a unified diff and the pictures mapped to ids. */
162
+ export declare function assetDiffFromBridge(raw: Json, key: string, picture: (side: "before" | "after", thumb: Json | undefined) => AssetThumbnail | undefined): AssetDiff;
163
+ export declare function assetDiffError(error: string): AssetDiff;
164
+ export declare function assetDiffDeferred(): AssetDiff;
165
+ export {};
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Asset diffs for checkpoints: each version of a package loaded in the editor
3
+ * with DiffUtils::LoadPackageForDiff, and Unreal's own diff code run on them
4
+ * (the bridge's checkpoint_diff_asset). The records are the engine's, as it
5
+ * produces them: FSingleObjectDiffEntry from DiffUtils::CompareUnrelatedObjects
6
+ * with both values exported as text, FDiffSingleResult from
7
+ * FGraphDiffControl::DiffGraphs with its DisplayString and ToolTip, and
8
+ * FSCSDiffEntry from DiffUtils::CompareUnrelatedSCS. Facts about each version
9
+ * (LOD counts, texture size) are context beside them, never a diff of their own.
10
+ *
11
+ * Each version also gets a picture rendered with ThumbnailTools::RenderThumbnail
12
+ * on the object loaded for diff, kept per blob id, so a version always has the
13
+ * same picture.
14
+ */
15
+ import { unifiedDiff } from "./text-diff.js";
16
+ /** Bumped when the bridge's records change shape, so cached diffs are recomputed. */
17
+ export const ASSET_DIFF_FORMAT = 2;
18
+ /** How many packages one list_changes diffs up front; the rest are diffed on request, per path. */
19
+ export const MAX_ASSET_DIFFS = 25;
20
+ const str = (v) => (typeof v === "string" ? v : undefined);
21
+ function short(v, max = 60) {
22
+ if (v === null || v === undefined)
23
+ return "none";
24
+ const one = v.replace(/\s+/g, " ").trim();
25
+ return one.length > max ? `${one.slice(0, max - 3)}...` : one;
26
+ }
27
+ function plural(n, one, many = `${one}s`) {
28
+ return `${n} ${n === 1 ? one : many}`;
29
+ }
30
+ /** The record's own words, with the values when it has them. */
31
+ export function describeRecord(r) {
32
+ const label = r.path ? (r.group && r.group !== r.path ? `${r.group} ${r.path}` : r.path) : r.displayString;
33
+ if (r.path && (r.before !== undefined || r.after !== undefined)) {
34
+ if (r.diffType === "PropertyAddedToB")
35
+ return `${label} added: ${short(r.after)}`;
36
+ if (r.diffType === "PropertyAddedToA")
37
+ return `${label} removed: ${short(r.before)}`;
38
+ return `${label} ${short(r.before)} to ${short(r.after)}`;
39
+ }
40
+ const set = nodeValues(r);
41
+ return set ? `${r.displayString}: ${set}` : r.displayString;
42
+ }
43
+ /** An added or removed node's properties that differ from their class defaults, as "Value 0.5". */
44
+ function nodeValues(r) {
45
+ if (r.diffType !== "NODE_ADDED" && r.diffType !== "NODE_REMOVED")
46
+ return "";
47
+ const set = (r.node1?.properties ?? []).filter((p) => !p.isDefault);
48
+ const shown = set.slice(0, 3).map((p) => `${p.displayName || p.name} ${short(p.value, 40)}`);
49
+ return shown.length < set.length ? `${shown.join(", ")}, and ${set.length - shown.length} more` : shown.join(", ");
50
+ }
51
+ const REMOVALS = new Set(["PropertyAddedToA", "OBJECT_REMOVED", "NODE_REMOVED"]);
52
+ const isRemoval = (r) => REMOVALS.has(r.diffType) || r.category === "SUBTRACTION";
53
+ const hasValues = (r) => r.path !== undefined && (r.before !== undefined || r.after !== undefined);
54
+ /**
55
+ * A one-line account of a diff, from its records, for deciding Keep or Revert
56
+ * at a glance: the count, then removals (the changes a Keep loses least
57
+ * visibly), then changes with values, then the rest, each named once.
58
+ */
59
+ export function summarizeAssetDiff(d) {
60
+ if (d.state === "error")
61
+ return `Could not diff: ${short(d.error ?? "no reason given", 120)}`;
62
+ if (d.state === "deferred")
63
+ return "Not diffed yet: over the per-turn limit, diffed when opened.";
64
+ const cls = d.assetClass ?? "asset";
65
+ const sections = d.sections ?? [];
66
+ const all = sections.flatMap((s) => s.entries);
67
+ const records = all.filter((r) => !r.hidden);
68
+ const hidden = all.length - records.length;
69
+ const hiddenNote = hidden ? `; plus ${plural(hidden, "difference")} in properties the details panel does not show` : "";
70
+ if (d.status === "added" || d.status === "deleted") {
71
+ const v = d.status === "added" ? d.after : d.before;
72
+ const facts = (v?.facts ?? []).filter((f) => f.value !== "").slice(0, 3).map((f) => `${f.name} ${short(f.value, 40)}`);
73
+ const set = records.length ? `, ${plural(records.length, "property", "properties")} set` : "";
74
+ return `${d.status === "added" ? "New" : "Deleted"} ${cls}${set}${facts.length ? `: ${facts.join("; ")}` : ""}`;
75
+ }
76
+ if (records.length === 0) {
77
+ if (d.textDiff?.diff)
78
+ return `${cls}: the engine's ${d.textDiff.format.toUpperCase()} export changed`;
79
+ return hidden
80
+ ? `${cls}: ${plural(hidden, "difference")}, all in properties the details panel does not show`
81
+ : `${cls}: the file changed, and Unreal's diff finds no difference`;
82
+ }
83
+ // A graph record's values are in the property records behind it, named by the node they belong to.
84
+ const leaves = records.flatMap((r) => (r.properties?.length
85
+ ? r.properties.filter((p) => !p.hidden).map((p) => ({ ...p, group: p.group ?? r.node2?.title ?? r.node1?.title ?? r.group }))
86
+ : [r]));
87
+ const ordered = [...leaves.filter(isRemoval), ...leaves.filter((r) => !isRemoval(r) && hasValues(r)), ...leaves.filter((r) => !isRemoval(r) && !hasValues(r))];
88
+ const shown = [];
89
+ for (const r of ordered) {
90
+ const line = describeRecord(r);
91
+ const name = r.path ? (r.group && r.group !== r.path ? `${r.group} ${r.path}` : r.path) : line;
92
+ if (shown.some((x) => x.startsWith(name)))
93
+ continue;
94
+ shown.push(line);
95
+ if (shown.length === 2)
96
+ break;
97
+ }
98
+ const total = records.length + (d.recordsDropped ?? 0);
99
+ const rest = total - shown.length;
100
+ return `${plural(total, "difference")}: ${shown.join("; ")}${rest > 0 ? `; and ${rest} more` : ""}${hiddenNote}`;
101
+ }
102
+ /** Whether Unreal's own diff view can open this item, and why not, as the bridge decided it. */
103
+ export function nativeDiffOf(d) {
104
+ if (d.state !== "ready" || !d.engine)
105
+ return { available: false, reason: "The asset has not been diffed." };
106
+ return d.engine.nativeAvailable === false ? { available: false, reason: d.engine.nativeReason ?? "Unreal cannot open a diff of this type." } : { available: true };
107
+ }
108
+ /** The bridge's answer as an AssetDiff, with the CSV export turned into a unified diff and the pictures mapped to ids. */
109
+ export function assetDiffFromBridge(raw, key, picture) {
110
+ const version = (side) => {
111
+ const v = raw[side];
112
+ if (!v || typeof v !== "object")
113
+ return null;
114
+ const o = v;
115
+ const thumbnail = picture(side, o.thumbnail);
116
+ return {
117
+ class: str(o.class) ?? "",
118
+ ...(str(o.objectName) ? { objectName: str(o.objectName) } : {}),
119
+ facts: Array.isArray(o.facts) ? o.facts : [],
120
+ ...(thumbnail ? { thumbnail } : {}),
121
+ };
122
+ };
123
+ const d = {
124
+ state: "ready",
125
+ packageName: str(raw.packageName),
126
+ assetClass: str(raw.assetClass),
127
+ status: str(raw.status),
128
+ engine: raw.engine,
129
+ before: version("before"),
130
+ after: version("after"),
131
+ sections: Array.isArray(raw.sections) ? raw.sections : [],
132
+ recordCount: typeof raw.recordCount === "number" ? raw.recordCount : 0,
133
+ summary: "",
134
+ nativeDiff: { available: false },
135
+ };
136
+ if (str(raw.classChanged))
137
+ d.classChanged = str(raw.classChanged);
138
+ if (typeof raw.recordsDropped === "number")
139
+ d.recordsDropped = raw.recordsDropped;
140
+ if (raw.blueprint && typeof raw.blueprint === "object")
141
+ d.blueprint = raw.blueprint;
142
+ const text = raw.engineText;
143
+ if (text && typeof text.before === "string" && typeof text.after === "string") {
144
+ d.textDiff = { format: str(text.format) ?? "text", diff: unifiedDiff(text.before, text.after, key) ?? "The two exports differ in too many lines to show line by line." };
145
+ }
146
+ d.summary = summarizeAssetDiff(d);
147
+ d.nativeDiff = nativeDiffOf(d);
148
+ return d;
149
+ }
150
+ export function assetDiffError(error) {
151
+ const d = { state: "error", error, summary: "", nativeDiff: { available: false, reason: error } };
152
+ d.summary = summarizeAssetDiff(d);
153
+ return d;
154
+ }
155
+ export function assetDiffDeferred() {
156
+ const d = { state: "deferred", summary: "", nativeDiff: { available: false, reason: "Diff it first." } };
157
+ d.summary = summarizeAssetDiff(d);
158
+ return d;
159
+ }
160
+ //# sourceMappingURL=asset-diff.js.map