unreal-engine-mcp-server 0.4.7 → 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 +267 -31
  29. package/CONTRIBUTING.md +140 -0
  30. package/README.md +166 -71
  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 -619
  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 +5462 -1781
  97. package/dist/tools/consolidated-tool-definitions.js +829 -496
  98. package/dist/tools/consolidated-tool-handlers.d.ts +2 -1
  99. package/dist/tools/consolidated-tool-handlers.js +211 -1026
  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 +3 -3
  161. package/dist/tools/logs.js +5 -57
  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 +183 -19
  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 -663
  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 -515
  316. package/src/tools/consolidated-tool-handlers.ts +272 -1139
  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 +9 -57
  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 +243 -21
  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 -574
  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;
@@ -123,6 +144,59 @@ export interface ToolParameters {
123
144
  actorName: string;
124
145
  force: Vector3D;
125
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
+ };
126
200
  SetCameraParams: {
127
201
  location?: Vector3D;
128
202
  rotation?: Rotation3D;
@@ -134,12 +208,12 @@ export interface ToolParameters {
134
208
  command: string;
135
209
  };
136
210
  }
137
- export type AssetAction = 'list' | 'import' | 'create_material';
138
- 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';
139
213
  export type EditorAction = 'play' | 'stop' | 'set_camera' | 'set_view_mode';
140
214
  export type LevelAction = 'load' | 'save' | 'stream' | 'create_light' | 'build_lighting';
141
- export type AnimationAction = 'create_animation_bp' | 'play_montage' | 'setup_ragdoll';
142
- 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';
143
217
  export type BlueprintAction = 'create' | 'add_component';
144
218
  export type EnvironmentAction = 'create_landscape' | 'sculpt' | 'add_foliage' | 'paint_foliage';
145
219
  export type SystemAction = 'profile' | 'show_fps' | 'set_quality' | 'play_sound' | 'create_widget' | 'show_widget' | 'screenshot' | 'engine_start' | 'engine_quit' | 'read_log';
@@ -153,6 +227,8 @@ export interface ConsolidatedToolParams {
153
227
  destinationPath?: string;
154
228
  name?: string;
155
229
  path?: string;
230
+ parentMaterial?: string;
231
+ parameters?: Record<string, any>;
156
232
  };
157
233
  control_actor: {
158
234
  action: ActorAction;
@@ -160,13 +236,40 @@ export interface ConsolidatedToolParams {
160
236
  classPath?: string;
161
237
  location?: Vector3D;
162
238
  rotation?: Rotation3D;
239
+ scale?: Vector3D;
163
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[];
164
255
  };
165
256
  control_editor: {
166
257
  action: EditorAction;
167
258
  location?: Vector3D;
168
259
  rotation?: Rotation3D;
169
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>;
170
273
  };
171
274
  manage_level: {
172
275
  action: LevelAction;
@@ -185,13 +288,63 @@ export interface ConsolidatedToolParams {
185
288
  action: AnimationAction;
186
289
  name?: string;
187
290
  actorName?: string;
291
+ savePath?: string;
292
+ path?: string;
188
293
  skeletonPath?: string;
294
+ blueprintName?: string;
295
+ blueprintPath?: string;
189
296
  montagePath?: string;
190
297
  animationPath?: string;
191
298
  playRate?: number;
192
299
  physicsAssetName?: string;
193
300
  blendWeight?: number;
194
- 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;
195
348
  };
196
349
  create_effect: {
197
350
  action: EffectAction;
@@ -203,6 +356,20 @@ export interface ConsolidatedToolParams {
203
356
  shape?: string;
204
357
  size?: number;
205
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;
206
373
  duration?: number;
207
374
  };
208
375
  manage_blueprint: {
@@ -212,6 +379,9 @@ export interface ConsolidatedToolParams {
212
379
  componentType?: string;
213
380
  componentName?: string;
214
381
  savePath?: string;
382
+ waitForCompletion?: boolean;
383
+ applyAndSave?: boolean;
384
+ waitForCompletionTimeoutMs?: number;
215
385
  };
216
386
  build_environment: {
217
387
  action: EnvironmentAction;
@@ -240,15 +410,9 @@ export interface ConsolidatedToolParams {
240
410
  widgetName?: string;
241
411
  widgetType?: string;
242
412
  visible?: boolean;
243
- resolution?: string;
244
- projectPath?: string;
245
- editorExe?: string;
246
- filter_category?: string | string[];
247
- filter_level?: 'Error' | 'Warning' | 'Log' | 'Verbose' | 'VeryVerbose' | 'All';
248
- lines?: number;
249
- log_path?: string;
250
- include_prefixes?: string[];
251
- exclude_categories?: string[];
413
+ width?: number;
414
+ height?: number;
415
+ windowed?: boolean;
252
416
  };
253
417
  console_command: {
254
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