unreal-engine-mcp-server 0.5.4 → 0.5.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 (468) hide show
  1. package/dist/automation/bridge.d.ts.map +1 -0
  2. package/dist/automation/bridge.js.map +1 -0
  3. package/dist/automation/connection-manager.d.ts.map +1 -0
  4. package/dist/automation/connection-manager.js.map +1 -0
  5. package/dist/automation/handshake.d.ts.map +1 -0
  6. package/dist/automation/handshake.js.map +1 -0
  7. package/dist/automation/index.d.ts.map +1 -0
  8. package/dist/automation/index.js.map +1 -0
  9. package/dist/automation/message-handler.d.ts.map +1 -0
  10. package/dist/automation/message-handler.js.map +1 -0
  11. package/dist/automation/request-tracker.d.ts.map +1 -0
  12. package/dist/automation/request-tracker.js.map +1 -0
  13. package/dist/automation/types.d.ts.map +1 -0
  14. package/dist/automation/types.js.map +1 -0
  15. package/dist/cli.d.ts.map +1 -0
  16. package/dist/cli.js +4 -3
  17. package/dist/cli.js.map +1 -0
  18. package/dist/config/class-aliases.d.ts.map +1 -0
  19. package/dist/config/class-aliases.js.map +1 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js.map +1 -0
  22. package/dist/constants.d.ts.map +1 -0
  23. package/dist/constants.js.map +1 -0
  24. package/dist/graphql/loaders.d.ts.map +1 -0
  25. package/dist/graphql/loaders.js.map +1 -0
  26. package/dist/graphql/resolvers.d.ts.map +1 -0
  27. package/dist/graphql/resolvers.js +29 -29
  28. package/dist/graphql/resolvers.js.map +1 -0
  29. package/dist/graphql/schema.d.ts.map +1 -0
  30. package/dist/graphql/schema.js.map +1 -0
  31. package/dist/graphql/server.d.ts.map +1 -0
  32. package/dist/graphql/server.js.map +1 -0
  33. package/dist/graphql/types.d.ts.map +1 -0
  34. package/dist/graphql/types.js.map +1 -0
  35. package/dist/handlers/resource-handlers.d.ts.map +1 -0
  36. package/dist/handlers/resource-handlers.js.map +1 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +64 -7
  40. package/dist/index.js.map +1 -0
  41. package/dist/resources/actors.d.ts.map +1 -0
  42. package/dist/resources/actors.js.map +1 -0
  43. package/dist/resources/assets.d.ts.map +1 -0
  44. package/dist/resources/assets.js +6 -4
  45. package/dist/resources/assets.js.map +1 -0
  46. package/dist/resources/levels.d.ts.map +1 -0
  47. package/dist/resources/levels.js.map +1 -0
  48. package/dist/server/resource-registry.d.ts.map +1 -0
  49. package/dist/server/resource-registry.js.map +1 -0
  50. package/dist/server/tool-registry.d.ts.map +1 -0
  51. package/dist/server/tool-registry.js.map +1 -0
  52. package/dist/server-setup.d.ts.map +1 -0
  53. package/dist/server-setup.js.map +1 -0
  54. package/dist/services/health-monitor.d.ts.map +1 -0
  55. package/dist/services/health-monitor.js.map +1 -0
  56. package/dist/services/metrics-server.d.ts.map +1 -0
  57. package/dist/services/metrics-server.js.map +1 -0
  58. package/dist/tools/actors.d.ts.map +1 -0
  59. package/dist/tools/actors.js +3 -1
  60. package/dist/tools/actors.js.map +1 -0
  61. package/dist/tools/animation.d.ts.map +1 -0
  62. package/dist/tools/animation.js +2 -2
  63. package/dist/tools/animation.js.map +1 -0
  64. package/dist/tools/assets.d.ts.map +1 -0
  65. package/dist/tools/assets.js.map +1 -0
  66. package/dist/tools/audio.d.ts.map +1 -0
  67. package/dist/tools/audio.js.map +1 -0
  68. package/dist/tools/base-tool.d.ts.map +1 -0
  69. package/dist/tools/base-tool.js.map +1 -0
  70. package/dist/tools/behavior-tree.d.ts.map +1 -0
  71. package/dist/tools/behavior-tree.js.map +1 -0
  72. package/dist/tools/blueprint.d.ts.map +1 -0
  73. package/dist/tools/blueprint.js +4 -2
  74. package/dist/tools/blueprint.js.map +1 -0
  75. package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -0
  76. package/dist/tools/consolidated-tool-definitions.js.map +1 -0
  77. package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -0
  78. package/dist/tools/consolidated-tool-handlers.js.map +1 -0
  79. package/dist/tools/debug.d.ts.map +1 -0
  80. package/dist/tools/debug.js +3 -1
  81. package/dist/tools/debug.js.map +1 -0
  82. package/dist/tools/dynamic-handler-registry.d.ts.map +1 -0
  83. package/dist/tools/dynamic-handler-registry.js +3 -1
  84. package/dist/tools/dynamic-handler-registry.js.map +1 -0
  85. package/dist/tools/editor.d.ts.map +1 -0
  86. package/dist/tools/editor.js +1 -1
  87. package/dist/tools/editor.js.map +1 -0
  88. package/dist/tools/engine.d.ts.map +1 -0
  89. package/dist/tools/engine.js.map +1 -0
  90. package/dist/tools/environment.d.ts.map +1 -0
  91. package/dist/tools/environment.js +2 -2
  92. package/dist/tools/environment.js.map +1 -0
  93. package/dist/tools/foliage.d.ts.map +1 -0
  94. package/dist/tools/foliage.js.map +1 -0
  95. package/dist/tools/handlers/actor-handlers.d.ts +1 -1
  96. package/dist/tools/handlers/actor-handlers.d.ts.map +1 -0
  97. package/dist/tools/handlers/actor-handlers.js +6 -5
  98. package/dist/tools/handlers/actor-handlers.js.map +1 -0
  99. package/dist/tools/handlers/animation-handlers.d.ts.map +1 -0
  100. package/dist/tools/handlers/animation-handlers.js.map +1 -0
  101. package/dist/tools/handlers/argument-helper.d.ts.map +1 -0
  102. package/dist/tools/handlers/argument-helper.js.map +1 -0
  103. package/dist/tools/handlers/asset-handlers.d.ts.map +1 -0
  104. package/dist/tools/handlers/asset-handlers.js +5 -1
  105. package/dist/tools/handlers/asset-handlers.js.map +1 -0
  106. package/dist/tools/handlers/audio-handlers.d.ts.map +1 -0
  107. package/dist/tools/handlers/audio-handlers.js.map +1 -0
  108. package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -0
  109. package/dist/tools/handlers/blueprint-handlers.js +2 -1
  110. package/dist/tools/handlers/blueprint-handlers.js.map +1 -0
  111. package/dist/tools/handlers/common-handlers.d.ts.map +1 -0
  112. package/dist/tools/handlers/common-handlers.js.map +1 -0
  113. package/dist/tools/handlers/editor-handlers.d.ts.map +1 -0
  114. package/dist/tools/handlers/editor-handlers.js +12 -2
  115. package/dist/tools/handlers/editor-handlers.js.map +1 -0
  116. package/dist/tools/handlers/effect-handlers.d.ts.map +1 -0
  117. package/dist/tools/handlers/effect-handlers.js.map +1 -0
  118. package/dist/tools/handlers/environment-handlers.d.ts.map +1 -0
  119. package/dist/tools/handlers/environment-handlers.js.map +1 -0
  120. package/dist/tools/handlers/graph-handlers.d.ts.map +1 -0
  121. package/dist/tools/handlers/graph-handlers.js +61 -1
  122. package/dist/tools/handlers/graph-handlers.js.map +1 -0
  123. package/dist/tools/handlers/input-handlers.d.ts.map +1 -0
  124. package/dist/tools/handlers/input-handlers.js.map +1 -0
  125. package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -0
  126. package/dist/tools/handlers/inspect-handlers.js.map +1 -0
  127. package/dist/tools/handlers/level-handlers.d.ts.map +1 -0
  128. package/dist/tools/handlers/level-handlers.js.map +1 -0
  129. package/dist/tools/handlers/lighting-handlers.d.ts.map +1 -0
  130. package/dist/tools/handlers/lighting-handlers.js +23 -1
  131. package/dist/tools/handlers/lighting-handlers.js.map +1 -0
  132. package/dist/tools/handlers/performance-handlers.d.ts.map +1 -0
  133. package/dist/tools/handlers/performance-handlers.js +15 -2
  134. package/dist/tools/handlers/performance-handlers.js.map +1 -0
  135. package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -0
  136. package/dist/tools/handlers/pipeline-handlers.js.map +1 -0
  137. package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -0
  138. package/dist/tools/handlers/sequence-handlers.js.map +1 -0
  139. package/dist/tools/handlers/system-handlers.d.ts.map +1 -0
  140. package/dist/tools/handlers/system-handlers.js +16 -1
  141. package/dist/tools/handlers/system-handlers.js.map +1 -0
  142. package/dist/tools/input.d.ts.map +1 -0
  143. package/dist/tools/input.js +3 -1
  144. package/dist/tools/input.js.map +1 -0
  145. package/dist/tools/introspection.d.ts.map +1 -0
  146. package/dist/tools/introspection.js.map +1 -0
  147. package/dist/tools/landscape.d.ts.map +1 -0
  148. package/dist/tools/landscape.js +3 -1
  149. package/dist/tools/landscape.js.map +1 -0
  150. package/dist/tools/level.d.ts.map +1 -0
  151. package/dist/tools/level.js.map +1 -0
  152. package/dist/tools/lighting.d.ts.map +1 -0
  153. package/dist/tools/lighting.js +3 -1
  154. package/dist/tools/lighting.js.map +1 -0
  155. package/dist/tools/logs.d.ts.map +1 -0
  156. package/dist/tools/logs.js.map +1 -0
  157. package/dist/tools/materials.d.ts.map +1 -0
  158. package/dist/tools/materials.js +3 -1
  159. package/dist/tools/materials.js.map +1 -0
  160. package/dist/tools/niagara.d.ts.map +1 -0
  161. package/dist/tools/niagara.js +7 -5
  162. package/dist/tools/niagara.js.map +1 -0
  163. package/dist/tools/performance.d.ts.map +1 -0
  164. package/dist/tools/performance.js.map +1 -0
  165. package/dist/tools/physics.d.ts.map +1 -0
  166. package/dist/tools/physics.js +9 -7
  167. package/dist/tools/physics.js.map +1 -0
  168. package/dist/tools/property-dictionary.d.ts.map +1 -0
  169. package/dist/tools/property-dictionary.js.map +1 -0
  170. package/dist/tools/sequence.d.ts.map +1 -0
  171. package/dist/tools/sequence.js +3 -1
  172. package/dist/tools/sequence.js.map +1 -0
  173. package/dist/tools/tool-definition-utils.d.ts.map +1 -0
  174. package/dist/tools/tool-definition-utils.js.map +1 -0
  175. package/dist/tools/ui.d.ts.map +1 -0
  176. package/dist/tools/ui.js +3 -1
  177. package/dist/tools/ui.js.map +1 -0
  178. package/dist/types/automation-responses.d.ts.map +1 -0
  179. package/dist/types/automation-responses.js.map +1 -0
  180. package/dist/types/env.d.ts.map +1 -0
  181. package/dist/types/env.js.map +1 -0
  182. package/dist/types/handler-types.d.ts.map +1 -0
  183. package/dist/types/handler-types.js.map +1 -0
  184. package/dist/types/tool-interfaces.d.ts.map +1 -0
  185. package/dist/types/tool-interfaces.js.map +1 -0
  186. package/dist/types/tool-types.d.ts.map +1 -0
  187. package/dist/types/tool-types.js.map +1 -0
  188. package/dist/unreal-bridge.d.ts +1 -0
  189. package/dist/unreal-bridge.d.ts.map +1 -0
  190. package/dist/unreal-bridge.js +8 -0
  191. package/dist/unreal-bridge.js.map +1 -0
  192. package/dist/utils/command-validator.d.ts.map +1 -0
  193. package/dist/utils/command-validator.js.map +1 -0
  194. package/dist/utils/elicitation.d.ts.map +1 -0
  195. package/dist/utils/elicitation.js.map +1 -0
  196. package/dist/utils/error-handler.d.ts.map +1 -0
  197. package/dist/utils/error-handler.js.map +1 -0
  198. package/dist/utils/ini-reader.d.ts.map +1 -0
  199. package/dist/utils/ini-reader.js.map +1 -0
  200. package/dist/utils/logger.d.ts.map +1 -0
  201. package/dist/utils/logger.js.map +1 -0
  202. package/dist/utils/normalize.d.ts.map +1 -0
  203. package/dist/utils/normalize.js.map +1 -0
  204. package/dist/utils/path-security.d.ts.map +1 -0
  205. package/dist/utils/path-security.js.map +1 -0
  206. package/dist/utils/response-factory.d.ts.map +1 -0
  207. package/dist/utils/response-factory.js +3 -1
  208. package/dist/utils/response-factory.js.map +1 -0
  209. package/dist/utils/response-validator.d.ts.map +1 -0
  210. package/dist/utils/response-validator.js.map +1 -0
  211. package/dist/utils/result-helpers.d.ts.map +1 -0
  212. package/dist/utils/result-helpers.js.map +1 -0
  213. package/dist/utils/safe-json.d.ts.map +1 -0
  214. package/dist/utils/safe-json.js.map +1 -0
  215. package/dist/utils/unreal-command-queue.d.ts.map +1 -0
  216. package/dist/utils/unreal-command-queue.js.map +1 -0
  217. package/dist/utils/validation.d.ts.map +1 -0
  218. package/dist/utils/validation.js.map +1 -0
  219. package/dist/wasm/index.d.ts.map +1 -0
  220. package/dist/wasm/index.js.map +1 -0
  221. package/package.json +12 -34
  222. package/server.json +2 -2
  223. package/.dockerignore +0 -57
  224. package/.env.example +0 -26
  225. package/.env.production +0 -61
  226. package/.eslintrc.json +0 -0
  227. package/.eslintrc.override.json +0 -8
  228. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -94
  229. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  230. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -56
  231. package/.github/copilot-instructions.md +0 -478
  232. package/.github/dependabot.yml +0 -19
  233. package/.github/labeler.yml +0 -24
  234. package/.github/labels.yml +0 -70
  235. package/.github/pull_request_template.md +0 -42
  236. package/.github/release-drafter-config.yml +0 -51
  237. package/.github/workflows/auto-merge.yml +0 -38
  238. package/.github/workflows/ci.yml +0 -38
  239. package/.github/workflows/dependency-review.yml +0 -17
  240. package/.github/workflows/gemini-issue-triage.yml +0 -172
  241. package/.github/workflows/greetings.yml +0 -27
  242. package/.github/workflows/labeler.yml +0 -17
  243. package/.github/workflows/links.yml +0 -80
  244. package/.github/workflows/pr-size-labeler.yml +0 -137
  245. package/.github/workflows/publish-mcp.yml +0 -79
  246. package/.github/workflows/release-drafter.yml +0 -24
  247. package/.github/workflows/release.yml +0 -112
  248. package/.github/workflows/semantic-pull-request.yml +0 -35
  249. package/.github/workflows/smoke-test.yml +0 -36
  250. package/.github/workflows/stale.yml +0 -28
  251. package/CONTRIBUTING.md +0 -140
  252. package/Dockerfile +0 -37
  253. package/GEMINI.md +0 -115
  254. package/Public/Plugin_setup_guide.mp4 +0 -0
  255. package/Public/icon.png +0 -0
  256. package/claude_desktop_config_example.json +0 -15
  257. package/dist/types/responses.d.ts +0 -249
  258. package/dist/types/responses.js +0 -2
  259. package/docs/GraphQL-API.md +0 -888
  260. package/docs/Migration-Guide-v0.5.0.md +0 -684
  261. package/docs/Roadmap.md +0 -53
  262. package/docs/WebAssembly-Integration.md +0 -628
  263. package/docs/editor-plugin-extension.md +0 -370
  264. package/docs/handler-mapping.md +0 -249
  265. package/docs/native-automation-progress.md +0 -128
  266. package/docs/testing-guide.md +0 -423
  267. package/eslint.config.mjs +0 -68
  268. package/mcp-config-example.json +0 -14
  269. package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +0 -8
  270. package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +0 -64
  271. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +0 -189
  272. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +0 -22
  273. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +0 -30
  274. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +0 -1983
  275. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +0 -72
  276. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +0 -46
  277. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +0 -846
  278. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +0 -2393
  279. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +0 -300
  280. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +0 -2807
  281. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +0 -1087
  282. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +0 -488
  283. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +0 -643
  284. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +0 -31
  285. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +0 -1094
  286. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +0 -5750
  287. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +0 -152
  288. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +0 -2614
  289. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +0 -42
  290. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +0 -1237
  291. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +0 -1725
  292. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +0 -2265
  293. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +0 -954
  294. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +0 -209
  295. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +0 -41
  296. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +0 -1164
  297. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +0 -762
  298. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +0 -663
  299. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +0 -136
  300. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +0 -494
  301. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +0 -278
  302. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +0 -625
  303. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +0 -401
  304. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +0 -67
  305. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +0 -472
  306. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +0 -2634
  307. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +0 -189
  308. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +0 -917
  309. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +0 -39
  310. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +0 -2706
  311. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +0 -519
  312. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +0 -38
  313. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +0 -668
  314. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +0 -346
  315. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +0 -1345
  316. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +0 -149
  317. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +0 -782
  318. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +0 -115
  319. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +0 -796
  320. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +0 -117
  321. package/scripts/check-unreal-connection.mjs +0 -19
  322. package/scripts/clean-tmp.js +0 -23
  323. package/scripts/patch-wasm.js +0 -26
  324. package/scripts/run-all-tests.mjs +0 -136
  325. package/scripts/smoke-test.ts +0 -94
  326. package/scripts/sync-mcp-plugin.js +0 -143
  327. package/scripts/test-no-plugin-alternates.mjs +0 -113
  328. package/scripts/validate-server.js +0 -46
  329. package/scripts/verify-automation-bridge.js +0 -200
  330. package/src/automation/bridge.ts +0 -630
  331. package/src/automation/connection-manager.ts +0 -148
  332. package/src/automation/handshake.ts +0 -99
  333. package/src/automation/index.ts +0 -2
  334. package/src/automation/message-handler.ts +0 -192
  335. package/src/automation/request-tracker.ts +0 -155
  336. package/src/automation/types.ts +0 -108
  337. package/src/cli.ts +0 -34
  338. package/src/config/class-aliases.ts +0 -65
  339. package/src/config.ts +0 -73
  340. package/src/constants.ts +0 -29
  341. package/src/graphql/loaders.ts +0 -244
  342. package/src/graphql/resolvers.ts +0 -1008
  343. package/src/graphql/schema.ts +0 -452
  344. package/src/graphql/server.ts +0 -156
  345. package/src/graphql/types.ts +0 -10
  346. package/src/handlers/resource-handlers.ts +0 -186
  347. package/src/index.ts +0 -243
  348. package/src/resources/actors.ts +0 -127
  349. package/src/resources/assets.ts +0 -286
  350. package/src/resources/levels.ts +0 -68
  351. package/src/server/resource-registry.ts +0 -47
  352. package/src/server/tool-registry.ts +0 -354
  353. package/src/server-setup.ts +0 -114
  354. package/src/services/health-monitor.ts +0 -132
  355. package/src/services/metrics-server.ts +0 -176
  356. package/src/tools/actors.ts +0 -564
  357. package/src/tools/animation.ts +0 -941
  358. package/src/tools/assets.ts +0 -394
  359. package/src/tools/audio.ts +0 -499
  360. package/src/tools/base-tool.ts +0 -52
  361. package/src/tools/behavior-tree.ts +0 -45
  362. package/src/tools/blueprint.ts +0 -940
  363. package/src/tools/consolidated-tool-definitions.ts +0 -1256
  364. package/src/tools/consolidated-tool-handlers.ts +0 -302
  365. package/src/tools/debug.ts +0 -622
  366. package/src/tools/dynamic-handler-registry.ts +0 -33
  367. package/src/tools/editor.ts +0 -435
  368. package/src/tools/engine.ts +0 -43
  369. package/src/tools/environment.ts +0 -281
  370. package/src/tools/foliage.ts +0 -596
  371. package/src/tools/handlers/actor-handlers.ts +0 -244
  372. package/src/tools/handlers/animation-handlers.ts +0 -237
  373. package/src/tools/handlers/argument-helper.ts +0 -142
  374. package/src/tools/handlers/asset-handlers.ts +0 -550
  375. package/src/tools/handlers/audio-handlers.ts +0 -194
  376. package/src/tools/handlers/blueprint-handlers.ts +0 -380
  377. package/src/tools/handlers/common-handlers.ts +0 -108
  378. package/src/tools/handlers/editor-handlers.ts +0 -124
  379. package/src/tools/handlers/effect-handlers.ts +0 -224
  380. package/src/tools/handlers/environment-handlers.ts +0 -183
  381. package/src/tools/handlers/graph-handlers.ts +0 -117
  382. package/src/tools/handlers/input-handlers.ts +0 -28
  383. package/src/tools/handlers/inspect-handlers.ts +0 -450
  384. package/src/tools/handlers/level-handlers.ts +0 -253
  385. package/src/tools/handlers/lighting-handlers.ts +0 -151
  386. package/src/tools/handlers/performance-handlers.ts +0 -132
  387. package/src/tools/handlers/pipeline-handlers.ts +0 -194
  388. package/src/tools/handlers/sequence-handlers.ts +0 -438
  389. package/src/tools/handlers/system-handlers.ts +0 -564
  390. package/src/tools/input.ts +0 -160
  391. package/src/tools/introspection.ts +0 -689
  392. package/src/tools/landscape.ts +0 -649
  393. package/src/tools/level.ts +0 -989
  394. package/src/tools/lighting.ts +0 -1052
  395. package/src/tools/logs.ts +0 -219
  396. package/src/tools/materials.ts +0 -295
  397. package/src/tools/niagara.ts +0 -485
  398. package/src/tools/performance.ts +0 -661
  399. package/src/tools/physics.ts +0 -679
  400. package/src/tools/property-dictionary.ts +0 -98
  401. package/src/tools/sequence.ts +0 -385
  402. package/src/tools/tool-definition-utils.ts +0 -35
  403. package/src/tools/ui.ts +0 -452
  404. package/src/types/automation-responses.ts +0 -119
  405. package/src/types/env.ts +0 -17
  406. package/src/types/handler-types.ts +0 -442
  407. package/src/types/responses.ts +0 -355
  408. package/src/types/tool-interfaces.ts +0 -250
  409. package/src/types/tool-types.ts +0 -575
  410. package/src/unreal-bridge.ts +0 -693
  411. package/src/utils/command-validator.ts +0 -139
  412. package/src/utils/elicitation.ts +0 -132
  413. package/src/utils/error-handler.ts +0 -287
  414. package/src/utils/ini-reader.ts +0 -86
  415. package/src/utils/logger.ts +0 -35
  416. package/src/utils/normalize.test.ts +0 -162
  417. package/src/utils/normalize.ts +0 -146
  418. package/src/utils/path-security.ts +0 -43
  419. package/src/utils/response-factory.ts +0 -44
  420. package/src/utils/response-validator.ts +0 -395
  421. package/src/utils/result-helpers.ts +0 -195
  422. package/src/utils/safe-json.test.ts +0 -90
  423. package/src/utils/safe-json.ts +0 -70
  424. package/src/utils/unreal-command-queue.ts +0 -166
  425. package/src/utils/validation.test.ts +0 -184
  426. package/src/utils/validation.ts +0 -312
  427. package/src/wasm/index.ts +0 -838
  428. package/test-server.mjs +0 -100
  429. package/tests/test-animation.mjs +0 -369
  430. package/tests/test-asset-advanced.mjs +0 -82
  431. package/tests/test-asset-graph.mjs +0 -311
  432. package/tests/test-audio.mjs +0 -417
  433. package/tests/test-automation-timeouts.mjs +0 -98
  434. package/tests/test-behavior-tree.mjs +0 -444
  435. package/tests/test-blueprint-graph.mjs +0 -410
  436. package/tests/test-blueprint.mjs +0 -577
  437. package/tests/test-client-mode.mjs +0 -86
  438. package/tests/test-console-command.mjs +0 -56
  439. package/tests/test-control-actor.mjs +0 -425
  440. package/tests/test-control-editor.mjs +0 -112
  441. package/tests/test-graphql.mjs +0 -372
  442. package/tests/test-input.mjs +0 -349
  443. package/tests/test-inspect.mjs +0 -302
  444. package/tests/test-landscape.mjs +0 -316
  445. package/tests/test-lighting.mjs +0 -428
  446. package/tests/test-manage-asset.mjs +0 -438
  447. package/tests/test-manage-level.mjs +0 -89
  448. package/tests/test-materials.mjs +0 -356
  449. package/tests/test-niagara.mjs +0 -185
  450. package/tests/test-no-inline-python.mjs +0 -122
  451. package/tests/test-performance.mjs +0 -539
  452. package/tests/test-plugin-handshake.mjs +0 -82
  453. package/tests/test-runner.mjs +0 -993
  454. package/tests/test-sequence.mjs +0 -104
  455. package/tests/test-system.mjs +0 -96
  456. package/tests/test-wasm.mjs +0 -283
  457. package/tests/test-world-partition.mjs +0 -215
  458. package/tsconfig.json +0 -56
  459. package/vitest.config.ts +0 -35
  460. package/wasm/Cargo.lock +0 -363
  461. package/wasm/Cargo.toml +0 -42
  462. package/wasm/LICENSE +0 -21
  463. package/wasm/README.md +0 -253
  464. package/wasm/src/dependency_resolver.rs +0 -377
  465. package/wasm/src/lib.rs +0 -153
  466. package/wasm/src/property_parser.rs +0 -271
  467. package/wasm/src/transform_math.rs +0 -396
  468. package/wasm/tests/integration.rs +0 -109
