unreal-engine-mcp-server 0.4.6 → 0.5.0

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 (438) hide show
  1. package/.env.example +26 -0
  2. package/.env.production +38 -7
  3. package/.eslintrc.json +0 -54
  4. package/.eslintrc.override.json +8 -0
  5. package/.github/ISSUE_TEMPLATE/bug_report.yml +94 -0
  6. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  7. package/.github/ISSUE_TEMPLATE/feature_request.yml +56 -0
  8. package/.github/copilot-instructions.md +478 -45
  9. package/.github/dependabot.yml +19 -0
  10. package/.github/labeler.yml +24 -0
  11. package/.github/labels.yml +70 -0
  12. package/.github/pull_request_template.md +42 -0
  13. package/.github/release-drafter.yml +148 -0
  14. package/.github/workflows/auto-merge.yml +38 -0
  15. package/.github/workflows/ci.yml +38 -0
  16. package/.github/workflows/dependency-review.yml +17 -0
  17. package/.github/workflows/gemini-issue-triage.yml +172 -0
  18. package/.github/workflows/greetings.yml +23 -0
  19. package/.github/workflows/labeler.yml +16 -0
  20. package/.github/workflows/links.yml +80 -0
  21. package/.github/workflows/pr-size-labeler.yml +137 -0
  22. package/.github/workflows/publish-mcp.yml +12 -7
  23. package/.github/workflows/release-drafter.yml +23 -0
  24. package/.github/workflows/release.yml +112 -0
  25. package/.github/workflows/semantic-pull-request.yml +35 -0
  26. package/.github/workflows/smoke-test.yml +36 -0
  27. package/.github/workflows/stale.yml +28 -0
  28. package/CHANGELOG.md +269 -22
  29. package/CONTRIBUTING.md +140 -0
  30. package/README.md +166 -72
  31. package/claude_desktop_config_example.json +7 -6
  32. package/dist/automation/bridge.d.ts +50 -0
  33. package/dist/automation/bridge.js +452 -0
  34. package/dist/automation/connection-manager.d.ts +23 -0
  35. package/dist/automation/connection-manager.js +107 -0
  36. package/dist/automation/handshake.d.ts +11 -0
  37. package/dist/automation/handshake.js +89 -0
  38. package/dist/automation/index.d.ts +3 -0
  39. package/dist/automation/index.js +3 -0
  40. package/dist/automation/message-handler.d.ts +12 -0
  41. package/dist/automation/message-handler.js +149 -0
  42. package/dist/automation/request-tracker.d.ts +25 -0
  43. package/dist/automation/request-tracker.js +98 -0
  44. package/dist/automation/types.d.ts +130 -0
  45. package/dist/automation/types.js +2 -0
  46. package/dist/cli.js +32 -5
  47. package/dist/config.d.ts +27 -0
  48. package/dist/config.js +60 -0
  49. package/dist/constants.d.ts +12 -0
  50. package/dist/constants.js +12 -0
  51. package/dist/graphql/resolvers.d.ts +268 -0
  52. package/dist/graphql/resolvers.js +743 -0
  53. package/dist/graphql/schema.d.ts +5 -0
  54. package/dist/graphql/schema.js +437 -0
  55. package/dist/graphql/server.d.ts +26 -0
  56. package/dist/graphql/server.js +115 -0
  57. package/dist/graphql/types.d.ts +7 -0
  58. package/dist/graphql/types.js +2 -0
  59. package/dist/handlers/resource-handlers.d.ts +20 -0
  60. package/dist/handlers/resource-handlers.js +180 -0
  61. package/dist/index.d.ts +31 -18
  62. package/dist/index.js +119 -604
  63. package/dist/prompts/index.js +4 -4
  64. package/dist/resources/actors.d.ts +17 -12
  65. package/dist/resources/actors.js +56 -76
  66. package/dist/resources/assets.d.ts +6 -14
  67. package/dist/resources/assets.js +115 -147
  68. package/dist/resources/levels.d.ts +13 -13
  69. package/dist/resources/levels.js +25 -34
  70. package/dist/server/resource-registry.d.ts +20 -0
  71. package/dist/server/resource-registry.js +37 -0
  72. package/dist/server/tool-registry.d.ts +23 -0
  73. package/dist/server/tool-registry.js +322 -0
  74. package/dist/server-setup.d.ts +21 -0
  75. package/dist/server-setup.js +111 -0
  76. package/dist/services/health-monitor.d.ts +34 -0
  77. package/dist/services/health-monitor.js +105 -0
  78. package/dist/services/metrics-server.d.ts +11 -0
  79. package/dist/services/metrics-server.js +105 -0
  80. package/dist/tools/actors.d.ts +147 -9
  81. package/dist/tools/actors.js +350 -311
  82. package/dist/tools/animation.d.ts +135 -4
  83. package/dist/tools/animation.js +510 -411
  84. package/dist/tools/assets.d.ts +117 -19
  85. package/dist/tools/assets.js +259 -284
  86. package/dist/tools/audio.d.ts +102 -42
  87. package/dist/tools/audio.js +272 -685
  88. package/dist/tools/base-tool.d.ts +17 -0
  89. package/dist/tools/base-tool.js +46 -0
  90. package/dist/tools/behavior-tree.d.ts +94 -0
  91. package/dist/tools/behavior-tree.js +39 -0
  92. package/dist/tools/blueprint/helpers.d.ts +29 -0
  93. package/dist/tools/blueprint/helpers.js +182 -0
  94. package/dist/tools/blueprint.d.ts +228 -118
  95. package/dist/tools/blueprint.js +685 -832
  96. package/dist/tools/consolidated-tool-definitions.d.ts +5475 -1627
  97. package/dist/tools/consolidated-tool-definitions.js +829 -482
  98. package/dist/tools/consolidated-tool-handlers.d.ts +2 -1
  99. package/dist/tools/consolidated-tool-handlers.js +211 -1009
  100. package/dist/tools/debug.d.ts +143 -85
  101. package/dist/tools/debug.js +234 -180
  102. package/dist/tools/dynamic-handler-registry.d.ts +11 -0
  103. package/dist/tools/dynamic-handler-registry.js +101 -0
  104. package/dist/tools/editor.d.ts +139 -18
  105. package/dist/tools/editor.js +239 -244
  106. package/dist/tools/engine.d.ts +10 -4
  107. package/dist/tools/engine.js +13 -5
  108. package/dist/tools/environment.d.ts +36 -0
  109. package/dist/tools/environment.js +267 -0
  110. package/dist/tools/foliage.d.ts +105 -14
  111. package/dist/tools/foliage.js +219 -331
  112. package/dist/tools/handlers/actor-handlers.d.ts +3 -0
  113. package/dist/tools/handlers/actor-handlers.js +232 -0
  114. package/dist/tools/handlers/animation-handlers.d.ts +3 -0
  115. package/dist/tools/handlers/animation-handlers.js +185 -0
  116. package/dist/tools/handlers/argument-helper.d.ts +16 -0
  117. package/dist/tools/handlers/argument-helper.js +80 -0
  118. package/dist/tools/handlers/asset-handlers.d.ts +3 -0
  119. package/dist/tools/handlers/asset-handlers.js +496 -0
  120. package/dist/tools/handlers/audio-handlers.d.ts +3 -0
  121. package/dist/tools/handlers/audio-handlers.js +166 -0
  122. package/dist/tools/handlers/blueprint-handlers.d.ts +4 -0
  123. package/dist/tools/handlers/blueprint-handlers.js +358 -0
  124. package/dist/tools/handlers/common-handlers.d.ts +14 -0
  125. package/dist/tools/handlers/common-handlers.js +56 -0
  126. package/dist/tools/handlers/editor-handlers.d.ts +3 -0
  127. package/dist/tools/handlers/editor-handlers.js +119 -0
  128. package/dist/tools/handlers/effect-handlers.d.ts +3 -0
  129. package/dist/tools/handlers/effect-handlers.js +171 -0
  130. package/dist/tools/handlers/environment-handlers.d.ts +3 -0
  131. package/dist/tools/handlers/environment-handlers.js +170 -0
  132. package/dist/tools/handlers/graph-handlers.d.ts +3 -0
  133. package/dist/tools/handlers/graph-handlers.js +90 -0
  134. package/dist/tools/handlers/input-handlers.d.ts +3 -0
  135. package/dist/tools/handlers/input-handlers.js +21 -0
  136. package/dist/tools/handlers/inspect-handlers.d.ts +3 -0
  137. package/dist/tools/handlers/inspect-handlers.js +383 -0
  138. package/dist/tools/handlers/level-handlers.d.ts +3 -0
  139. package/dist/tools/handlers/level-handlers.js +237 -0
  140. package/dist/tools/handlers/lighting-handlers.d.ts +3 -0
  141. package/dist/tools/handlers/lighting-handlers.js +144 -0
  142. package/dist/tools/handlers/performance-handlers.d.ts +3 -0
  143. package/dist/tools/handlers/performance-handlers.js +130 -0
  144. package/dist/tools/handlers/pipeline-handlers.d.ts +3 -0
  145. package/dist/tools/handlers/pipeline-handlers.js +110 -0
  146. package/dist/tools/handlers/sequence-handlers.d.ts +3 -0
  147. package/dist/tools/handlers/sequence-handlers.js +376 -0
  148. package/dist/tools/handlers/system-handlers.d.ts +4 -0
  149. package/dist/tools/handlers/system-handlers.js +506 -0
  150. package/dist/tools/input.d.ts +19 -0
  151. package/dist/tools/input.js +89 -0
  152. package/dist/tools/introspection.d.ts +103 -40
  153. package/dist/tools/introspection.js +425 -568
  154. package/dist/tools/landscape.d.ts +97 -36
  155. package/dist/tools/landscape.js +280 -409
  156. package/dist/tools/level.d.ts +130 -10
  157. package/dist/tools/level.js +639 -675
  158. package/dist/tools/lighting.d.ts +77 -38
  159. package/dist/tools/lighting.js +441 -943
  160. package/dist/tools/logs.d.ts +45 -0
  161. package/dist/tools/logs.js +210 -0
  162. package/dist/tools/materials.d.ts +91 -24
  163. package/dist/tools/materials.js +190 -118
  164. package/dist/tools/niagara.d.ts +149 -39
  165. package/dist/tools/niagara.js +232 -182
  166. package/dist/tools/performance.d.ts +27 -12
  167. package/dist/tools/performance.js +204 -122
  168. package/dist/tools/physics.d.ts +32 -77
  169. package/dist/tools/physics.js +171 -582
  170. package/dist/tools/property-dictionary.d.ts +13 -0
  171. package/dist/tools/property-dictionary.js +82 -0
  172. package/dist/tools/sequence.d.ts +73 -48
  173. package/dist/tools/sequence.js +196 -748
  174. package/dist/tools/tool-definition-utils.d.ts +59 -0
  175. package/dist/tools/tool-definition-utils.js +35 -0
  176. package/dist/tools/ui.d.ts +66 -34
  177. package/dist/tools/ui.js +134 -214
  178. package/dist/types/env.d.ts +0 -3
  179. package/dist/types/env.js +0 -7
  180. package/dist/types/tool-interfaces.d.ts +898 -0
  181. package/dist/types/tool-interfaces.js +2 -0
  182. package/dist/types/tool-types.d.ts +195 -11
  183. package/dist/types/tool-types.js +0 -4
  184. package/dist/unreal-bridge.d.ts +24 -131
  185. package/dist/unreal-bridge.js +364 -1506
  186. package/dist/utils/command-validator.d.ts +9 -0
  187. package/dist/utils/command-validator.js +67 -0
  188. package/dist/utils/elicitation.d.ts +1 -1
  189. package/dist/utils/elicitation.js +12 -15
  190. package/dist/utils/error-handler.d.ts +2 -51
  191. package/dist/utils/error-handler.js +11 -87
  192. package/dist/utils/ini-reader.d.ts +3 -0
  193. package/dist/utils/ini-reader.js +69 -0
  194. package/dist/utils/logger.js +9 -6
  195. package/dist/utils/normalize.d.ts +3 -0
  196. package/dist/utils/normalize.js +56 -0
  197. package/dist/utils/response-factory.d.ts +7 -0
  198. package/dist/utils/response-factory.js +33 -0
  199. package/dist/utils/response-validator.d.ts +3 -24
  200. package/dist/utils/response-validator.js +130 -81
  201. package/dist/utils/result-helpers.d.ts +4 -5
  202. package/dist/utils/result-helpers.js +15 -16
  203. package/dist/utils/safe-json.js +5 -11
  204. package/dist/utils/unreal-command-queue.d.ts +24 -0
  205. package/dist/utils/unreal-command-queue.js +120 -0
  206. package/dist/utils/validation.d.ts +0 -40
  207. package/dist/utils/validation.js +1 -78
  208. package/dist/wasm/index.d.ts +70 -0
  209. package/dist/wasm/index.js +535 -0
  210. package/docs/GraphQL-API.md +888 -0
  211. package/docs/Migration-Guide-v0.5.0.md +692 -0
  212. package/docs/Roadmap.md +53 -0
  213. package/docs/WebAssembly-Integration.md +628 -0
  214. package/docs/editor-plugin-extension.md +370 -0
  215. package/docs/handler-mapping.md +242 -0
  216. package/docs/native-automation-progress.md +128 -0
  217. package/docs/testing-guide.md +423 -0
  218. package/mcp-config-example.json +6 -6
  219. package/package.json +60 -27
  220. package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +8 -0
  221. package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +64 -0
  222. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +189 -0
  223. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +22 -0
  224. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +30 -0
  225. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +1983 -0
  226. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +72 -0
  227. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +46 -0
  228. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +581 -0
  229. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +2394 -0
  230. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +300 -0
  231. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +2807 -0
  232. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +1087 -0
  233. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +488 -0
  234. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +643 -0
  235. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +31 -0
  236. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +1184 -0
  237. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +5652 -0
  238. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +152 -0
  239. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +2614 -0
  240. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +42 -0
  241. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +1237 -0
  242. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +1701 -0
  243. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +2145 -0
  244. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +954 -0
  245. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +209 -0
  246. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +41 -0
  247. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +1164 -0
  248. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +762 -0
  249. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +634 -0
  250. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +136 -0
  251. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +494 -0
  252. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +278 -0
  253. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +625 -0
  254. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +401 -0
  255. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +67 -0
  256. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +735 -0
  257. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +2634 -0
  258. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +189 -0
  259. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +917 -0
  260. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +39 -0
  261. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +2670 -0
  262. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +519 -0
  263. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +38 -0
  264. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +668 -0
  265. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +346 -0
  266. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +1330 -0
  267. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +149 -0
  268. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +783 -0
  269. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +115 -0
  270. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +796 -0
  271. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +117 -0
  272. package/scripts/check-unreal-connection.mjs +19 -0
  273. package/scripts/clean-tmp.js +23 -0
  274. package/scripts/patch-wasm.js +26 -0
  275. package/scripts/run-all-tests.mjs +131 -0
  276. package/scripts/smoke-test.ts +94 -0
  277. package/scripts/sync-mcp-plugin.js +143 -0
  278. package/scripts/test-no-plugin-alternates.mjs +113 -0
  279. package/scripts/validate-server.js +46 -0
  280. package/scripts/verify-automation-bridge.js +200 -0
  281. package/server.json +57 -21
  282. package/src/automation/bridge.ts +558 -0
  283. package/src/automation/connection-manager.ts +130 -0
  284. package/src/automation/handshake.ts +99 -0
  285. package/src/automation/index.ts +2 -0
  286. package/src/automation/message-handler.ts +167 -0
  287. package/src/automation/request-tracker.ts +123 -0
  288. package/src/automation/types.ts +107 -0
  289. package/src/cli.ts +33 -6
  290. package/src/config.ts +73 -0
  291. package/src/constants.ts +12 -0
  292. package/src/graphql/resolvers.ts +1010 -0
  293. package/src/graphql/schema.ts +452 -0
  294. package/src/graphql/server.ts +154 -0
  295. package/src/graphql/types.ts +7 -0
  296. package/src/handlers/resource-handlers.ts +186 -0
  297. package/src/index.ts +152 -649
  298. package/src/prompts/index.ts +4 -4
  299. package/src/resources/actors.ts +58 -76
  300. package/src/resources/assets.ts +147 -134
  301. package/src/resources/levels.ts +28 -33
  302. package/src/server/resource-registry.ts +47 -0
  303. package/src/server/tool-registry.ts +354 -0
  304. package/src/server-setup.ts +148 -0
  305. package/src/services/health-monitor.ts +132 -0
  306. package/src/services/metrics-server.ts +142 -0
  307. package/src/tools/actors.ts +417 -322
  308. package/src/tools/animation.ts +671 -461
  309. package/src/tools/assets.ts +353 -289
  310. package/src/tools/audio.ts +323 -766
  311. package/src/tools/base-tool.ts +52 -0
  312. package/src/tools/behavior-tree.ts +45 -0
  313. package/src/tools/blueprint/helpers.ts +189 -0
  314. package/src/tools/blueprint.ts +787 -965
  315. package/src/tools/consolidated-tool-definitions.ts +993 -500
  316. package/src/tools/consolidated-tool-handlers.ts +272 -1122
  317. package/src/tools/debug.ts +292 -187
  318. package/src/tools/dynamic-handler-registry.ts +151 -0
  319. package/src/tools/editor.ts +309 -246
  320. package/src/tools/engine.ts +14 -3
  321. package/src/tools/environment.ts +287 -0
  322. package/src/tools/foliage.ts +314 -379
  323. package/src/tools/handlers/actor-handlers.ts +271 -0
  324. package/src/tools/handlers/animation-handlers.ts +237 -0
  325. package/src/tools/handlers/argument-helper.ts +142 -0
  326. package/src/tools/handlers/asset-handlers.ts +532 -0
  327. package/src/tools/handlers/audio-handlers.ts +194 -0
  328. package/src/tools/handlers/blueprint-handlers.ts +380 -0
  329. package/src/tools/handlers/common-handlers.ts +87 -0
  330. package/src/tools/handlers/editor-handlers.ts +123 -0
  331. package/src/tools/handlers/effect-handlers.ts +220 -0
  332. package/src/tools/handlers/environment-handlers.ts +183 -0
  333. package/src/tools/handlers/graph-handlers.ts +116 -0
  334. package/src/tools/handlers/input-handlers.ts +28 -0
  335. package/src/tools/handlers/inspect-handlers.ts +450 -0
  336. package/src/tools/handlers/level-handlers.ts +252 -0
  337. package/src/tools/handlers/lighting-handlers.ts +147 -0
  338. package/src/tools/handlers/performance-handlers.ts +132 -0
  339. package/src/tools/handlers/pipeline-handlers.ts +127 -0
  340. package/src/tools/handlers/sequence-handlers.ts +415 -0
  341. package/src/tools/handlers/system-handlers.ts +564 -0
  342. package/src/tools/input.ts +101 -0
  343. package/src/tools/introspection.ts +493 -584
  344. package/src/tools/landscape.ts +394 -489
  345. package/src/tools/level.ts +752 -694
  346. package/src/tools/lighting.ts +583 -984
  347. package/src/tools/logs.ts +219 -0
  348. package/src/tools/materials.ts +231 -121
  349. package/src/tools/niagara.ts +293 -168
  350. package/src/tools/performance.ts +320 -168
  351. package/src/tools/physics.ts +268 -613
  352. package/src/tools/property-dictionary.ts +98 -0
  353. package/src/tools/sequence.ts +255 -815
  354. package/src/tools/tool-definition-utils.ts +35 -0
  355. package/src/tools/ui.ts +207 -283
  356. package/src/types/env.ts +0 -10
  357. package/src/types/tool-interfaces.ts +250 -0
  358. package/src/types/tool-types.ts +250 -13
  359. package/src/unreal-bridge.ts +460 -1550
  360. package/src/utils/command-validator.ts +75 -0
  361. package/src/utils/elicitation.ts +10 -7
  362. package/src/utils/error-handler.ts +14 -90
  363. package/src/utils/ini-reader.ts +86 -0
  364. package/src/utils/logger.ts +8 -3
  365. package/src/utils/normalize.ts +60 -0
  366. package/src/utils/response-factory.ts +39 -0
  367. package/src/utils/response-validator.ts +176 -56
  368. package/src/utils/result-helpers.ts +21 -19
  369. package/src/utils/safe-json.ts +14 -11
  370. package/src/utils/unreal-command-queue.ts +152 -0
  371. package/src/utils/validation.ts +4 -1
  372. package/src/wasm/index.ts +838 -0
  373. package/test-server.mjs +100 -0
  374. package/tests/run-unreal-tool-tests.mjs +242 -14
  375. package/tests/test-animation.mjs +44 -0
  376. package/tests/test-asset-advanced.mjs +82 -0
  377. package/tests/test-asset-errors.mjs +35 -0
  378. package/tests/test-audio.mjs +219 -0
  379. package/tests/test-automation-timeouts.mjs +98 -0
  380. package/tests/test-behavior-tree.mjs +261 -0
  381. package/tests/test-blueprint-events.mjs +35 -0
  382. package/tests/test-blueprint-graph.mjs +79 -0
  383. package/tests/test-blueprint.mjs +577 -0
  384. package/tests/test-client-mode.mjs +86 -0
  385. package/tests/test-console-command.mjs +56 -0
  386. package/tests/test-control-actor.mjs +425 -0
  387. package/tests/test-control-editor.mjs +80 -0
  388. package/tests/test-extra-tools.mjs +38 -0
  389. package/tests/test-graphql.mjs +322 -0
  390. package/tests/test-inspect.mjs +72 -0
  391. package/tests/test-landscape.mjs +60 -0
  392. package/tests/test-manage-asset.mjs +438 -0
  393. package/tests/test-manage-level.mjs +70 -0
  394. package/tests/test-materials.mjs +356 -0
  395. package/tests/test-niagara.mjs +185 -0
  396. package/tests/test-no-inline-python.mjs +122 -0
  397. package/tests/test-plugin-handshake.mjs +82 -0
  398. package/tests/test-render.mjs +33 -0
  399. package/tests/test-runner.mjs +933 -0
  400. package/tests/test-search-assets.mjs +66 -0
  401. package/tests/test-sequence.mjs +68 -0
  402. package/tests/test-system.mjs +57 -0
  403. package/tests/test-wasm.mjs +193 -0
  404. package/tests/test-world-partition.mjs +215 -0
  405. package/tsconfig.json +3 -3
  406. package/wasm/Cargo.lock +363 -0
  407. package/wasm/Cargo.toml +42 -0
  408. package/wasm/LICENSE +21 -0
  409. package/wasm/README.md +253 -0
  410. package/wasm/src/dependency_resolver.rs +377 -0
  411. package/wasm/src/lib.rs +153 -0
  412. package/wasm/src/property_parser.rs +271 -0
  413. package/wasm/src/transform_math.rs +396 -0
  414. package/wasm/tests/integration.rs +109 -0
  415. package/.github/workflows/smithery-build.yml +0 -29
  416. package/dist/tools/build_environment_advanced.d.ts +0 -65
  417. package/dist/tools/build_environment_advanced.js +0 -633
  418. package/dist/tools/rc.d.ts +0 -110
  419. package/dist/tools/rc.js +0 -437
  420. package/dist/tools/visual.d.ts +0 -40
  421. package/dist/tools/visual.js +0 -282
  422. package/dist/utils/http.d.ts +0 -6
  423. package/dist/utils/http.js +0 -151
  424. package/dist/utils/python-output.d.ts +0 -18
  425. package/dist/utils/python-output.js +0 -290
  426. package/dist/utils/python.d.ts +0 -2
  427. package/dist/utils/python.js +0 -4
  428. package/dist/utils/stdio-redirect.d.ts +0 -2
  429. package/dist/utils/stdio-redirect.js +0 -20
  430. package/docs/unreal-tool-test-cases.md +0 -572
  431. package/smithery.yaml +0 -29
  432. package/src/tools/build_environment_advanced.ts +0 -732
  433. package/src/tools/rc.ts +0 -515
  434. package/src/tools/visual.ts +0 -281
  435. package/src/utils/http.ts +0 -187
  436. package/src/utils/python-output.ts +0 -351
  437. package/src/utils/python.ts +0 -3
  438. package/src/utils/stdio-redirect.ts +0 -18
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-interfaces.js.map
@@ -1,7 +1,3 @@
1
- /**
2
- * Auto-generated TypeScript types from tool schemas
3
- * This provides type safety and IntelliSense support
4
- */
5
1
  export interface BaseToolResponse {
6
2
  success: boolean;
7
3
  message?: string;
@@ -18,6 +14,7 @@ export interface ManageAssetResponse extends BaseToolResponse {
18
14
  assets?: AssetInfo[];
19
15
  paths?: string[];
20
16
  materialPath?: string;
17
+ materialInstancePath?: string;
21
18
  }
22
19
  export interface Vector3D {
23
20
  x: number;
@@ -31,8 +28,25 @@ export interface Rotation3D {
31
28
  }
32
29
  export interface ControlActorResponse extends BaseToolResponse {
33
30
  actor?: string;
34
- deleted?: string;
31
+ actorName?: string;
32
+ actorPath?: string;
33
+ componentName?: string;
34
+ componentPath?: string;
35
+ componentClass?: string;
36
+ componentPaths?: Array<{
37
+ name: string;
38
+ path: string;
39
+ class?: string;
40
+ }>;
41
+ components?: Array<Record<string, unknown>>;
42
+ actors?: Array<Record<string, unknown>>;
43
+ deleted?: string | string[];
44
+ deletedCount?: number;
45
+ missing?: string[];
35
46
  physicsEnabled?: boolean;
47
+ visible?: boolean;
48
+ tag?: string;
49
+ snapshotName?: string;
36
50
  }
37
51
  export interface ControlEditorResponse extends BaseToolResponse {
38
52
  playing?: boolean;
@@ -52,6 +66,13 @@ export interface AnimationPhysicsResponse extends BaseToolResponse {
52
66
  playing?: boolean;
53
67
  playRate?: number;
54
68
  ragdollActive?: boolean;
69
+ path?: string;
70
+ blendSpacePath?: string;
71
+ skeletonPath?: string;
72
+ controlRigPath?: string;
73
+ twoDimensional?: boolean;
74
+ warnings?: string[];
75
+ details?: unknown;
55
76
  }
56
77
  export interface CreateEffectResponse extends BaseToolResponse {
57
78
  effectName?: string;
@@ -75,6 +96,17 @@ export interface SystemControlResponse extends BaseToolResponse {
75
96
  soundPlaying?: boolean;
76
97
  widgetPath?: string;
77
98
  widgetVisible?: boolean;
99
+ imagePath?: string;
100
+ imageBase64?: string;
101
+ pid?: number;
102
+ logPath?: string;
103
+ entries?: Array<{
104
+ timestamp?: string;
105
+ category?: string;
106
+ level?: string;
107
+ message: string;
108
+ }>;
109
+ filteredCount?: number;
78
110
  }
79
111
  export interface ConsoleCommandResponse extends BaseToolResponse {
80
112
  command?: string;
@@ -112,6 +144,59 @@ export interface ToolParameters {
112
144
  actorName: string;
113
145
  force: Vector3D;
114
146
  };
147
+ SpawnBlueprintParams: {
148
+ blueprintPath: string;
149
+ actorName?: string;
150
+ location?: Vector3D;
151
+ rotation?: Rotation3D;
152
+ };
153
+ SetTransformParams: {
154
+ actorName: string;
155
+ location?: Vector3D;
156
+ rotation?: Rotation3D;
157
+ scale?: Vector3D;
158
+ };
159
+ SetVisibilityParams: {
160
+ actorName: string;
161
+ visible: boolean;
162
+ };
163
+ ComponentParams: {
164
+ actorName: string;
165
+ componentType?: string;
166
+ componentName?: string;
167
+ properties?: Record<string, unknown>;
168
+ };
169
+ DuplicateActorParams: {
170
+ actorName: string;
171
+ newName?: string;
172
+ offset?: Vector3D;
173
+ };
174
+ AttachActorParams: {
175
+ childActor: string;
176
+ parentActor: string;
177
+ };
178
+ DetachActorParams: {
179
+ actorName: string;
180
+ };
181
+ TagActorParams: {
182
+ actorName: string;
183
+ tag: string;
184
+ };
185
+ FindByTagParams: {
186
+ tag: string;
187
+ matchType?: string;
188
+ };
189
+ FindByNameParams: {
190
+ name: string;
191
+ };
192
+ BlueprintVariablesParams: {
193
+ actorName: string;
194
+ variables: Record<string, unknown>;
195
+ };
196
+ SnapshotActorParams: {
197
+ actorName: string;
198
+ snapshotName: string;
199
+ };
115
200
  SetCameraParams: {
116
201
  location?: Vector3D;
117
202
  rotation?: Rotation3D;
@@ -123,15 +208,15 @@ export interface ToolParameters {
123
208
  command: string;
124
209
  };
125
210
  }
126
- export type AssetAction = 'list' | 'import' | 'create_material';
127
- export type ActorAction = 'spawn' | 'delete' | 'apply_force';
211
+ export type AssetAction = 'list' | 'import' | 'create_material' | 'create_material_instance';
212
+ export type ActorAction = 'spawn' | 'spawn_blueprint' | 'delete' | 'delete_by_tag' | 'duplicate' | 'apply_force' | 'set_transform' | 'get_transform' | 'set_visibility' | 'add_component' | 'set_component_properties' | 'get_components' | 'add_tag' | 'find_by_tag' | 'find_by_name' | 'set_blueprint_variables' | 'create_snapshot' | 'attach' | 'detach';
128
213
  export type EditorAction = 'play' | 'stop' | 'set_camera' | 'set_view_mode';
129
214
  export type LevelAction = 'load' | 'save' | 'stream' | 'create_light' | 'build_lighting';
130
- export type AnimationAction = 'create_animation_bp' | 'play_montage' | 'setup_ragdoll';
131
- export type EffectAction = 'particle' | 'niagara' | 'debug_shape';
215
+ export type AnimationAction = 'create_animation_bp' | 'create_anim_blueprint' | 'create_animation_blueprint' | 'play_montage' | 'play_anim_montage' | 'setup_ragdoll' | 'activate_ragdoll' | 'configure_vehicle' | 'create_blend_space' | 'create_state_machine' | 'setup_ik' | 'create_procedural_anim' | 'create_blend_tree' | 'setup_retargeting' | 'setup_physics_simulation' | 'create_animation_asset' | 'cleanup';
216
+ export type EffectAction = 'particle' | 'niagara' | 'debug_shape' | 'spawn_niagara' | 'set_niagara_parameter' | 'clear_debug_shapes' | 'create_dynamic_light' | 'cleanup';
132
217
  export type BlueprintAction = 'create' | 'add_component';
133
218
  export type EnvironmentAction = 'create_landscape' | 'sculpt' | 'add_foliage' | 'paint_foliage';
134
- export type SystemAction = 'profile' | 'show_fps' | 'set_quality' | 'play_sound' | 'create_widget' | 'show_widget';
219
+ export type SystemAction = 'profile' | 'show_fps' | 'set_quality' | 'play_sound' | 'create_widget' | 'show_widget' | 'screenshot' | 'engine_start' | 'engine_quit' | 'read_log';
135
220
  export type VerificationAction = 'foliage_type_exists' | 'foliage_instances_near' | 'landscape_exists' | 'quality_level';
136
221
  export interface ConsolidatedToolParams {
137
222
  manage_asset: {
@@ -142,6 +227,8 @@ export interface ConsolidatedToolParams {
142
227
  destinationPath?: string;
143
228
  name?: string;
144
229
  path?: string;
230
+ parentMaterial?: string;
231
+ parameters?: Record<string, any>;
145
232
  };
146
233
  control_actor: {
147
234
  action: ActorAction;
@@ -149,13 +236,40 @@ export interface ConsolidatedToolParams {
149
236
  classPath?: string;
150
237
  location?: Vector3D;
151
238
  rotation?: Rotation3D;
239
+ scale?: Vector3D;
152
240
  force?: Vector3D;
241
+ blueprintPath?: string;
242
+ componentType?: string;
243
+ componentName?: string;
244
+ properties?: Record<string, unknown>;
245
+ visible?: boolean;
246
+ newName?: string;
247
+ offset?: Vector3D;
248
+ tag?: string;
249
+ matchType?: string;
250
+ variables?: Record<string, unknown>;
251
+ snapshotName?: string;
252
+ childActor?: string;
253
+ parentActor?: string;
254
+ actorNames?: string[];
153
255
  };
154
256
  control_editor: {
155
257
  action: EditorAction;
156
258
  location?: Vector3D;
157
259
  rotation?: Rotation3D;
158
260
  viewMode?: string;
261
+ speed?: number;
262
+ filename?: string;
263
+ fov?: number;
264
+ width?: number;
265
+ height?: number;
266
+ command?: string;
267
+ steps?: number;
268
+ frameRate?: number;
269
+ durationSeconds?: number;
270
+ bookmarkName?: string;
271
+ category?: string;
272
+ preferences?: Record<string, unknown>;
159
273
  };
160
274
  manage_level: {
161
275
  action: LevelAction;
@@ -174,13 +288,63 @@ export interface ConsolidatedToolParams {
174
288
  action: AnimationAction;
175
289
  name?: string;
176
290
  actorName?: string;
291
+ savePath?: string;
292
+ path?: string;
177
293
  skeletonPath?: string;
294
+ blueprintName?: string;
295
+ blueprintPath?: string;
178
296
  montagePath?: string;
179
297
  animationPath?: string;
180
298
  playRate?: number;
181
299
  physicsAssetName?: string;
182
300
  blendWeight?: number;
183
- savePath?: string;
301
+ meshPath?: string;
302
+ assignToMesh?: boolean;
303
+ previewSkeleton?: string;
304
+ generateConstraints?: boolean;
305
+ vehicleName?: string;
306
+ vehicleType?: 'Car' | 'Bike' | 'Tank' | 'Aircraft' | string;
307
+ wheels?: Array<{
308
+ name: string;
309
+ radius: number;
310
+ width: number;
311
+ mass: number;
312
+ isSteering?: boolean;
313
+ isDriving?: boolean;
314
+ }>;
315
+ engine?: {
316
+ maxRPM: number;
317
+ torqueCurve: Array<[number, number]>;
318
+ };
319
+ transmission?: {
320
+ gears: number[];
321
+ finalDriveRatio: number;
322
+ };
323
+ pluginDependencies?: string[];
324
+ dimensions?: number | [number, number];
325
+ horizontalAxis?: {
326
+ name?: string;
327
+ minValue?: number;
328
+ maxValue?: number;
329
+ };
330
+ verticalAxis?: {
331
+ name?: string;
332
+ minValue?: number;
333
+ maxValue?: number;
334
+ };
335
+ samples?: any[];
336
+ states?: any[];
337
+ transitions?: any[];
338
+ chain?: any;
339
+ effector?: any;
340
+ sourceSkeleton?: string;
341
+ targetSkeleton?: string;
342
+ assets?: string[];
343
+ retargetAssets?: string[];
344
+ suffix?: string;
345
+ overwrite?: boolean;
346
+ artifacts?: string[];
347
+ assetType?: string;
184
348
  };
185
349
  create_effect: {
186
350
  action: EffectAction;
@@ -192,6 +356,20 @@ export interface ConsolidatedToolParams {
192
356
  shape?: string;
193
357
  size?: number;
194
358
  color?: [number, number, number, number];
359
+ lightName?: string;
360
+ lightType?: 'Point' | 'Spot' | 'Directional' | 'Rect' | string;
361
+ intensity?: number;
362
+ rotation?: Rotation3D;
363
+ pulse?: {
364
+ enabled?: boolean;
365
+ frequency?: number;
366
+ };
367
+ filter?: string;
368
+ systemName?: string;
369
+ parameterName?: string;
370
+ parameterType?: string;
371
+ value?: any;
372
+ isUserParameter?: boolean;
195
373
  duration?: number;
196
374
  };
197
375
  manage_blueprint: {
@@ -201,6 +379,9 @@ export interface ConsolidatedToolParams {
201
379
  componentType?: string;
202
380
  componentName?: string;
203
381
  savePath?: string;
382
+ waitForCompletion?: boolean;
383
+ applyAndSave?: boolean;
384
+ waitForCompletionTimeoutMs?: number;
204
385
  };
205
386
  build_environment: {
206
387
  action: EnvironmentAction;
@@ -229,6 +410,9 @@ export interface ConsolidatedToolParams {
229
410
  widgetName?: string;
230
411
  widgetType?: string;
231
412
  visible?: boolean;
413
+ width?: number;
414
+ height?: number;
415
+ windowed?: boolean;
232
416
  };
233
417
  console_command: {
234
418
  command: string;
@@ -1,6 +1,2 @@
1
- /**
2
- * Auto-generated TypeScript types from tool schemas
3
- * This provides type safety and IntelliSense support
4
- */
5
1
  export {};
6
2
  //# sourceMappingURL=tool-types.js.map
@@ -1,92 +1,42 @@
1
- interface RcCallBody {
2
- objectPath: string;
3
- functionName: string;
4
- parameters?: Record<string, any>;
5
- generateTransaction?: boolean;
6
- }
1
+ import type { AutomationBridge } from './automation/index.js';
7
2
  export declare class UnrealBridge {
8
- private ws?;
9
- private http;
10
- private env;
11
3
  private log;
12
4
  private connected;
13
- private reconnectTimer?;
14
- private reconnectAttempts;
15
- private readonly MAX_RECONNECT_ATTEMPTS;
16
- private readonly BASE_RECONNECT_DELAY;
17
- private autoReconnectEnabled;
18
- private engineVersionCache?;
19
- private readonly ENGINE_VERSION_TTL_MS;
20
- private lastPongReceived;
21
- private pingInterval?;
22
- private readonly PING_INTERVAL_MS;
23
- private readonly PONG_TIMEOUT_MS;
5
+ private automationBridge?;
6
+ private automationBridgeListeners?;
24
7
  private commandQueue;
25
- private isProcessing;
26
- private readonly MIN_COMMAND_DELAY;
27
- private readonly MAX_COMMAND_DELAY;
28
- private readonly STAT_COMMAND_DELAY;
29
- private lastCommandTime;
30
- private lastStatCommandTime;
31
- private consoleObjectCache;
32
- private readonly CONSOLE_CACHE_TTL;
33
- private pluginStatusCache;
34
- private readonly PLUGIN_CACHE_TTL;
35
- private readonly UNSAFE_VIEWMODES;
36
- private readonly HARD_BLOCKED_VIEWMODES;
37
- private readonly VIEWMODE_ALIASES;
38
- private readonly PYTHON_TEMPLATES;
39
8
  get isConnected(): boolean;
40
- /**
41
- * Attempt to connect with exponential backoff retry strategy
42
- * Uses optimized retry pattern from TypeScript best practices
43
- * @param maxAttempts Maximum number of connection attempts
44
- * @param timeoutMs Timeout for each connection attempt in milliseconds
45
- * @param retryDelayMs Initial delay between retry attempts in milliseconds
46
- * @returns Promise that resolves to true if connected, false otherwise
47
- */
9
+ setAutomationBridge(automationBridge?: AutomationBridge): void;
10
+ getAutomationBridge(): AutomationBridge;
48
11
  private connectPromise?;
49
12
  tryConnect(maxAttempts?: number, timeoutMs?: number, retryDelayMs?: number): Promise<boolean>;
50
13
  connect(timeoutMs?: number): Promise<void>;
51
- httpCall<T = any>(path: string, method?: 'GET' | 'POST' | 'PUT', body?: any): Promise<T>;
52
- private parsePythonJsonResult;
53
- ensurePluginsEnabled(pluginNames: string[], context?: string): Promise<string[]>;
54
- call(body: RcCallBody): Promise<any>;
55
- getExposed(): Promise<any>;
56
- executeConsoleCommand(command: string, options?: {
57
- allowPython?: boolean;
58
- }): Promise<any>;
59
- summarizeConsoleCommand(command: string, response: any): {
60
- command: string;
61
- output: string;
62
- logLines: any[];
63
- returnValue: any;
64
- raw: any;
65
- };
14
+ private waitForAutomationConnection;
15
+ getObjectProperty(params: {
16
+ objectPath: string;
17
+ propertyName: string;
18
+ timeoutMs?: number;
19
+ allowAlternate?: boolean;
20
+ }): Promise<Record<string, any>>;
21
+ setObjectProperty(params: {
22
+ objectPath: string;
23
+ propertyName: string;
24
+ value: unknown;
25
+ markDirty?: boolean;
26
+ timeoutMs?: number;
27
+ allowAlternate?: boolean;
28
+ }): Promise<Record<string, any>>;
29
+ executeConsoleCommand(command: string, _options?: Record<string, never>): Promise<any>;
66
30
  executeConsoleCommands(commands: Iterable<string | {
67
31
  command: string;
68
32
  priority?: number;
69
- allowPython?: boolean;
70
33
  }>, options?: {
71
34
  continueOnError?: boolean;
72
35
  delayMs?: number;
73
36
  }): Promise<any[]>;
74
- executePython(command: string): Promise<any>;
75
- setAutoReconnectEnabled(enabled: boolean): void;
76
- private scheduleReconnect;
77
- disconnect(): Promise<void>;
78
- /**
79
- * Enhanced Editor Function Access
80
- * Use Python scripting as a bridge to access modern Editor Subsystem functions
81
- */
82
- executeEditorFunction(functionName: string, params?: Record<string, any>): Promise<any>;
83
- /**
84
- * Execute Python script and parse the result
85
- */
86
- executePythonWithResult(script: string): Promise<any>;
87
- /**
88
- * Get the Unreal Engine version via Python and parse major/minor/patch.
89
- */
37
+ executeEditorFunction(functionName: string, params?: Record<string, any>, _options?: {
38
+ timeoutMs?: number;
39
+ }): Promise<any>;
90
40
  getEngineVersion(): Promise<{
91
41
  version: string;
92
42
  major: number;
@@ -94,71 +44,14 @@ export declare class UnrealBridge {
94
44
  patch: number;
95
45
  isUE56OrAbove: boolean;
96
46
  }>;
97
- /**
98
- * Query feature flags (Python availability, editor subsystems) via Python.
99
- */
100
47
  getFeatureFlags(): Promise<{
101
- pythonEnabled: boolean;
102
48
  subsystems: {
103
49
  unrealEditor: boolean;
104
50
  levelEditor: boolean;
105
51
  editorActor: boolean;
106
52
  };
107
53
  }>;
108
- /**
109
- * Fallback commands when Python is not available
110
- */
111
- private executeFallbackCommand;
112
- /**
113
- * SOLUTION 2: Safe ViewMode Switching
114
- * Prevent crashes by validating and safely switching viewmodes
115
- */
116
- setSafeViewMode(mode: string): Promise<any>;
117
- /**
118
- * Get safe alternative for unsafe viewmodes
119
- */
120
- private getSafeAlternative;
121
- /**
122
- * SOLUTION 3: Command Throttling and Queueing
123
- * Prevent rapid command execution that can overwhelm the engine
124
- */
125
54
  private executeThrottledCommand;
126
- /**
127
- * Process command queue with appropriate delays
128
- */
129
- private processCommandQueue;
130
- /**
131
- * Calculate appropriate delay based on command priority and type
132
- */
133
- private calculateDelay;
134
- /**
135
- * SOLUTION 4: Enhanced Asset Creation
136
- * Use Python scripting for complex asset creation that requires editor scripting
137
- */
138
- createComplexAsset(assetType: string, params: Record<string, any>): Promise<any>;
139
- /**
140
- * Start the command processor
141
- */
142
- private startCommandProcessor;
143
- /**
144
- * Clean expired entries from console object cache
145
- */
146
- private cleanConsoleCache;
147
- /**
148
- * Helper delay function
149
- */
150
55
  private delay;
151
- /**
152
- * Batch command execution with proper delays
153
- */
154
- executeBatch(commands: Array<{
155
- command: string;
156
- priority?: number;
157
- }>): Promise<any[]>;
158
- /**
159
- * Get safe console commands for common operations
160
- */
161
- getSafeCommands(): Record<string, string>;
162
56
  }
163
- export {};
164
57
  //# sourceMappingURL=unreal-bridge.d.ts.map