@@ -1,355 +0,0 @@
1
- /**
2
- * Base Response Types for Unreal Engine MCP Server
3
- *
4
- * These interfaces provide type safety for tool responses.
5
- * Use with BaseTool.sendRequest<T>() for typed responses.
6
- */
7
-
8
- // ============================================================================
9
- // Base Types
10
- // ============================================================================
11
-
12
- export interface BaseResponse {
13
- success: boolean;
14
- message?: string;
15
- error?: string;
16
- /** Optional error code for programmatic handling */
17
- errorCode?: string;
18
- }
19
-
20
- export interface Vector3 {
21
- x: number;
22
- y: number;
23
- z: number;
24
- }
25
-
26
- export interface Rotator {
27
- pitch: number;
28
- yaw: number;
29
- roll: number;
30
- }
31
-
32
- export interface Transform {
33
- location?: Vector3;
34
- rotation?: Rotator;
35
- scale?: Vector3;
36
- }
37
-
38
- // ============================================================================
39
- // Actor Responses
40
- // ============================================================================
41
-
42
- export interface SpawnActorResponse extends BaseResponse {
43
- actorName?: string;
44
- actorPath?: string;
45
- /** Class path of the spawned actor */
46
- classPath?: string;
47
- }
48
-
49
- export interface DeleteActorResponse extends BaseResponse {
50
- deletedCount?: number;
51
- deletedActors?: string[];
52
- }
53
-
54
- export interface GetTransformResponse extends BaseResponse {
55
- location?: Vector3;
56
- rotation?: Rotator;
57
- scale?: Vector3;
58
- }
59
-
60
- export interface SetTransformResponse extends BaseResponse {
61
- actorName?: string;
62
- }
63
-
64
- export interface FindActorsResponse extends BaseResponse {
65
- actors?: Array<{
66
- name: string;
67
- label?: string;
68
- class?: string;
69
- path?: string;
70
- }>;
71
- count?: number;
72
- }
73
-
74
- export interface GetComponentsResponse extends BaseResponse {
75
- components?: Array<{
76
- name: string;
77
- type: string;
78
- properties?: Record<string, unknown>;
79
- }>;
80
- }
81
-
82
- export interface ApplyForceResponse extends BaseResponse {
83
- actorName?: string;
84
- forceApplied?: Vector3;
85
- }
86
-
87
- // ============================================================================
88
- // Asset Responses
89
- // ============================================================================
90
-
91
- export interface AssetInfo {
92
- name: string;
93
- path: string;
94
- class?: string;
95
- packagePath?: string;
96
- size?: number;
97
- }
98
-
99
- export interface ListAssetsResponse extends BaseResponse {
100
- assets?: AssetInfo[];
101
- count?: number;
102
- directory?: string;
103
- }
104
-
105
- export interface CreateAssetResponse extends BaseResponse {
106
- assetPath?: string;
107
- assetName?: string;
108
- }
109
-
110
- export interface DeleteAssetResponse extends BaseResponse {
111
- deletedPath?: string;
112
- deletedCount?: number;
113
- }
114
-
115
- export interface GetDependenciesResponse extends BaseResponse {
116
- dependencies?: string[];
117
- referencers?: string[];
118
- count?: number;
119
- }
120
-
121
- export interface AssetExistsResponse extends BaseResponse {
122
- exists?: boolean;
123
- assetPath?: string;
124
- }
125
-
126
- // ============================================================================
127
- // Blueprint Responses
128
- // ============================================================================
129
-
130
- export interface CreateBlueprintResponse extends BaseResponse {
131
- blueprintPath?: string;
132
- blueprintName?: string;
133
- parentClass?: string;
134
- }
135
-
136
- export interface GetBlueprintResponse extends BaseResponse {
137
- path?: string;
138
- name?: string;
139
- parentClass?: string;
140
- variables?: Array<{
141
- name: string;
142
- type: string;
143
- defaultValue?: unknown;
144
- }>;
145
- functions?: Array<{
146
- name: string;
147
- parameters?: Array<{ name: string; type: string }>;
148
- returnType?: string;
149
- }>;
150
- components?: Array<{
151
- name: string;
152
- type: string;
153
- properties?: Record<string, unknown>;
154
- }>;
155
- }
156
-
157
- export interface AddVariableResponse extends BaseResponse {
158
- variableName?: string;
159
- variableType?: string;
160
- }
161
-
162
- export interface CreateNodeResponse extends BaseResponse {
163
- nodeId?: string;
164
- nodeName?: string;
165
- }
166
-
167
- export interface ConnectPinsResponse extends BaseResponse {
168
- connected?: boolean;
169
- fromNode?: string;
170
- toNode?: string;
171
- }
172
-
173
- // ============================================================================
174
- // Level Responses
175
- // ============================================================================
176
-
177
- export interface LoadLevelResponse extends BaseResponse {
178
- levelPath?: string;
179
- levelName?: string;
180
- }
181
-
182
- export interface SaveLevelResponse extends BaseResponse {
183
- savedPath?: string;
184
- }
185
-
186
- export interface ListLevelsResponse extends BaseResponse {
187
- levels?: Array<{
188
- name: string;
189
- path: string;
190
- isLoaded?: boolean;
191
- isVisible?: boolean;
192
- }>;
193
- }
194
-
195
- export interface BuildLightingResponse extends BaseResponse {
196
- quality?: string;
197
- buildTime?: number;
198
- }
199
-
200
- // ============================================================================
201
- // Editor Responses
202
- // ============================================================================
203
-
204
- export interface PlayInEditorResponse extends BaseResponse {
205
- isPlaying?: boolean;
206
- isPaused?: boolean;
207
- }
208
-
209
- export interface SetCameraResponse extends BaseResponse {
210
- location?: Vector3;
211
- rotation?: Rotator;
212
- fov?: number;
213
- }
214
-
215
- export interface ScreenshotResponse extends BaseResponse {
216
- filePath?: string;
217
- width?: number;
218
- height?: number;
219
- }
220
-
221
- export interface ViewModeResponse extends BaseResponse {
222
- viewMode?: string;
223
- }
224
-
225
- // ============================================================================
226
- // Sequence Responses
227
- // ============================================================================
228
-
229
- export interface CreateSequenceResponse extends BaseResponse {
230
- sequencePath?: string;
231
- sequenceName?: string;
232
- }
233
-
234
- export interface AddActorToSequenceResponse extends BaseResponse {
235
- bindingId?: string;
236
- actorName?: string;
237
- }
238
-
239
- export interface AddKeyframeResponse extends BaseResponse {
240
- frameNumber?: number;
241
- property?: string;
242
- value?: unknown;
243
- }
244
-
245
- // ============================================================================
246
- // Audio Responses
247
- // ============================================================================
248
-
249
- export interface PlaySoundResponse extends BaseResponse {
250
- soundPath?: string;
251
- audioComponentId?: string;
252
- }
253
-
254
- export interface CreateSoundCueResponse extends BaseResponse {
255
- cuePath?: string;
256
- cueName?: string;
257
- }
258
-
259
- // ============================================================================
260
- // Effect Responses
261
- // ============================================================================
262
-
263
- export interface SpawnEffectResponse extends BaseResponse {
264
- effectName?: string;
265
- effectPath?: string;
266
- location?: Vector3;
267
- }
268
-
269
- export interface CreateNiagaraSystemResponse extends BaseResponse {
270
- systemPath?: string;
271
- systemName?: string;
272
- }
273
-
274
- // ============================================================================
275
- // Lighting Responses
276
- // ============================================================================
277
-
278
- export interface SpawnLightResponse extends BaseResponse {
279
- lightName?: string;
280
- lightType?: string;
281
- location?: Vector3;
282
- }
283
-
284
- export interface SetupGIResponse extends BaseResponse {
285
- method?: string;
286
- bounces?: number;
287
- }
288
-
289
- // ============================================================================
290
- // Animation Responses
291
- // ============================================================================
292
-
293
- export interface CreateAnimBlueprintResponse extends BaseResponse {
294
- blueprintPath?: string;
295
- skeletonPath?: string;
296
- }
297
-
298
- export interface PlayMontageResponse extends BaseResponse {
299
- montagePath?: string;
300
- playRate?: number;
301
- }
302
-
303
- // ============================================================================
304
- // System Responses
305
- // ============================================================================
306
-
307
- export interface ConsoleCommandResponse extends BaseResponse {
308
- command?: string;
309
- output?: string;
310
- }
311
-
312
- export interface ProfileResponse extends BaseResponse {
313
- profileType?: string;
314
- enabled?: boolean;
315
- }
316
-
317
- export interface SetCVarResponse extends BaseResponse {
318
- cvarName?: string;
319
- value?: string;
320
- }
321
-
322
- // ============================================================================
323
- // Inspect Responses
324
- // ============================================================================
325
-
326
- export interface InspectObjectResponse extends BaseResponse {
327
- objectPath?: string;
328
- className?: string;
329
- properties?: Record<string, unknown>;
330
- }
331
-
332
- export interface GetPropertyResponse extends BaseResponse {
333
- propertyName?: string;
334
- value?: unknown;
335
- propertyType?: string;
336
- }
337
-
338
- export interface SetPropertyResponse extends BaseResponse {
339
- propertyName?: string;
340
- newValue?: unknown;
341
- }
342
-
343
- // ============================================================================
344
- // Environment Responses
345
- // ============================================================================
346
-
347
- export interface CreateLandscapeResponse extends BaseResponse {
348
- landscapeName?: string;
349
- componentCount?: { x: number; y: number };
350
- }
351
-
352
- export interface AddFoliageResponse extends BaseResponse {
353
- foliageType?: string;
354
- instanceCount?: number;
355
- }
@@ -1,250 +0,0 @@
1
- import { AutomationBridge } from '../automation/index.js';
2
-
3
- export interface IBaseTool {
4
- getAutomationBridge(): AutomationBridge;
5
- }
6
-
7
- export interface StandardActionResponse<T = any> {
8
- success: boolean;
9
- data?: T;
10
- warnings?: string[];
11
- error?: string | {
12
- code?: string;
13
- message: string;
14
- [key: string]: unknown;
15
- } | null;
16
- [key: string]: unknown; // Allow compatibility fields
17
- }
18
-
19
- export interface IActorTools {
20
- spawn(params: { classPath: string; location?: { x: number; y: number; z: number }; rotation?: { pitch: number; yaw: number; roll: number }; actorName?: string; meshPath?: string; timeoutMs?: number }): Promise<StandardActionResponse>;
21
- delete(params: { actorName?: string; actorNames?: string[] }): Promise<StandardActionResponse>;
22
- applyForce(params: { actorName: string; force: { x: number; y: number; z: number } }): Promise<StandardActionResponse>;
23
- spawnBlueprint(params: { blueprintPath: string; actorName?: string; location?: { x: number; y: number; z: number }; rotation?: { pitch: number; yaw: number; roll: number } }): Promise<StandardActionResponse>;
24
- setTransform(params: { actorName: string; location?: { x: number; y: number; z: number }; rotation?: { pitch: number; yaw: number; roll: number }; scale?: { x: number; y: number; z: number } }): Promise<StandardActionResponse>;
25
- getTransform(actorName: string): Promise<StandardActionResponse>;
26
- setVisibility(params: { actorName: string; visible: boolean }): Promise<StandardActionResponse>;
27
- addComponent(params: { actorName: string; componentType: string; componentName?: string; properties?: Record<string, unknown> }): Promise<StandardActionResponse>;
28
- setComponentProperties(params: { actorName: string; componentName: string; properties: Record<string, unknown> }): Promise<StandardActionResponse>;
29
- getComponents(actorName: string): Promise<StandardActionResponse>;
30
- duplicate(params: { actorName: string; newName?: string; offset?: { x: number; y: number; z: number } }): Promise<StandardActionResponse>;
31
- addTag(params: { actorName: string; tag: string }): Promise<StandardActionResponse>;
32
- removeTag(params: { actorName: string; tag: string }): Promise<StandardActionResponse>;
33
- findByTag(params: { tag: string; matchType?: string }): Promise<StandardActionResponse>;
34
- findByName(name: string): Promise<StandardActionResponse>;
35
- detach(actorName: string): Promise<StandardActionResponse>;
36
- attach(params: { childActor: string; parentActor: string }): Promise<StandardActionResponse>;
37
- deleteByTag(tag: string): Promise<StandardActionResponse>;
38
- setBlueprintVariables(params: { actorName: string; variables: Record<string, unknown> }): Promise<StandardActionResponse>;
39
- createSnapshot(params: { actorName: string; snapshotName: string }): Promise<StandardActionResponse>;
40
- restoreSnapshot(params: { actorName: string; snapshotName: string }): Promise<StandardActionResponse>;
41
- listActors(params?: { filter?: string }): Promise<StandardActionResponse>;
42
- getMetadata(actorName: string): Promise<StandardActionResponse>;
43
- exportActor(params: { actorName: string; destinationPath?: string }): Promise<StandardActionResponse>;
44
- getBoundingBox(actorName: string): Promise<StandardActionResponse>;
45
- }
46
-
47
- export interface SourceControlState {
48
- isCheckedOut: boolean;
49
- isAdded: boolean;
50
- isDeleted: boolean;
51
- isModified: boolean;
52
- whoCheckedOut?: string;
53
- }
54
-
55
- export interface IAssetTools {
56
- importAsset(params: { sourcePath: string; destinationPath: string; overwrite?: boolean; save?: boolean }): Promise<StandardActionResponse>;
57
- createFolder(path: string): Promise<StandardActionResponse>;
58
- duplicateAsset(params: { sourcePath: string; destinationPath: string; overwrite?: boolean }): Promise<StandardActionResponse>;
59
- renameAsset(params: { sourcePath: string; destinationPath: string }): Promise<StandardActionResponse>;
60
- moveAsset(params: { sourcePath: string; destinationPath: string }): Promise<StandardActionResponse>;
61
- deleteAssets(params: { paths: string[]; fixupRedirectors?: boolean; timeoutMs?: number }): Promise<StandardActionResponse>;
62
- searchAssets(params: { classNames?: string[]; packagePaths?: string[]; recursivePaths?: boolean; recursiveClasses?: boolean; limit?: number }): Promise<StandardActionResponse>;
63
- saveAsset(assetPath: string): Promise<StandardActionResponse>;
64
- findByTag(params: { tag: string; value?: string }): Promise<StandardActionResponse>;
65
- getDependencies(params: { assetPath: string; recursive?: boolean }): Promise<StandardActionResponse>;
66
- getMetadata(params: { assetPath: string }): Promise<StandardActionResponse>;
67
- getSourceControlState(params: { assetPath: string }): Promise<SourceControlState | StandardActionResponse>;
68
- analyzeGraph(params: { assetPath: string; maxDepth?: number }): Promise<StandardActionResponse>;
69
- createThumbnail(params: { assetPath: string; width?: number; height?: number }): Promise<StandardActionResponse>;
70
- setTags(params: { assetPath: string; tags: string[] }): Promise<StandardActionResponse>;
71
- generateReport(params: { directory: string; reportType?: string; outputPath?: string }): Promise<StandardActionResponse>;
72
- validate(params: { assetPath: string }): Promise<StandardActionResponse>;
73
- generateLODs(params: { assetPath: string; lodCount: number; reductionSettings?: Record<string, unknown> }): Promise<StandardActionResponse>;
74
- }
75
-
76
- export interface ISequenceTools {
77
- create(params: { name: string; path?: string; timeoutMs?: number }): Promise<StandardActionResponse>;
78
- open(params: { path: string }): Promise<StandardActionResponse>;
79
- addCamera(params: { spawnable?: boolean; path?: string }): Promise<StandardActionResponse>;
80
- addActor(params: { actorName: string; createBinding?: boolean; path?: string }): Promise<StandardActionResponse>;
81
- addActors(params: { actorNames: string[]; path?: string }): Promise<StandardActionResponse>;
82
- removeActors(params: { actorNames: string[]; path?: string }): Promise<StandardActionResponse>;
83
- getBindings(params: { path?: string }): Promise<StandardActionResponse>;
84
- addSpawnableFromClass(params: { className: string; path?: string }): Promise<StandardActionResponse>;
85
- play(params: { path?: string; startTime?: number; loopMode?: 'once' | 'loop' | 'pingpong' }): Promise<StandardActionResponse>;
86
- pause(params?: { path?: string }): Promise<StandardActionResponse>;
87
- stop(params?: { path?: string }): Promise<StandardActionResponse>;
88
- setSequenceProperties(params: { path?: string; frameRate?: number; lengthInFrames?: number; playbackStart?: number; playbackEnd?: number }): Promise<StandardActionResponse>;
89
- getSequenceProperties(params: { path?: string }): Promise<StandardActionResponse>;
90
- setPlaybackSpeed(params: { speed: number; path?: string }): Promise<StandardActionResponse>;
91
- list(params: { path?: string }): Promise<StandardActionResponse>;
92
- duplicate(params: { path: string; destinationPath: string }): Promise<StandardActionResponse>;
93
- rename(params: { path: string; newName: string }): Promise<StandardActionResponse>;
94
- deleteSequence(params: { path: string }): Promise<StandardActionResponse>;
95
- getMetadata(params: { path: string }): Promise<StandardActionResponse>;
96
- listTracks(params: { path: string }): Promise<StandardActionResponse>;
97
- setWorkRange(params: { path?: string; start: number; end: number }): Promise<StandardActionResponse>;
98
- }
99
-
100
- export interface IAssetResources {
101
- list(directory?: string, recursive?: boolean, limit?: number): Promise<any>;
102
- }
103
-
104
- export interface IBlueprintTools {
105
- createBlueprint(params: { name: string; blueprintType?: string; savePath?: string; parentClass?: string; properties?: Record<string, unknown>; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
106
- modifyConstructionScript(params: { blueprintPath: string; operations: any[]; compile?: boolean; save?: boolean; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
107
- addComponent(params: { blueprintName: string; componentType: string; componentName: string; attachTo?: string; transform?: Record<string, unknown>; properties?: Record<string, unknown>; compile?: boolean; save?: boolean; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
108
- waitForBlueprint(blueprintRef: string | string[], timeoutMs?: number): Promise<StandardActionResponse>;
109
- getBlueprint(params: { blueprintName: string; timeoutMs?: number }): Promise<StandardActionResponse>;
110
- getBlueprintInfo(params: { blueprintPath: string; timeoutMs?: number }): Promise<StandardActionResponse>;
111
- probeSubobjectDataHandle(opts?: { componentClass?: string }): Promise<StandardActionResponse>;
112
- setBlueprintDefault(params: { blueprintName: string; propertyName: string; value: unknown }): Promise<StandardActionResponse>;
113
- addVariable(params: { blueprintName: string; variableName: string; variableType: string; defaultValue?: any; category?: string; isReplicated?: boolean; isPublic?: boolean; variablePinType?: Record<string, unknown>; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
114
- removeVariable(params: { blueprintName: string; variableName: string; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
115
- renameVariable(params: { blueprintName: string; oldName: string; newName: string; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
116
- addEvent(params: { blueprintName: string; eventType: string; customEventName?: string; parameters?: Array<{ name: string; type: string }>; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
117
- removeEvent(params: { blueprintName: string; eventName: string; customEventName?: string; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
118
- addFunction(params: { blueprintName: string; functionName: string; inputs?: Array<{ name: string; type: string }>; outputs?: Array<{ name: string; type: string }>; isPublic?: boolean; category?: string; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
119
- setVariableMetadata(params: { blueprintName: string; variableName: string; metadata: Record<string, unknown>; timeoutMs?: number }): Promise<StandardActionResponse>;
120
- renameVariable(params: { blueprintName: string; oldName: string; newName: string; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
121
- addConstructionScript(params: { blueprintName: string; scriptName: string; timeoutMs?: number; waitForCompletion?: boolean; waitForCompletionTimeoutMs?: number }): Promise<StandardActionResponse>;
122
- compileBlueprint(params: { blueprintName: string; saveAfterCompile?: boolean }): Promise<StandardActionResponse>;
123
- getBlueprintSCS(params: { blueprintPath: string; timeoutMs?: number }): Promise<StandardActionResponse>;
124
- addSCSComponent(params: { blueprintPath: string; componentClass: string; componentName: string; parentComponent?: string; meshPath?: string; materialPath?: string; timeoutMs?: number }): Promise<StandardActionResponse>;
125
- removeSCSComponent(params: { blueprintPath: string; componentName: string; timeoutMs?: number }): Promise<StandardActionResponse>;
126
- reparentSCSComponent(params: { blueprintPath: string; componentName: string; newParent: string; timeoutMs?: number }): Promise<StandardActionResponse>;
127
- setSCSComponentTransform(params: { blueprintPath: string; componentName: string; location?: [number, number, number]; rotation?: [number, number, number]; scale?: [number, number, number]; timeoutMs?: number }): Promise<StandardActionResponse>;
128
- setSCSComponentProperty(params: { blueprintPath: string; componentName: string; propertyName: string; propertyValue: any; timeoutMs?: number }): Promise<StandardActionResponse>;
129
- addNode(params: { blueprintName: string; nodeType: string; graphName?: string; functionName?: string; variableName?: string; nodeName?: string; eventName?: string; memberClass?: string; posX?: number; posY?: number; timeoutMs?: number }): Promise<StandardActionResponse>;
130
- connectPins(params: { blueprintName: string; sourceNodeGuid: string; targetNodeGuid: string; sourcePinName?: string; targetPinName?: string; timeoutMs?: number }): Promise<StandardActionResponse>;
131
- }
132
-
133
- export interface ILevelTools {
134
- listLevels(): Promise<StandardActionResponse>;
135
- getLevelSummary(levelPath?: string): Promise<StandardActionResponse>;
136
- registerLight(levelPath: string | undefined, info: { name: string; type: string; details?: Record<string, unknown> }): void;
137
- exportLevel(params: { levelPath?: string; exportPath: string; note?: string; timeoutMs?: number }): Promise<StandardActionResponse>;
138
- importLevel(params: { packagePath: string; destinationPath?: string; streaming?: boolean; timeoutMs?: number }): Promise<StandardActionResponse>;
139
- saveLevelAs(params: { sourcePath?: string; targetPath: string }): Promise<StandardActionResponse>;
140
- deleteLevels(params: { levelPaths: string[] }): Promise<StandardActionResponse>;
141
- loadLevel(params: { levelPath: string; streaming?: boolean; position?: [number, number, number] }): Promise<StandardActionResponse>;
142
- saveLevel(params: { levelName?: string; savePath?: string }): Promise<StandardActionResponse>;
143
- createLevel(params: { levelName: string; template?: 'Empty' | 'Default' | 'VR' | 'TimeOfDay'; savePath?: string }): Promise<StandardActionResponse>;
144
- addSubLevel(params: { parentLevel?: string; subLevelPath: string; streamingMethod?: 'Blueprint' | 'AlwaysLoaded' }): Promise<StandardActionResponse>;
145
- streamLevel(params: { levelPath?: string; levelName?: string; shouldBeLoaded: boolean; shouldBeVisible?: boolean; position?: [number, number, number] }): Promise<StandardActionResponse>;
146
- setupWorldComposition(params: { enableComposition: boolean; tileSize?: number; distanceStreaming?: boolean; streamingDistance?: number }): Promise<StandardActionResponse>;
147
- editLevelBlueprint(params: { eventType: 'BeginPlay' | 'EndPlay' | 'Tick' | 'Custom'; customEventName?: string; nodes?: Array<{ nodeType: string; position: [number, number]; connections?: string[] }> }): Promise<StandardActionResponse>;
148
- createSubLevel(params: { name: string; type: 'Persistent' | 'Streaming' | 'Lighting' | 'Gameplay'; parent?: string }): Promise<StandardActionResponse>;
149
- setWorldSettings(params: { gravity?: number; worldScale?: number; gameMode?: string; defaultPawn?: string; killZ?: number }): Promise<StandardActionResponse>;
150
- setLevelBounds(params: { min: [number, number, number]; max: [number, number, number] }): Promise<StandardActionResponse>;
151
- buildNavMesh(params: { rebuildAll?: boolean; selectedOnly?: boolean }): Promise<StandardActionResponse>;
152
- setLevelVisibility(params: { levelName: string; visible: boolean }): Promise<StandardActionResponse>;
153
- setWorldOrigin(params: { location: [number, number, number] }): Promise<StandardActionResponse>;
154
- createStreamingVolume(params: { levelName: string; position: [number, number, number]; size: [number, number, number]; streamingDistance?: number }): Promise<StandardActionResponse>;
155
- setLevelLOD(params: { levelName: string; lodLevel: number; distance: number }): Promise<StandardActionResponse>;
156
- }
157
-
158
- export interface IEditorTools {
159
- isInPIE(): Promise<boolean>;
160
- ensureNotInPIE(): Promise<void>;
161
- playInEditor(timeoutMs?: number): Promise<StandardActionResponse>;
162
- stopPlayInEditor(): Promise<StandardActionResponse>;
163
- pausePlayInEditor(): Promise<StandardActionResponse>;
164
- pauseInEditor(): Promise<StandardActionResponse>;
165
- buildLighting(): Promise<StandardActionResponse>;
166
- setViewportCamera(location?: { x: number; y: number; z: number } | [number, number, number] | null | undefined, rotation?: { pitch: number; yaw: number; roll: number } | [number, number, number] | null | undefined): Promise<StandardActionResponse>;
167
- setCameraSpeed(speed: number): Promise<StandardActionResponse>;
168
- setFOV(fov: number): Promise<StandardActionResponse>;
169
- takeScreenshot(filename?: string, resolution?: string): Promise<StandardActionResponse>;
170
- resumePlayInEditor(): Promise<StandardActionResponse>;
171
- stepPIEFrame(steps?: number): Promise<StandardActionResponse>;
172
- startRecording(options?: { filename?: string; frameRate?: number; durationSeconds?: number; metadata?: Record<string, unknown> }): Promise<StandardActionResponse>;
173
- stopRecording(): Promise<StandardActionResponse>;
174
- createCameraBookmark(name: string): Promise<StandardActionResponse>;
175
- jumpToCameraBookmark(name: string): Promise<StandardActionResponse>;
176
- setEditorPreferences(category: string | undefined, preferences: Record<string, unknown>): Promise<StandardActionResponse>;
177
- setViewportResolution(width: number, height: number): Promise<StandardActionResponse>;
178
- executeConsoleCommand(command: string): Promise<StandardActionResponse>;
179
- }
180
-
181
- export interface IEnvironmentTools {
182
- setTimeOfDay(hour: unknown): Promise<StandardActionResponse>;
183
- setSunIntensity(intensity: unknown): Promise<StandardActionResponse>;
184
- setSkylightIntensity(intensity: unknown): Promise<StandardActionResponse>;
185
- exportSnapshot(params: { path?: unknown; filename?: unknown }): Promise<StandardActionResponse>;
186
- importSnapshot(params: { path?: unknown; filename?: unknown }): Promise<StandardActionResponse>;
187
- cleanup(params?: { names?: unknown }): Promise<StandardActionResponse>;
188
- }
189
-
190
- export interface ILandscapeTools {
191
- createLandscape(params: { name: string; location?: [number, number, number]; sizeX?: number; sizeY?: number; quadsPerSection?: number; sectionsPerComponent?: number; componentCount?: number; materialPath?: string; enableWorldPartition?: boolean; runtimeGrid?: string; isSpatiallyLoaded?: boolean; dataLayers?: string[] }): Promise<StandardActionResponse>;
192
- sculptLandscape(params: { landscapeName: string; tool: string; brushSize?: number; brushFalloff?: number; strength?: number; location?: [number, number, number]; radius?: number }): Promise<StandardActionResponse>;
193
- paintLandscape(params: { landscapeName: string; layerName: string; position: [number, number, number]; brushSize?: number; strength?: number; targetValue?: number; radius?: number; density?: number }): Promise<StandardActionResponse>;
194
- createProceduralTerrain(params: { name: string; location?: [number, number, number]; subdivisions?: number; heightFunction?: string; material?: string; settings?: Record<string, unknown> }): Promise<StandardActionResponse>;
195
- createLandscapeGrassType(params: { name: string; meshPath: string; density?: number; minScale?: number; maxScale?: number; path?: string; staticMesh?: string }): Promise<StandardActionResponse>;
196
- setLandscapeMaterial(params: { landscapeName: string; materialPath: string }): Promise<StandardActionResponse>;
197
- modifyHeightmap(params: { landscapeName: string; heightData: number[]; minX: number; minY: number; maxX: number; maxY: number; updateNormals?: boolean }): Promise<StandardActionResponse>;
198
- }
199
-
200
- export interface IFoliageTools {
201
- addFoliageType(params: { name: string; meshPath: string; density?: number; radius?: number; minScale?: number; maxScale?: number; alignToNormal?: boolean; randomYaw?: boolean; groundSlope?: number }): Promise<StandardActionResponse>;
202
- addFoliage(params: { foliageType: string; locations: Array<{ x: number; y: number; z: number }> }): Promise<StandardActionResponse>;
203
- paintFoliage(params: { foliageType: string; position: [number, number, number]; brushSize?: number; paintDensity?: number; eraseMode?: boolean }): Promise<StandardActionResponse>;
204
- createProceduralFoliage(params: { name: string; bounds?: { location: { x: number; y: number; z: number }; size: { x: number; y: number; z: number } }; foliageTypes?: Array<{ meshPath: string; density: number; minScale?: number; maxScale?: number; alignToNormal?: boolean; randomYaw?: boolean }>; volumeName?: string; position?: [number, number, number]; size?: [number, number, number]; seed?: number; tileSize?: number }): Promise<StandardActionResponse>;
205
- addFoliageInstances(params: { foliageType: string; transforms: Array<{ location: [number, number, number]; rotation?: [number, number, number]; scale?: [number, number, number] }> }): Promise<StandardActionResponse>;
206
- getFoliageInstances(params: { foliageType?: string }): Promise<StandardActionResponse>;
207
- removeFoliage(params: { foliageType?: string; removeAll?: boolean }): Promise<StandardActionResponse>;
208
- createInstancedMesh(params: { name: string; meshPath: string; instances: Array<{ position: [number, number, number]; rotation?: [number, number, number]; scale?: [number, number, number] }>; enableCulling?: boolean; cullDistance?: number }): Promise<StandardActionResponse>;
209
- setFoliageLOD(params: { foliageType: string; lodDistances?: number[]; screenSize?: number[] }): Promise<StandardActionResponse>;
210
- setFoliageCollision(params: { foliageType: string; collisionEnabled?: boolean; collisionProfile?: string; generateOverlapEvents?: boolean }): Promise<StandardActionResponse>;
211
- createGrassSystem(params: { name: string; grassTypes: Array<{ meshPath: string; density: number; minScale?: number; maxScale?: number }>; windStrength?: number; windSpeed?: number }): Promise<StandardActionResponse>;
212
- removeFoliageInstances(params: { foliageType: string; position: [number, number, number]; radius: number }): Promise<StandardActionResponse>;
213
- selectFoliageInstances(params: { foliageType: string; position?: [number, number, number]; radius?: number; selectAll?: boolean }): Promise<StandardActionResponse>;
214
- updateFoliageInstances(params: { foliageType: string; updateTransforms?: boolean; updateMesh?: boolean; newMeshPath?: string }): Promise<StandardActionResponse>;
215
- createFoliageSpawner(params: { name: string; spawnArea: 'Landscape' | 'StaticMesh' | 'BSP' | 'Foliage' | 'All'; excludeAreas?: Array<[number, number, number, number]> }): Promise<StandardActionResponse>;
216
- optimizeFoliage(params: { mergeInstances?: boolean; generateClusters?: boolean; clusterSize?: number; reduceDrawCalls?: boolean }): Promise<StandardActionResponse>;
217
- }
218
-
219
- export interface ITools {
220
- actorTools: IActorTools;
221
- assetTools: IAssetTools;
222
- blueprintTools: IBlueprintTools;
223
- editorTools: IEditorTools;
224
- levelTools: ILevelTools;
225
- sequenceTools: ISequenceTools;
226
- assetResources: IAssetResources;
227
- landscapeTools: ILandscapeTools;
228
- foliageTools: IFoliageTools;
229
- environmentTools: IEnvironmentTools;
230
-
231
- // Added newly required tools to remove 'any' casting
232
- materialTools: any;
233
- niagaraTools: any;
234
- animationTools: any;
235
- physicsTools: any;
236
- lightingTools: any;
237
- debugTools: any;
238
- performanceTools: any;
239
- audioTools: any;
240
- uiTools: any;
241
- introspectionTools: any;
242
- visualTools?: any; // Optional as it's being removed
243
- engineTools: any;
244
- systemTools: any;
245
- behaviorTreeTools: any;
246
- logTools: any;
247
-
248
- automationBridge?: AutomationBridge;
249
- [key: string]: any;
250
- }