unreal-engine-mcp-server 0.5.3 → 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 (480) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/automation/bridge.d.ts +1 -0
  3. package/dist/automation/bridge.d.ts.map +1 -0
  4. package/dist/automation/bridge.js +62 -4
  5. package/dist/automation/bridge.js.map +1 -0
  6. package/dist/automation/connection-manager.d.ts.map +1 -0
  7. package/dist/automation/connection-manager.js.map +1 -0
  8. package/dist/automation/handshake.d.ts.map +1 -0
  9. package/dist/automation/handshake.js.map +1 -0
  10. package/dist/automation/index.d.ts.map +1 -0
  11. package/dist/automation/index.js.map +1 -0
  12. package/dist/automation/message-handler.d.ts.map +1 -0
  13. package/dist/automation/message-handler.js.map +1 -0
  14. package/dist/automation/request-tracker.d.ts.map +1 -0
  15. package/dist/automation/request-tracker.js.map +1 -0
  16. package/dist/automation/types.d.ts +1 -0
  17. package/dist/automation/types.d.ts.map +1 -0
  18. package/dist/automation/types.js.map +1 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +4 -3
  21. package/dist/cli.js.map +1 -0
  22. package/dist/config/class-aliases.d.ts.map +1 -0
  23. package/dist/config/class-aliases.js.map +1 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/constants.d.ts +2 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +2 -0
  29. package/dist/constants.js.map +1 -0
  30. package/dist/graphql/loaders.d.ts.map +1 -0
  31. package/dist/graphql/loaders.js.map +1 -0
  32. package/dist/graphql/resolvers.d.ts.map +1 -0
  33. package/dist/graphql/resolvers.js +29 -29
  34. package/dist/graphql/resolvers.js.map +1 -0
  35. package/dist/graphql/schema.d.ts.map +1 -0
  36. package/dist/graphql/schema.js.map +1 -0
  37. package/dist/graphql/server.d.ts +0 -1
  38. package/dist/graphql/server.d.ts.map +1 -0
  39. package/dist/graphql/server.js +15 -16
  40. package/dist/graphql/server.js.map +1 -0
  41. package/dist/graphql/types.d.ts.map +1 -0
  42. package/dist/graphql/types.js.map +1 -0
  43. package/dist/handlers/resource-handlers.d.ts.map +1 -0
  44. package/dist/handlers/resource-handlers.js.map +1 -0
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +64 -7
  48. package/dist/index.js.map +1 -0
  49. package/dist/resources/actors.d.ts.map +1 -0
  50. package/dist/resources/actors.js.map +1 -0
  51. package/dist/resources/assets.d.ts.map +1 -0
  52. package/dist/resources/assets.js +6 -4
  53. package/dist/resources/assets.js.map +1 -0
  54. package/dist/resources/levels.d.ts.map +1 -0
  55. package/dist/resources/levels.js.map +1 -0
  56. package/dist/server/resource-registry.d.ts.map +1 -0
  57. package/dist/server/resource-registry.js.map +1 -0
  58. package/dist/server/tool-registry.d.ts.map +1 -0
  59. package/dist/server/tool-registry.js.map +1 -0
  60. package/dist/server-setup.d.ts.map +1 -0
  61. package/dist/server-setup.js.map +1 -0
  62. package/dist/services/health-monitor.d.ts.map +1 -0
  63. package/dist/services/health-monitor.js.map +1 -0
  64. package/dist/services/metrics-server.d.ts.map +1 -0
  65. package/dist/services/metrics-server.js +3 -3
  66. package/dist/services/metrics-server.js.map +1 -0
  67. package/dist/tools/actors.d.ts.map +1 -0
  68. package/dist/tools/actors.js +3 -1
  69. package/dist/tools/actors.js.map +1 -0
  70. package/dist/tools/animation.d.ts.map +1 -0
  71. package/dist/tools/animation.js +2 -2
  72. package/dist/tools/animation.js.map +1 -0
  73. package/dist/tools/assets.d.ts.map +1 -0
  74. package/dist/tools/assets.js.map +1 -0
  75. package/dist/tools/audio.d.ts.map +1 -0
  76. package/dist/tools/audio.js.map +1 -0
  77. package/dist/tools/base-tool.d.ts.map +1 -0
  78. package/dist/tools/base-tool.js.map +1 -0
  79. package/dist/tools/behavior-tree.d.ts.map +1 -0
  80. package/dist/tools/behavior-tree.js.map +1 -0
  81. package/dist/tools/blueprint.d.ts.map +1 -0
  82. package/dist/tools/blueprint.js +4 -2
  83. package/dist/tools/blueprint.js.map +1 -0
  84. package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -0
  85. package/dist/tools/consolidated-tool-definitions.js.map +1 -0
  86. package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -0
  87. package/dist/tools/consolidated-tool-handlers.js.map +1 -0
  88. package/dist/tools/debug.d.ts.map +1 -0
  89. package/dist/tools/debug.js +3 -1
  90. package/dist/tools/debug.js.map +1 -0
  91. package/dist/tools/dynamic-handler-registry.d.ts.map +1 -0
  92. package/dist/tools/dynamic-handler-registry.js +3 -1
  93. package/dist/tools/dynamic-handler-registry.js.map +1 -0
  94. package/dist/tools/editor.d.ts.map +1 -0
  95. package/dist/tools/editor.js +1 -1
  96. package/dist/tools/editor.js.map +1 -0
  97. package/dist/tools/engine.d.ts.map +1 -0
  98. package/dist/tools/engine.js.map +1 -0
  99. package/dist/tools/environment.d.ts.map +1 -0
  100. package/dist/tools/environment.js +2 -2
  101. package/dist/tools/environment.js.map +1 -0
  102. package/dist/tools/foliage.d.ts.map +1 -0
  103. package/dist/tools/foliage.js.map +1 -0
  104. package/dist/tools/handlers/actor-handlers.d.ts +1 -1
  105. package/dist/tools/handlers/actor-handlers.d.ts.map +1 -0
  106. package/dist/tools/handlers/actor-handlers.js +6 -5
  107. package/dist/tools/handlers/actor-handlers.js.map +1 -0
  108. package/dist/tools/handlers/animation-handlers.d.ts.map +1 -0
  109. package/dist/tools/handlers/animation-handlers.js.map +1 -0
  110. package/dist/tools/handlers/argument-helper.d.ts.map +1 -0
  111. package/dist/tools/handlers/argument-helper.js.map +1 -0
  112. package/dist/tools/handlers/asset-handlers.d.ts.map +1 -0
  113. package/dist/tools/handlers/asset-handlers.js +5 -1
  114. package/dist/tools/handlers/asset-handlers.js.map +1 -0
  115. package/dist/tools/handlers/audio-handlers.d.ts.map +1 -0
  116. package/dist/tools/handlers/audio-handlers.js.map +1 -0
  117. package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -0
  118. package/dist/tools/handlers/blueprint-handlers.js +2 -1
  119. package/dist/tools/handlers/blueprint-handlers.js.map +1 -0
  120. package/dist/tools/handlers/common-handlers.d.ts.map +1 -0
  121. package/dist/tools/handlers/common-handlers.js.map +1 -0
  122. package/dist/tools/handlers/editor-handlers.d.ts.map +1 -0
  123. package/dist/tools/handlers/editor-handlers.js +12 -2
  124. package/dist/tools/handlers/editor-handlers.js.map +1 -0
  125. package/dist/tools/handlers/effect-handlers.d.ts.map +1 -0
  126. package/dist/tools/handlers/effect-handlers.js.map +1 -0
  127. package/dist/tools/handlers/environment-handlers.d.ts.map +1 -0
  128. package/dist/tools/handlers/environment-handlers.js.map +1 -0
  129. package/dist/tools/handlers/graph-handlers.d.ts.map +1 -0
  130. package/dist/tools/handlers/graph-handlers.js +61 -1
  131. package/dist/tools/handlers/graph-handlers.js.map +1 -0
  132. package/dist/tools/handlers/input-handlers.d.ts.map +1 -0
  133. package/dist/tools/handlers/input-handlers.js.map +1 -0
  134. package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -0
  135. package/dist/tools/handlers/inspect-handlers.js.map +1 -0
  136. package/dist/tools/handlers/level-handlers.d.ts.map +1 -0
  137. package/dist/tools/handlers/level-handlers.js.map +1 -0
  138. package/dist/tools/handlers/lighting-handlers.d.ts.map +1 -0
  139. package/dist/tools/handlers/lighting-handlers.js +23 -1
  140. package/dist/tools/handlers/lighting-handlers.js.map +1 -0
  141. package/dist/tools/handlers/performance-handlers.d.ts.map +1 -0
  142. package/dist/tools/handlers/performance-handlers.js +15 -2
  143. package/dist/tools/handlers/performance-handlers.js.map +1 -0
  144. package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -0
  145. package/dist/tools/handlers/pipeline-handlers.js +61 -7
  146. package/dist/tools/handlers/pipeline-handlers.js.map +1 -0
  147. package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -0
  148. package/dist/tools/handlers/sequence-handlers.js.map +1 -0
  149. package/dist/tools/handlers/system-handlers.d.ts.map +1 -0
  150. package/dist/tools/handlers/system-handlers.js +16 -1
  151. package/dist/tools/handlers/system-handlers.js.map +1 -0
  152. package/dist/tools/input.d.ts.map +1 -0
  153. package/dist/tools/input.js +3 -1
  154. package/dist/tools/input.js.map +1 -0
  155. package/dist/tools/introspection.d.ts.map +1 -0
  156. package/dist/tools/introspection.js.map +1 -0
  157. package/dist/tools/landscape.d.ts.map +1 -0
  158. package/dist/tools/landscape.js +3 -1
  159. package/dist/tools/landscape.js.map +1 -0
  160. package/dist/tools/level.d.ts.map +1 -0
  161. package/dist/tools/level.js.map +1 -0
  162. package/dist/tools/lighting.d.ts.map +1 -0
  163. package/dist/tools/lighting.js +3 -1
  164. package/dist/tools/lighting.js.map +1 -0
  165. package/dist/tools/logs.d.ts.map +1 -0
  166. package/dist/tools/logs.js.map +1 -0
  167. package/dist/tools/materials.d.ts.map +1 -0
  168. package/dist/tools/materials.js +3 -1
  169. package/dist/tools/materials.js.map +1 -0
  170. package/dist/tools/niagara.d.ts.map +1 -0
  171. package/dist/tools/niagara.js +7 -5
  172. package/dist/tools/niagara.js.map +1 -0
  173. package/dist/tools/performance.d.ts.map +1 -0
  174. package/dist/tools/performance.js.map +1 -0
  175. package/dist/tools/physics.d.ts.map +1 -0
  176. package/dist/tools/physics.js +9 -7
  177. package/dist/tools/physics.js.map +1 -0
  178. package/dist/tools/property-dictionary.d.ts.map +1 -0
  179. package/dist/tools/property-dictionary.js.map +1 -0
  180. package/dist/tools/sequence.d.ts.map +1 -0
  181. package/dist/tools/sequence.js +3 -1
  182. package/dist/tools/sequence.js.map +1 -0
  183. package/dist/tools/tool-definition-utils.d.ts.map +1 -0
  184. package/dist/tools/tool-definition-utils.js.map +1 -0
  185. package/dist/tools/ui.d.ts.map +1 -0
  186. package/dist/tools/ui.js +3 -1
  187. package/dist/tools/ui.js.map +1 -0
  188. package/dist/types/automation-responses.d.ts.map +1 -0
  189. package/dist/types/automation-responses.js.map +1 -0
  190. package/dist/types/env.d.ts.map +1 -0
  191. package/dist/types/env.js.map +1 -0
  192. package/dist/types/handler-types.d.ts.map +1 -0
  193. package/dist/types/handler-types.js.map +1 -0
  194. package/dist/types/tool-interfaces.d.ts.map +1 -0
  195. package/dist/types/tool-interfaces.js.map +1 -0
  196. package/dist/types/tool-types.d.ts.map +1 -0
  197. package/dist/types/tool-types.js.map +1 -0
  198. package/dist/unreal-bridge.d.ts +1 -0
  199. package/dist/unreal-bridge.d.ts.map +1 -0
  200. package/dist/unreal-bridge.js +8 -0
  201. package/dist/unreal-bridge.js.map +1 -0
  202. package/dist/utils/command-validator.d.ts.map +1 -0
  203. package/dist/utils/command-validator.js.map +1 -0
  204. package/dist/utils/elicitation.d.ts.map +1 -0
  205. package/dist/utils/elicitation.js.map +1 -0
  206. package/dist/utils/error-handler.d.ts.map +1 -0
  207. package/dist/utils/error-handler.js.map +1 -0
  208. package/dist/utils/ini-reader.d.ts.map +1 -0
  209. package/dist/utils/ini-reader.js.map +1 -0
  210. package/dist/utils/logger.d.ts.map +1 -0
  211. package/dist/utils/logger.js.map +1 -0
  212. package/dist/utils/normalize.d.ts.map +1 -0
  213. package/dist/utils/normalize.js.map +1 -0
  214. package/dist/utils/path-security.d.ts.map +1 -0
  215. package/dist/utils/path-security.js.map +1 -0
  216. package/dist/utils/response-factory.d.ts.map +1 -0
  217. package/dist/utils/response-factory.js +3 -1
  218. package/dist/utils/response-factory.js.map +1 -0
  219. package/dist/utils/response-validator.d.ts.map +1 -0
  220. package/dist/utils/response-validator.js.map +1 -0
  221. package/dist/utils/result-helpers.d.ts.map +1 -0
  222. package/dist/utils/result-helpers.js.map +1 -0
  223. package/dist/utils/safe-json.d.ts.map +1 -0
  224. package/dist/utils/safe-json.js.map +1 -0
  225. package/dist/utils/unreal-command-queue.d.ts.map +1 -0
  226. package/dist/utils/unreal-command-queue.js.map +1 -0
  227. package/dist/utils/validation.d.ts.map +1 -0
  228. package/dist/utils/validation.js.map +1 -0
  229. package/dist/wasm/index.d.ts.map +1 -0
  230. package/dist/wasm/index.js.map +1 -0
  231. package/package.json +12 -34
  232. package/server.json +2 -2
  233. package/.dockerignore +0 -57
  234. package/.env.example +0 -26
  235. package/.env.production +0 -61
  236. package/.eslintrc.json +0 -0
  237. package/.eslintrc.override.json +0 -8
  238. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -94
  239. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  240. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -56
  241. package/.github/copilot-instructions.md +0 -478
  242. package/.github/dependabot.yml +0 -19
  243. package/.github/labeler.yml +0 -24
  244. package/.github/labels.yml +0 -70
  245. package/.github/pull_request_template.md +0 -42
  246. package/.github/release-drafter-config.yml +0 -51
  247. package/.github/workflows/auto-merge.yml +0 -38
  248. package/.github/workflows/ci.yml +0 -38
  249. package/.github/workflows/dependency-review.yml +0 -17
  250. package/.github/workflows/gemini-issue-triage.yml +0 -172
  251. package/.github/workflows/greetings.yml +0 -27
  252. package/.github/workflows/labeler.yml +0 -17
  253. package/.github/workflows/links.yml +0 -80
  254. package/.github/workflows/pr-size-labeler.yml +0 -137
  255. package/.github/workflows/publish-mcp.yml +0 -79
  256. package/.github/workflows/release-drafter.yml +0 -24
  257. package/.github/workflows/release.yml +0 -112
  258. package/.github/workflows/semantic-pull-request.yml +0 -35
  259. package/.github/workflows/smoke-test.yml +0 -36
  260. package/.github/workflows/stale.yml +0 -28
  261. package/CONTRIBUTING.md +0 -140
  262. package/Dockerfile +0 -37
  263. package/GEMINI.md +0 -115
  264. package/Public/Plugin_setup_guide.mp4 +0 -0
  265. package/Public/icon.png +0 -0
  266. package/claude_desktop_config_example.json +0 -15
  267. package/dist/types/responses.d.ts +0 -249
  268. package/dist/types/responses.js +0 -2
  269. package/docs/GraphQL-API.md +0 -888
  270. package/docs/Migration-Guide-v0.5.0.md +0 -684
  271. package/docs/Roadmap.md +0 -53
  272. package/docs/WebAssembly-Integration.md +0 -628
  273. package/docs/editor-plugin-extension.md +0 -370
  274. package/docs/handler-mapping.md +0 -249
  275. package/docs/native-automation-progress.md +0 -128
  276. package/docs/testing-guide.md +0 -423
  277. package/eslint.config.mjs +0 -68
  278. package/mcp-config-example.json +0 -14
  279. package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +0 -8
  280. package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +0 -64
  281. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +0 -189
  282. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +0 -22
  283. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +0 -30
  284. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +0 -1983
  285. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +0 -72
  286. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +0 -46
  287. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +0 -846
  288. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +0 -2393
  289. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +0 -300
  290. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +0 -2807
  291. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +0 -1087
  292. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +0 -488
  293. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +0 -643
  294. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +0 -31
  295. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +0 -1094
  296. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +0 -5750
  297. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +0 -152
  298. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +0 -2614
  299. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +0 -42
  300. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +0 -1237
  301. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +0 -1725
  302. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +0 -2241
  303. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +0 -954
  304. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +0 -209
  305. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +0 -41
  306. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +0 -1164
  307. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +0 -762
  308. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +0 -663
  309. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +0 -136
  310. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +0 -494
  311. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +0 -278
  312. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +0 -625
  313. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +0 -401
  314. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +0 -67
  315. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +0 -472
  316. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +0 -2634
  317. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +0 -189
  318. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +0 -917
  319. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +0 -39
  320. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +0 -2706
  321. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +0 -519
  322. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +0 -38
  323. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +0 -668
  324. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +0 -346
  325. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +0 -1330
  326. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +0 -149
  327. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +0 -782
  328. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +0 -115
  329. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +0 -796
  330. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +0 -117
  331. package/scripts/check-unreal-connection.mjs +0 -19
  332. package/scripts/clean-tmp.js +0 -23
  333. package/scripts/patch-wasm.js +0 -26
  334. package/scripts/run-all-tests.mjs +0 -136
  335. package/scripts/smoke-test.ts +0 -94
  336. package/scripts/sync-mcp-plugin.js +0 -143
  337. package/scripts/test-no-plugin-alternates.mjs +0 -113
  338. package/scripts/validate-server.js +0 -46
  339. package/scripts/verify-automation-bridge.js +0 -200
  340. package/src/automation/bridge.ts +0 -560
  341. package/src/automation/connection-manager.ts +0 -148
  342. package/src/automation/handshake.ts +0 -99
  343. package/src/automation/index.ts +0 -2
  344. package/src/automation/message-handler.ts +0 -192
  345. package/src/automation/request-tracker.ts +0 -155
  346. package/src/automation/types.ts +0 -107
  347. package/src/cli.ts +0 -34
  348. package/src/config/class-aliases.ts +0 -65
  349. package/src/config.ts +0 -73
  350. package/src/constants.ts +0 -24
  351. package/src/graphql/loaders.ts +0 -244
  352. package/src/graphql/resolvers.ts +0 -1008
  353. package/src/graphql/schema.ts +0 -452
  354. package/src/graphql/server.ts +0 -156
  355. package/src/graphql/types.ts +0 -10
  356. package/src/handlers/resource-handlers.ts +0 -186
  357. package/src/index.ts +0 -243
  358. package/src/resources/actors.ts +0 -127
  359. package/src/resources/assets.ts +0 -286
  360. package/src/resources/levels.ts +0 -68
  361. package/src/server/resource-registry.ts +0 -47
  362. package/src/server/tool-registry.ts +0 -354
  363. package/src/server-setup.ts +0 -114
  364. package/src/services/health-monitor.ts +0 -132
  365. package/src/services/metrics-server.ts +0 -176
  366. package/src/tools/actors.ts +0 -564
  367. package/src/tools/animation.ts +0 -941
  368. package/src/tools/assets.ts +0 -394
  369. package/src/tools/audio.ts +0 -499
  370. package/src/tools/base-tool.ts +0 -52
  371. package/src/tools/behavior-tree.ts +0 -45
  372. package/src/tools/blueprint.ts +0 -940
  373. package/src/tools/consolidated-tool-definitions.ts +0 -1256
  374. package/src/tools/consolidated-tool-handlers.ts +0 -302
  375. package/src/tools/debug.ts +0 -622
  376. package/src/tools/dynamic-handler-registry.ts +0 -33
  377. package/src/tools/editor.ts +0 -435
  378. package/src/tools/engine.ts +0 -43
  379. package/src/tools/environment.ts +0 -281
  380. package/src/tools/foliage.ts +0 -596
  381. package/src/tools/handlers/actor-handlers.ts +0 -244
  382. package/src/tools/handlers/animation-handlers.ts +0 -237
  383. package/src/tools/handlers/argument-helper.ts +0 -142
  384. package/src/tools/handlers/asset-handlers.ts +0 -550
  385. package/src/tools/handlers/audio-handlers.ts +0 -194
  386. package/src/tools/handlers/blueprint-handlers.ts +0 -380
  387. package/src/tools/handlers/common-handlers.ts +0 -108
  388. package/src/tools/handlers/editor-handlers.ts +0 -124
  389. package/src/tools/handlers/effect-handlers.ts +0 -224
  390. package/src/tools/handlers/environment-handlers.ts +0 -183
  391. package/src/tools/handlers/graph-handlers.ts +0 -117
  392. package/src/tools/handlers/input-handlers.ts +0 -28
  393. package/src/tools/handlers/inspect-handlers.ts +0 -450
  394. package/src/tools/handlers/level-handlers.ts +0 -253
  395. package/src/tools/handlers/lighting-handlers.ts +0 -151
  396. package/src/tools/handlers/performance-handlers.ts +0 -132
  397. package/src/tools/handlers/pipeline-handlers.ts +0 -128
  398. package/src/tools/handlers/sequence-handlers.ts +0 -438
  399. package/src/tools/handlers/system-handlers.ts +0 -564
  400. package/src/tools/input.ts +0 -160
  401. package/src/tools/introspection.ts +0 -689
  402. package/src/tools/landscape.ts +0 -649
  403. package/src/tools/level.ts +0 -989
  404. package/src/tools/lighting.ts +0 -1052
  405. package/src/tools/logs.ts +0 -219
  406. package/src/tools/materials.ts +0 -295
  407. package/src/tools/niagara.ts +0 -485
  408. package/src/tools/performance.ts +0 -661
  409. package/src/tools/physics.ts +0 -679
  410. package/src/tools/property-dictionary.ts +0 -98
  411. package/src/tools/sequence.ts +0 -385
  412. package/src/tools/tool-definition-utils.ts +0 -35
  413. package/src/tools/ui.ts +0 -452
  414. package/src/types/automation-responses.ts +0 -119
  415. package/src/types/env.ts +0 -17
  416. package/src/types/handler-types.ts +0 -442
  417. package/src/types/responses.ts +0 -355
  418. package/src/types/tool-interfaces.ts +0 -250
  419. package/src/types/tool-types.ts +0 -575
  420. package/src/unreal-bridge.ts +0 -693
  421. package/src/utils/command-validator.ts +0 -139
  422. package/src/utils/elicitation.ts +0 -132
  423. package/src/utils/error-handler.ts +0 -287
  424. package/src/utils/ini-reader.ts +0 -86
  425. package/src/utils/logger.ts +0 -35
  426. package/src/utils/normalize.test.ts +0 -162
  427. package/src/utils/normalize.ts +0 -146
  428. package/src/utils/path-security.ts +0 -43
  429. package/src/utils/response-factory.ts +0 -44
  430. package/src/utils/response-validator.ts +0 -395
  431. package/src/utils/result-helpers.ts +0 -195
  432. package/src/utils/safe-json.test.ts +0 -90
  433. package/src/utils/safe-json.ts +0 -70
  434. package/src/utils/unreal-command-queue.ts +0 -166
  435. package/src/utils/validation.test.ts +0 -184
  436. package/src/utils/validation.ts +0 -312
  437. package/src/wasm/index.ts +0 -838
  438. package/test-server.mjs +0 -100
  439. package/tests/run-unreal-tool-tests.mjs +0 -948
  440. package/tests/test-animation.mjs +0 -369
  441. package/tests/test-asset-advanced.mjs +0 -82
  442. package/tests/test-asset-errors.mjs +0 -35
  443. package/tests/test-asset-graph.mjs +0 -311
  444. package/tests/test-audio.mjs +0 -417
  445. package/tests/test-automation-timeouts.mjs +0 -98
  446. package/tests/test-behavior-tree.mjs +0 -444
  447. package/tests/test-blueprint-graph.mjs +0 -410
  448. package/tests/test-blueprint.mjs +0 -577
  449. package/tests/test-client-mode.mjs +0 -86
  450. package/tests/test-console-command.mjs +0 -56
  451. package/tests/test-control-actor.mjs +0 -425
  452. package/tests/test-control-editor.mjs +0 -112
  453. package/tests/test-graphql.mjs +0 -372
  454. package/tests/test-input.mjs +0 -349
  455. package/tests/test-inspect.mjs +0 -302
  456. package/tests/test-landscape.mjs +0 -316
  457. package/tests/test-lighting.mjs +0 -428
  458. package/tests/test-manage-asset.mjs +0 -438
  459. package/tests/test-manage-level.mjs +0 -89
  460. package/tests/test-materials.mjs +0 -356
  461. package/tests/test-niagara.mjs +0 -185
  462. package/tests/test-no-inline-python.mjs +0 -122
  463. package/tests/test-performance.mjs +0 -539
  464. package/tests/test-plugin-handshake.mjs +0 -82
  465. package/tests/test-runner.mjs +0 -933
  466. package/tests/test-sequence.mjs +0 -104
  467. package/tests/test-system.mjs +0 -96
  468. package/tests/test-wasm.mjs +0 -283
  469. package/tests/test-world-partition.mjs +0 -215
  470. package/tsconfig.json +0 -56
  471. package/vitest.config.ts +0 -35
  472. package/wasm/Cargo.lock +0 -363
  473. package/wasm/Cargo.toml +0 -42
  474. package/wasm/LICENSE +0 -21
  475. package/wasm/README.md +0 -253
  476. package/wasm/src/dependency_resolver.rs +0 -377
  477. package/wasm/src/lib.rs +0 -153
  478. package/wasm/src/property_parser.rs +0 -271
  479. package/wasm/src/transform_math.rs +0 -396
  480. package/wasm/tests/integration.rs +0 -109
@@ -1,1256 +0,0 @@
1
- import { commonSchemas } from './tool-definition-utils.js';
2
- // Force rebuild timestamp update
3
-
4
- export const consolidatedToolDefinitions = [
5
- // 1. ASSET MANAGER
6
- {
7
- name: 'manage_asset',
8
- description: `Comprehensive asset management suite. Handles import/export, basic file operations, dependency analysis, source control, and specialized graph editing (Materials, Behavior Trees).
9
-
10
- Use it when you need to:
11
- - manage asset lifecycle (import, duplicate, rename, delete).
12
- - organize project structure (folders, redirects).
13
- - analyze dependencies or fix reference issues.
14
- - edit Material graphs or Behavior Trees.
15
- - generate basic assets like Materials, Textures, or Blueprints (via asset creation).
16
-
17
- Supported actions:
18
- - Core: list, import, duplicate, rename, move, delete, delete_assets, create_folder, search_assets.
19
- - Utils: get_dependencies, get_source_control_state, analyze_graph, create_thumbnail, set_tags, get_metadata, set_metadata, validate, fixup_redirectors, find_by_tag, generate_report.
20
- - Creation: create_material, create_material_instance, create_render_target.
21
- - Rendering: nanite_rebuild_mesh.
22
- - Material Graph: add_material_node, connect_material_pins, remove_material_node, break_material_connections, get_material_node_details.
23
- - Behavior Tree: add_bt_node, connect_bt_nodes, remove_bt_node, break_bt_connections, set_bt_node_properties.`,
24
- inputSchema: {
25
- type: 'object',
26
- properties: {
27
- action: {
28
- type: 'string',
29
- enum: [
30
- // Core
31
- 'list', 'import', 'duplicate', 'rename', 'move', 'delete', 'delete_asset', 'delete_assets', 'create_folder', 'search_assets',
32
- // Utils
33
- 'get_dependencies', 'get_source_control_state', 'analyze_graph', 'get_asset_graph', 'create_thumbnail', 'set_tags', 'get_metadata', 'set_metadata', 'validate', 'fixup_redirectors', 'find_by_tag', 'generate_report',
34
- // Creation
35
- 'create_material', 'create_material_instance', 'create_render_target', 'generate_lods', 'add_material_parameter', 'list_instances', 'reset_instance_parameters', 'exists', 'get_material_stats',
36
- // Rendering
37
- 'nanite_rebuild_mesh',
38
- // Material Graph
39
- 'add_material_node', 'connect_material_pins', 'remove_material_node', 'break_material_connections', 'get_material_node_details', 'rebuild_material'
40
- ],
41
- description: 'Action to perform'
42
- },
43
- // -- Common --
44
- assetPath: { type: 'string', description: 'Target asset path (e.g., "/Game/MyAsset").' },
45
-
46
- // -- List/Search --
47
- directory: { type: 'string', description: 'Directory path to list.' },
48
- classNames: { type: 'array', items: { type: 'string' }, description: 'Class names filter.' },
49
- packagePaths: { type: 'array', items: { type: 'string' }, description: 'Package paths to search.' },
50
- recursivePaths: { type: 'boolean' },
51
- recursiveClasses: { type: 'boolean' },
52
- limit: { type: 'number' },
53
-
54
- // -- Import --
55
- sourcePath: { type: 'string', description: 'Source file path on disk.' },
56
- destinationPath: { type: 'string', description: 'Destination content path.' },
57
-
58
- // -- Operations --
59
- assetPaths: { type: 'array', items: { type: 'string' }, description: 'Batch asset paths.' },
60
- lodCount: { type: 'number', description: 'Number of LODs to generate.' },
61
- reductionSettings: { type: 'object', description: 'LOD reduction settings.' },
62
- nodeName: { type: 'string', description: 'Variable name or Function name, depending on node type' },
63
- eventName: { type: 'string', description: 'For Event nodes (e.g. ReceiveBeginPlay) or CustomEvent nodes' },
64
- memberClass: { type: 'string', description: 'For Event nodes, the class defining the event (optional)' },
65
- posX: { type: 'number' },
66
- newName: { type: 'string', description: 'New name for rename/duplicate.' },
67
- overwrite: { type: 'boolean' },
68
- save: { type: 'boolean' },
69
- fixupRedirectors: { type: 'boolean' },
70
- directoryPath: { type: 'string' },
71
-
72
- // -- Material/Instance Creation --
73
- name: { type: 'string', description: 'Name of new asset.' },
74
- path: { type: 'string', description: 'Directory to create asset in.' },
75
- parentMaterial: { type: 'string', description: 'Parent material for instances.' },
76
- parameters: { type: 'object', description: 'Material instance parameters.' },
77
-
78
- // -- Render Target --
79
- width: { type: 'number' },
80
- height: { type: 'number' },
81
- format: { type: 'string' },
82
-
83
- // -- Nanite --
84
- meshPath: { type: 'string' },
85
-
86
- // -- Metadata/Tags --
87
- tag: { type: 'string' },
88
- metadata: { type: 'object' },
89
-
90
- // -- Graph Editing (Material/BT) --
91
- graphName: { type: 'string' },
92
- nodeType: { type: 'string' },
93
- nodeId: { type: 'string' },
94
- fromNodeId: { type: 'string' },
95
- fromPin: { type: 'string' },
96
- toNodeId: { type: 'string' },
97
- toPin: { type: 'string' },
98
- parameterName: { type: 'string' },
99
- value: { description: 'Property value (number, string, etc).' },
100
- x: { type: 'number' },
101
- y: { type: 'number' },
102
- comment: { type: 'string' },
103
- parentNodeId: { type: 'string' },
104
- childNodeId: { type: 'string' },
105
-
106
- // -- Analyze --
107
- maxDepth: { type: 'number' }
108
- },
109
- required: ['action']
110
- },
111
- outputSchema: {
112
- type: 'object',
113
- properties: {
114
- success: { type: 'boolean' },
115
- message: { type: 'string' },
116
- assets: { type: 'array', items: { type: 'object' } },
117
- paths: { type: 'array', items: { type: 'string' } },
118
- path: { type: 'string' },
119
- error: { type: 'string' },
120
- // Graph results
121
- nodeId: { type: 'string' },
122
- details: { type: 'object' }
123
- }
124
- }
125
- },
126
-
127
- // 2. BLUEPRINT MANAGER
128
- {
129
- name: 'manage_blueprint',
130
- description: `Blueprint authoring and editing tool.
131
-
132
- Use it when you need to:
133
- - create new Blueprints.
134
- - inspect existing Blueprints (get_blueprint).
135
- - modify the component hierarchy (SCS).
136
- - edit the Blueprint graph (nodes, pins, properties).
137
-
138
- Supported actions:
139
- - Lifecycle: create, get_blueprint.
140
- - Components (SCS): add_component, set_default, modify_scs, get_scs, add_scs_component, remove_scs_component, reparent_scs_component, set_scs_transform, set_scs_property.
141
- - Helpers: ensure_exists, probe_handle, add_variable, add_function, add_event, add_construction_script, set_variable_metadata, set_metadata.
142
- - Graph: create_node, delete_node, connect_pins, break_pin_links, set_node_property, create_reroute_node, get_node_details, get_graph_details, get_pin_details.`,
143
- inputSchema: {
144
- type: 'object',
145
- properties: {
146
- action: {
147
- type: 'string',
148
- enum: [
149
- // Lifecycle
150
- 'create', 'get_blueprint', 'get', 'compile',
151
- // SCS
152
- 'add_component', 'set_default', 'modify_scs', 'get_scs', 'add_scs_component', 'remove_scs_component', 'reparent_scs_component', 'set_scs_transform', 'set_scs_property',
153
- // Helpers
154
- 'ensure_exists', 'probe_handle', 'add_variable', 'remove_variable', 'rename_variable', 'add_function', 'add_event', 'remove_event', 'add_construction_script', 'set_variable_metadata', 'set_metadata',
155
- // Graph
156
- 'create_node', 'add_node', 'delete_node', 'connect_pins', 'break_pin_links', 'set_node_property', 'create_reroute_node', 'get_node_details', 'get_graph_details', 'get_pin_details'
157
- ],
158
- description: 'Blueprint action'
159
- },
160
- // -- Identifiers --
161
- name: { type: 'string', description: 'Blueprint name.' },
162
- blueprintPath: { type: 'string', description: 'Blueprint asset path.' },
163
-
164
- // -- Create --
165
- blueprintType: { type: 'string', description: 'Parent class (e.g., Actor).' },
166
- savePath: { type: 'string' },
167
-
168
- // -- Components --
169
- componentType: { type: 'string' },
170
- componentName: { type: 'string' },
171
- componentClass: { type: 'string' },
172
- attachTo: { type: 'string' },
173
- newParent: { type: 'string' },
174
-
175
- // -- Properties/Defaults --
176
- propertyName: { type: 'string' },
177
- variableName: { type: 'string', description: 'Name of the variable.' },
178
- oldName: { type: 'string' },
179
- newName: { type: 'string' },
180
- value: { description: 'Value to set.' },
181
- metadata: { type: 'object' },
182
- properties: { type: 'object', description: 'Initial CDO properties for new blueprints.' },
183
-
184
- // -- Graph Editing --
185
- graphName: { type: 'string' },
186
- nodeType: { type: 'string' },
187
- nodeId: { type: 'string' },
188
- pinName: { type: 'string' },
189
- linkedTo: { type: 'string' },
190
- memberName: { type: 'string' },
191
- x: { type: 'number' },
192
- y: { type: 'number' },
193
-
194
- // -- SCS Transform --
195
- location: { type: 'array', items: { type: 'number' } },
196
- rotation: { type: 'array', items: { type: 'number' } },
197
- scale: { type: 'array', items: { type: 'number' } },
198
-
199
- // -- Batch Operations --
200
- operations: { type: 'array', items: { type: 'object' } },
201
- compile: { type: 'boolean' },
202
- save: { type: 'boolean' },
203
-
204
- // -- Events --
205
- eventType: { type: 'string', description: 'Event type (e.g. "BeginPlay", "Tick", "custom").' },
206
- customEventName: { type: 'string', description: 'Name for custom event.' },
207
- parameters: { type: 'array', items: { type: 'object' }, description: 'Parameters for the event.' }
208
- },
209
- required: ['action']
210
- },
211
- outputSchema: {
212
- type: 'object',
213
- properties: {
214
- success: { type: 'boolean' },
215
- blueprintPath: { type: 'string' },
216
- message: { type: 'string' },
217
- error: { type: 'string' },
218
- // Snapshot data
219
- blueprint: { type: 'object' }
220
- }
221
- }
222
- },
223
-
224
- // 3. ACTOR CONTROL
225
- {
226
- name: 'control_actor',
227
- description: `Viewport actor manipulation.
228
-
229
- Use it when you need to:
230
- - spawn, destroy, or duplicate actors.
231
- - move/rotate/scale actors.
232
- - modify actor components or tags.
233
- - apply physics forces.
234
-
235
- Supported actions: 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, remove_tag, find_by_tag, find_by_name, list, set_blueprint_variables, create_snapshot, attach, detach.`,
236
- inputSchema: {
237
- type: 'object',
238
- properties: {
239
- action: {
240
- type: 'string',
241
- enum: [
242
- 'spawn', 'spawn_blueprint', 'delete', 'delete_by_tag', 'duplicate',
243
- 'apply_force', 'set_transform', 'get_transform', 'set_visibility',
244
- 'add_component', 'set_component_properties', 'get_components',
245
- 'add_tag', 'remove_tag', 'find_by_tag', 'find_by_name', 'list', 'set_blueprint_variables',
246
- 'create_snapshot', 'attach', 'detach'
247
- ],
248
- description: 'Action to perform'
249
- },
250
- actorName: { type: 'string' },
251
- childActor: { type: 'string', description: 'Name of the child actor (alias for actorName in detach, or specific child for attach).' },
252
- parentActor: { type: 'string' },
253
- classPath: { type: 'string' },
254
- meshPath: { type: 'string' },
255
- blueprintPath: { type: 'string' },
256
- location: commonSchemas.location,
257
- rotation: commonSchemas.rotation,
258
- scale: commonSchemas.scale,
259
- force: commonSchemas.vector3,
260
- componentType: { type: 'string' },
261
- componentName: { type: 'string' },
262
- properties: { type: 'object' },
263
- visible: { type: 'boolean' },
264
- newName: { type: 'string' },
265
- tag: { type: 'string' },
266
- variables: { type: 'object' },
267
- snapshotName: { type: 'string' }
268
- },
269
- required: ['action']
270
- },
271
- outputSchema: {
272
- type: 'object',
273
- properties: {
274
- success: { type: 'boolean' },
275
- actor: { type: 'string' },
276
- actorPath: { type: 'string' },
277
- message: { type: 'string' },
278
- components: {
279
- type: 'array',
280
- items: {
281
- type: 'object',
282
- properties: {
283
- name: { type: 'string' },
284
- class: { type: 'string' },
285
- relativeLocation: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } } },
286
- relativeRotation: { type: 'object', properties: { pitch: { type: 'number' }, yaw: { type: 'number' }, roll: { type: 'number' } } },
287
- relativeScale: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } } }
288
- }
289
- }
290
- },
291
- data: { type: 'object' }
292
- }
293
- }
294
- },
295
-
296
- // 4. EDITOR CONTROL
297
- {
298
- name: 'control_editor',
299
- description: `Editor session control.
300
-
301
- Use it when you need to:
302
- - control PIE (Play In Editor).
303
- - move the viewport camera.
304
- - execute console commands (legacy).
305
- - take screenshots/bookmarks.
306
- - simulate input (UI).
307
-
308
- Supported actions: play, stop, stop_pie, pause, resume, set_game_speed, eject, possess, set_camera, set_camera_position, set_camera_fov, set_view_mode, set_viewport_resolution, console_command, screenshot, step_frame, start_recording, stop_recording, create_bookmark, jump_to_bookmark, set_preferences, set_viewport_realtime, open_asset, simulate_input.`,
309
- inputSchema: {
310
- type: 'object',
311
- properties: {
312
- action: {
313
- type: 'string',
314
- enum: [
315
- 'play', 'stop', 'stop_pie', 'pause', 'resume', 'set_game_speed', 'eject', 'possess',
316
- 'set_camera', 'set_camera_position', 'set_camera_fov', 'set_view_mode',
317
- 'set_viewport_resolution', 'console_command', 'execute_command', 'screenshot', 'step_frame',
318
- 'start_recording', 'stop_recording', 'create_bookmark', 'jump_to_bookmark',
319
- 'set_preferences', 'set_viewport_realtime', 'open_asset', 'simulate_input'
320
- ],
321
- description: 'Editor action'
322
- },
323
- location: commonSchemas.location,
324
- rotation: commonSchemas.rotation,
325
- viewMode: { type: 'string' },
326
- enabled: { type: 'boolean', description: 'For set_viewport_realtime.' },
327
- speed: { type: 'number' },
328
- filename: { type: 'string' },
329
- fov: { type: 'number' },
330
- width: { type: 'number' },
331
- height: { type: 'number' },
332
- command: { type: 'string' },
333
- steps: { type: 'integer' },
334
- bookmarkName: { type: 'string' },
335
- assetPath: { type: 'string' },
336
- // Simulate Input
337
- keyName: { type: 'string' },
338
- eventType: { type: 'string', enum: ['KeyDown', 'KeyUp', 'Both'] }
339
- },
340
- required: ['action']
341
- },
342
- outputSchema: {
343
- type: 'object',
344
- properties: {
345
- success: { type: 'boolean' },
346
- message: { type: 'string' }
347
- }
348
- }
349
- },
350
-
351
- // 5. LEVEL MANAGER
352
- {
353
- name: 'manage_level',
354
- description: `Level and World Partition management.
355
-
356
- Use it when you need to:
357
- - load/save levels.
358
- - manage streaming levels.
359
- - build lighting.
360
- - load world partition cells or toggle data layers.
361
-
362
- Supported actions: load, save, stream, create_level, create_light, build_lighting, set_metadata, load_cells, set_datalayer, export_level, import_level, list_levels, get_summary, delete, validate_level.`,
363
- inputSchema: {
364
- type: 'object',
365
- properties: {
366
- action: {
367
- type: 'string',
368
- enum: [
369
- 'load', 'save', 'save_as', 'save_level_as', 'stream', 'create_level', 'create_light', 'build_lighting',
370
- 'set_metadata', 'load_cells', 'set_datalayer',
371
- 'export_level', 'import_level', 'list_levels', 'get_summary', 'delete', 'validate_level',
372
- 'cleanup_invalid_datalayers', 'add_sublevel'
373
- ],
374
- description: 'Action'
375
- },
376
- levelPath: { type: 'string', description: 'Required for load/save actions and get_summary.' },
377
- levelName: { type: 'string' },
378
- streaming: { type: 'boolean' },
379
- shouldBeLoaded: { type: 'boolean' },
380
- shouldBeVisible: { type: 'boolean' },
381
- // Lighting
382
- lightType: { type: 'string', enum: ['Directional', 'Point', 'Spot', 'Rect'] },
383
- location: commonSchemas.location,
384
- intensity: { type: 'number' },
385
- quality: { type: 'string' },
386
- // World Partition
387
- min: { type: 'array', items: { type: 'number' } },
388
- max: { type: 'array', items: { type: 'number' } },
389
- dataLayerLabel: { type: 'string' },
390
- dataLayerState: { type: 'string' },
391
- recursive: { type: 'boolean' },
392
- // Export/Import
393
- exportPath: { type: 'string' },
394
- packagePath: { type: 'string' },
395
- destinationPath: { type: 'string' },
396
- note: { type: 'string' },
397
- // Delete
398
- levelPaths: { type: 'array', items: { type: 'string' } },
399
- // Sublevel
400
- subLevelPath: { type: 'string' },
401
- parentLevel: { type: 'string' },
402
- streamingMethod: { type: 'string', enum: ['Blueprint', 'AlwaysLoaded'] }
403
- },
404
- required: ['action']
405
- },
406
- outputSchema: {
407
- type: 'object',
408
- properties: {
409
- success: { type: 'boolean' },
410
- message: { type: 'string' },
411
- data: { type: 'object' }
412
- }
413
- }
414
- },
415
-
416
- // 6. ANIMATION & PHYSICS
417
- {
418
- name: 'animation_physics',
419
- description: `Animation and Physics tools.
420
-
421
- Use it when you need to:
422
- - create Animation Blueprints, Montages, or Blend Spaces.
423
- - setup Ragdolls or Physics Assets.
424
- - configure vehicles.
425
-
426
- Supported actions: create_animation_bp, play_montage, setup_ragdoll, configure_vehicle, create_blend_space, create_state_machine, setup_ik, create_procedural_anim, create_blend_tree, setup_retargeting, setup_physics_simulation, cleanup.`,
427
- inputSchema: {
428
- type: 'object',
429
- properties: {
430
- action: {
431
- type: 'string',
432
- enum: [
433
- 'create_animation_bp', 'play_montage', 'setup_ragdoll', 'activate_ragdoll', 'configure_vehicle',
434
- 'create_blend_space', 'create_state_machine', 'setup_ik', 'create_procedural_anim',
435
- 'create_blend_tree', 'setup_retargeting', 'setup_physics_simulation', 'cleanup',
436
- 'create_animation_asset', 'add_notify'
437
- ],
438
- description: 'Action'
439
- },
440
- name: { type: 'string' },
441
- actorName: { type: 'string' },
442
- skeletonPath: { type: 'string' },
443
- montagePath: { type: 'string' },
444
- animationPath: { type: 'string' },
445
- playRate: { type: 'number' },
446
- physicsAssetName: { type: 'string' },
447
- meshPath: { type: 'string' },
448
- vehicleName: { type: 'string' },
449
- vehicleType: { type: 'string' },
450
- // ... (omitting detailed vehicle/IK schema for brevity, keeping core structure)
451
- savePath: { type: 'string' }
452
- },
453
- required: ['action']
454
- },
455
- outputSchema: {
456
- type: 'object',
457
- properties: {
458
- success: { type: 'boolean' },
459
- message: { type: 'string' }
460
- }
461
- }
462
- },
463
-
464
- // 7. EFFECTS MANAGER (Niagara & Particles)
465
- {
466
- name: 'manage_effect',
467
- description: `Effects management (Niagara, Particles, Debug Shapes).
468
-
469
- Use it when you need to:
470
- - spawn effects or debug shapes.
471
- - create/edit Niagara systems and emitters.
472
- - edit Niagara graphs (modules, pins).
473
-
474
- Supported actions:
475
- - Spawning: particle, niagara, debug_shape, spawn_niagara, create_dynamic_light.
476
- - Asset Creation: create_niagara_system, create_niagara_emitter.
477
- - Graph: add_niagara_module, connect_niagara_pins, remove_niagara_node, set_niagara_parameter.
478
- - Utils: clear_debug_shapes, cleanup.`,
479
- inputSchema: {
480
- type: 'object',
481
- properties: {
482
- action: {
483
- type: 'string',
484
- enum: [
485
- 'particle', 'niagara', 'debug_shape', 'spawn_niagara', 'create_dynamic_light',
486
- 'create_niagara_system', 'create_niagara_emitter',
487
- 'create_volumetric_fog', 'create_particle_trail', 'create_environment_effect', 'create_impact_effect', 'create_niagara_ribbon',
488
- 'activate', 'activate_effect', 'deactivate', 'reset', 'advance_simulation',
489
- 'add_niagara_module', 'connect_niagara_pins', 'remove_niagara_node', 'set_niagara_parameter',
490
- 'clear_debug_shapes', 'cleanup', 'list_debug_shapes'
491
- ],
492
- description: 'Action'
493
- },
494
- name: { type: 'string' },
495
- systemName: { type: 'string' },
496
- systemPath: { type: 'string', description: 'Required for spawning Niagara effects (spawn_niagara, create_volumetric_fog, etc) and most graph operations.' },
497
- preset: { type: 'string', description: 'Required for particle action. Path to particle system asset.' },
498
- location: commonSchemas.location,
499
- scale: { type: 'number' },
500
- shape: { type: 'string', description: 'Supported: sphere, box, cylinder, line, cone, capsule, arrow, plane' },
501
- size: { type: 'number' },
502
- color: { type: 'array', items: { type: 'number' } },
503
- // Graph
504
- modulePath: { type: 'string' },
505
- emitterName: { type: 'string' },
506
- pinName: { type: 'string' },
507
- linkedTo: { type: 'string' },
508
- parameterName: { type: 'string' },
509
- parameterType: { type: 'string', description: 'Float, Vector, Color, Bool, etc.' },
510
- type: { type: 'string', description: 'Alias for parameterType' },
511
- value: { description: 'Value.' },
512
- // Cleanup
513
- filter: { type: 'string', description: 'Filter for cleanup action. Required.' }
514
- },
515
- required: ['action']
516
- },
517
- outputSchema: {
518
- type: 'object',
519
- properties: {
520
- success: { type: 'boolean' },
521
- message: { type: 'string' }
522
- }
523
- }
524
- },
525
-
526
- // 8. ENVIRONMENT BUILDER
527
- {
528
- name: 'build_environment',
529
- description: `Environment creation (Landscape, Foliage).
530
-
531
- Use it when you need to:
532
- - create/sculpt landscapes.
533
- - paint foliage.
534
- - procedural generation.
535
-
536
- Supported actions: create_landscape, sculpt, add_foliage, paint_foliage, create_procedural_terrain, create_procedural_foliage, add_foliage_instances, get_foliage_instances, remove_foliage.`,
537
- inputSchema: {
538
- type: 'object',
539
- properties: {
540
- action: {
541
- type: 'string',
542
- enum: [
543
- 'create_landscape', 'sculpt', 'sculpt_landscape', 'add_foliage', 'paint_foliage',
544
- 'create_procedural_terrain', 'create_procedural_foliage', 'add_foliage_instances',
545
- 'get_foliage_instances', 'remove_foliage', 'paint_landscape', 'paint_landscape_layer',
546
- 'modify_heightmap', 'set_landscape_material', 'create_landscape_grass_type',
547
- 'generate_lods', 'bake_lightmap', 'export_snapshot', 'import_snapshot', 'delete'
548
- ],
549
- description: 'Action'
550
- },
551
- // Common
552
- name: { type: 'string', description: 'Name of landscape, foliage type, or procedural volume.' },
553
- landscapeName: { type: 'string' },
554
- heightData: { type: 'array', items: { type: 'number' } },
555
- minX: { type: 'number' },
556
- minY: { type: 'number' },
557
- maxX: { type: 'number' },
558
- maxY: { type: 'number' },
559
- updateNormals: { type: 'boolean' },
560
- location: commonSchemas.location,
561
- rotation: commonSchemas.rotation,
562
- scale: commonSchemas.scale,
563
-
564
- // Landscape
565
- sizeX: { type: 'number' },
566
- sizeY: { type: 'number' },
567
- sectionSize: { type: 'number' },
568
- sectionsPerComponent: { type: 'number' },
569
- componentCount: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' } } },
570
- materialPath: { type: 'string' },
571
-
572
- // Sculpt/Paint
573
- tool: { type: 'string' },
574
- radius: { type: 'number' },
575
- strength: { type: 'number' },
576
- falloff: { type: 'number' },
577
- brushSize: { type: 'number' },
578
- layerName: { type: 'string', description: 'Required for paint_landscape.' },
579
- eraseMode: { type: 'boolean' },
580
-
581
- // Foliage
582
- foliageType: { type: 'string', description: 'Required for add_foliage_instances, paint_foliage.' },
583
- foliageTypePath: { type: 'string' },
584
- meshPath: { type: 'string' },
585
- density: { type: 'number' },
586
- minScale: { type: 'number' },
587
- maxScale: { type: 'number' },
588
- cullDistance: { type: 'number' },
589
- alignToNormal: { type: 'boolean' },
590
- randomYaw: { type: 'boolean' },
591
- locations: { type: 'array', items: commonSchemas.location },
592
- transforms: {
593
- type: 'array',
594
- items: {
595
- type: 'object',
596
- properties: {
597
- location: commonSchemas.location,
598
- rotation: commonSchemas.rotation,
599
- scale: commonSchemas.scale
600
- }
601
- }
602
- },
603
- position: commonSchemas.location,
604
-
605
- // Procedural
606
- bounds: { type: 'object' },
607
- volumeName: { type: 'string' },
608
- seed: { type: 'number' },
609
- foliageTypes: { type: 'array', items: { type: 'object' } },
610
-
611
- // General
612
- path: { type: 'string' },
613
- filename: { type: 'string' },
614
- assetPaths: { type: 'array', items: { type: 'string' } }
615
- },
616
- required: ['action']
617
- },
618
- outputSchema: {
619
- type: 'object',
620
- properties: {
621
- success: { type: 'boolean' },
622
- message: { type: 'string' }
623
- }
624
- }
625
- },
626
-
627
- // 9. SYSTEM CONTROL
628
- {
629
- name: 'system_control',
630
- description: `System-level control.
631
-
632
- Use it when you need to:
633
- - profiling & performance (stat commands).
634
- - quality settings.
635
- - run external tools (UBT, Tests).
636
- - manage logs/insights.
637
- - execute arbitrary console commands.
638
- - set/get CVars and project settings.
639
- - validate assets.
640
-
641
- Supported actions:
642
- - Core: profile, show_fps, set_quality, screenshot, set_resolution, set_fullscreen, execute_command, console_command.
643
- - CVars: set_cvar.
644
- - Settings: get_project_settings, validate_assets.
645
- - Pipeline: run_ubt, run_tests.
646
- - Debug/Logs: subscribe, spawn_category, start_session.
647
- - Render: lumen_update_scene.
648
- - UI: play_sound, create_widget, show_widget.`,
649
- inputSchema: {
650
- type: 'object',
651
- properties: {
652
- action: {
653
- type: 'string',
654
- enum: [
655
- 'profile', 'show_fps', 'set_quality', 'screenshot', 'set_resolution', 'set_fullscreen', 'execute_command', 'console_command',
656
- 'run_ubt', 'run_tests', 'subscribe', 'unsubscribe', 'spawn_category', 'start_session', 'lumen_update_scene',
657
- 'play_sound', 'create_widget', 'show_widget', 'add_widget_child',
658
- // Added missing actions
659
- 'set_cvar', 'get_project_settings', 'validate_assets',
660
- 'set_project_setting'
661
- ],
662
- description: 'Action'
663
- },
664
- // Profile/Quality
665
- profileType: { type: 'string' },
666
- category: { type: 'string' },
667
- level: { type: 'number' },
668
- enabled: { type: 'boolean' },
669
- resolution: { type: 'string', description: 'Resolution string (e.g. "1920x1080").' },
670
-
671
- // Commands
672
- command: { type: 'string' },
673
-
674
- // UBT
675
- target: { type: 'string' },
676
- platform: { type: 'string' },
677
- configuration: { type: 'string' },
678
- arguments: { type: 'string' },
679
-
680
- // Tests
681
- filter: { type: 'string' },
682
-
683
- // Insights
684
- channels: { type: 'string' },
685
-
686
- // UI Widget Management
687
- widgetPath: { type: 'string', description: 'Path to the widget blueprint (for add_widget_child).' },
688
- childClass: { type: 'string', description: 'Class of the child widget to add (e.g. /Script/UMG.Button).' },
689
- parentName: { type: 'string', description: 'Name of the parent widget to add to (optional).' },
690
-
691
- // Project Settings
692
- section: { type: 'string', description: 'Config section (e.g. /Script/EngineSettings.GeneralProjectSettings).' },
693
- key: { type: 'string', description: 'Config key (e.g. ProjectID).' },
694
- value: { type: 'string', description: 'Config value.' },
695
- configName: { type: 'string', description: 'Config file name (Game, Engine, Input, etc.). Defaults to Game.' }
696
- },
697
- required: ['action']
698
- },
699
- outputSchema: {
700
- type: 'object',
701
- properties: {
702
- success: { type: 'boolean' },
703
- message: { type: 'string' },
704
- output: { type: 'string' }
705
- }
706
- }
707
- },
708
-
709
- // 10. SEQUENCER
710
- {
711
- name: 'manage_sequence',
712
- description: `Sequencer (Cinematics) management.
713
-
714
- Use it when you need to:
715
- - create/edit level sequences.
716
- - add tracks (camera, actors, audio, events).
717
- - keyframe properties.
718
- - manage sequence playback and settings.
719
-
720
- Supported actions:
721
- - Lifecycle: create, open, duplicate, rename, delete, list.
722
- - Bindings: add_camera, add_actor, add_actors, remove_actors, get_bindings, add_spawnable_from_class.
723
- - Playback: play, pause, stop, set_playback_speed.
724
- - Keyframes: add_keyframe.
725
- - Properties: get_properties, set_properties, get_metadata, set_metadata.
726
- - Tracks: add_track, add_section, list_tracks, remove_track, set_track_muted, set_track_solo, set_track_locked.
727
- - Settings: set_display_rate, set_tick_resolution, set_work_range, set_view_range.`,
728
- inputSchema: {
729
- type: 'object',
730
- properties: {
731
- action: {
732
- type: 'string',
733
- enum: [
734
- 'create', 'open', 'add_camera', 'add_actor', 'add_actors', 'remove_actors',
735
- 'get_bindings', 'play', 'pause', 'stop', 'set_playback_speed', 'add_keyframe',
736
- // Added missing sequence actions
737
- 'get_properties', 'set_properties', 'duplicate', 'rename', 'delete', 'list', 'get_metadata', 'set_metadata',
738
- 'add_spawnable_from_class', 'add_track', 'add_section', 'set_display_rate', 'set_tick_resolution',
739
- 'set_work_range', 'set_view_range', 'set_track_muted', 'set_track_solo', 'set_track_locked',
740
- 'list_tracks', 'remove_track', 'list_track_types'
741
- ],
742
- description: 'Action'
743
- },
744
- name: { type: 'string', description: 'Sequence name for creation.' },
745
- path: { type: 'string', description: 'Sequence asset path.' },
746
- actorName: { type: 'string', description: 'Actor name for binding.' },
747
- actorNames: { type: 'array', items: { type: 'string' }, description: 'Multiple actor names.' },
748
- frame: { type: 'number', description: 'Frame number for keyframes.' },
749
- value: { type: 'object', description: 'Value for keyframes.' },
750
- property: { type: 'string', description: 'Property name for keyframes.' },
751
- // Duplicate/Rename
752
- destinationPath: { type: 'string', description: 'Destination path for duplicate.' },
753
- newName: { type: 'string', description: 'New name for rename/duplicate.' },
754
- overwrite: { type: 'boolean', description: 'Overwrite existing on duplicate.' },
755
- // Playback
756
- speed: { type: 'number', description: 'Playback speed multiplier.' },
757
- startTime: { type: 'number', description: 'Start time for playback.' },
758
- loopMode: { type: 'string', description: 'Loop mode for playback.' },
759
- // Spawnable
760
- className: { type: 'string', description: 'Class name for spawnables.' },
761
- spawnable: { type: 'boolean', description: 'Create as spawnable.' },
762
- // Track management
763
- trackType: { type: 'string', description: 'Track type (Animation, Transform, Audio, Event).' },
764
- trackName: { type: 'string', description: 'Track name for track operations.' },
765
- muted: { type: 'boolean', description: 'Mute state for set_track_muted.' },
766
- solo: { type: 'boolean', description: 'Solo state for set_track_solo.' },
767
- locked: { type: 'boolean', description: 'Lock state for set_track_locked.' },
768
- // Section
769
- assetPath: { type: 'string', description: 'Asset path for section content.' },
770
- startFrame: { type: 'number', description: 'Section start frame.' },
771
- endFrame: { type: 'number', description: 'Section end frame.' },
772
- // Display settings
773
- frameRate: { type: 'string', description: 'Display frame rate (e.g., "30fps").' },
774
- resolution: { type: 'string', description: 'Tick resolution (e.g., "24000fps").' },
775
- // Work/View range
776
- start: { type: 'number', description: 'Range start.' },
777
- end: { type: 'number', description: 'Range end.' },
778
- // Properties
779
- lengthInFrames: { type: 'number', description: 'Sequence length in frames.' },
780
- playbackStart: { type: 'number', description: 'Playback start frame.' },
781
- playbackEnd: { type: 'number', description: 'Playback end frame.' },
782
- // Metadata
783
- metadata: { type: 'object', description: 'Metadata object.' }
784
- },
785
- required: ['action']
786
- },
787
- outputSchema: {
788
- type: 'object',
789
- properties: {
790
- success: { type: 'boolean' },
791
- message: { type: 'string' }
792
- }
793
- }
794
- },
795
-
796
- // 11. INPUT MANAGEMENT
797
- {
798
- name: 'manage_input',
799
- description: `Enhanced Input management.
800
-
801
- Use it when you need to:
802
- - create Input Actions (IA_*)
803
- - create Input Mapping Contexts (IMC_*)
804
- - bind keys to actions in a mapping context.
805
-
806
- Supported actions:
807
- - create_input_action: Create a UInputAction asset.
808
- - create_input_mapping_context: Create a UInputMappingContext asset.
809
- - add_mapping: Add a key mapping to a context.
810
- - remove_mapping: Remove a mapping from a context.`,
811
- inputSchema: {
812
- type: 'object',
813
- properties: {
814
- action: {
815
- type: 'string',
816
- enum: [
817
- 'create_input_action',
818
- 'create_input_mapping_context',
819
- 'add_mapping',
820
- 'remove_mapping'
821
- ],
822
- description: 'Action to perform'
823
- },
824
- name: { type: 'string', description: 'Name of the asset (for creation).' },
825
- path: { type: 'string', description: 'Path to save the asset (e.g. /Game/Input).' },
826
- contextPath: { type: 'string', description: 'Path to the Input Mapping Context.' },
827
- actionPath: { type: 'string', description: 'Path to the Input Action.' },
828
- key: { type: 'string', description: 'Key name (e.g. "SpaceBar", "W", "Gamepad_FaceButton_Bottom").' }
829
- },
830
- required: ['action']
831
- },
832
- outputSchema: {
833
- type: 'object',
834
- properties: {
835
- success: { type: 'boolean' },
836
- message: { type: 'string' },
837
- assetPath: { type: 'string' }
838
- }
839
- }
840
- },
841
-
842
- // 12. INTROSPECTION (INSPECT)
843
- {
844
- name: 'inspect',
845
- description: `Low-level object inspection and property manipulation.
846
-
847
- Use it when you need to:
848
- - read/write properties of any UObject or component.
849
- - list objects/components.
850
- - manage actor tags and snapshots.
851
- - find objects by class or tag.
852
-
853
- Supported actions:
854
- - Object: inspect_object, inspect_class, list_objects, find_by_class, delete_object, export.
855
- - Properties: get_property, set_property, get_component_property, set_component_property.
856
- - Components: get_components, get_bounding_box.
857
- - Tags: add_tag, find_by_tag, get_metadata.
858
- - Snapshots: create_snapshot, restore_snapshot.`,
859
- inputSchema: {
860
- type: 'object',
861
- properties: {
862
- action: {
863
- type: 'string',
864
- enum: [
865
- 'inspect_object', 'set_property', 'get_property', 'get_components', 'inspect_class', 'list_objects',
866
- // Added missing inspect actions
867
- 'get_component_property', 'set_component_property', 'get_metadata', 'add_tag', 'find_by_tag',
868
- 'create_snapshot', 'restore_snapshot', 'export', 'delete_object', 'find_by_class', 'get_bounding_box'
869
- ],
870
- description: 'Action'
871
- },
872
- objectPath: { type: 'string', description: 'UObject path to inspect/modify.' },
873
- propertyName: { type: 'string', description: 'Property name to get/set.' },
874
- propertyPath: { type: 'string', description: 'Alternate property path parameter.' },
875
- value: { description: 'Value to set.' },
876
- // Actor/Component identifiers
877
- actorName: { type: 'string', description: 'Actor name (required for snapshots, export, and component resolution).' },
878
- name: { type: 'string', description: 'Object name (alternative to objectPath).' },
879
- componentName: { type: 'string', description: 'Component name for component property access.' },
880
- // Search/Filter
881
- className: { type: 'string', description: 'Class name for find_by_class.' },
882
- classPath: { type: 'string', description: 'Class path (alternative to className).' },
883
- tag: { type: 'string', description: 'Tag for add_tag/find_by_tag.' },
884
- filter: { type: 'string', description: 'Filter for list_objects.' },
885
- // Snapshots
886
- snapshotName: { type: 'string', description: 'Snapshot name for create/restore.' },
887
- // Export
888
- destinationPath: { type: 'string', description: 'Export destination path.' },
889
- outputPath: { type: 'string', description: 'Alternative export path.' },
890
- format: { type: 'string', description: 'Export format (e.g., JSON).' }
891
- },
892
- required: ['action']
893
- },
894
- outputSchema: {
895
- type: 'object',
896
- properties: {
897
- success: { type: 'boolean' },
898
- value: { description: 'Property value.' }
899
- }
900
- }
901
- },
902
-
903
- // 12. AUDIO MANAGER
904
- {
905
- name: 'manage_audio',
906
- description: `Audio asset and component management.
907
-
908
- Use it when you need to:
909
- - create sound cues/mixes.
910
- - play sounds (3D/2D).
911
- - control audio components.
912
-
913
- Supported actions:
914
- - Assets: create_sound_cue, create_sound_mix, create_sound_class, create_reverb_zone, create_ambient_sound.
915
- - Playback: play_sound_at_location, play_sound_2d, play_sound_attached, spawn_sound_at_location.
916
- - Components: create_audio_component, fade_sound, fade_sound_in, fade_sound_out.
917
- - Mixes: push_sound_mix, pop_sound_mix, set_sound_mix_class_override, clear_sound_mix_class_override, set_base_sound_mix.
918
- - Global: enable_audio_analysis, set_doppler_effect, set_audio_occlusion, set_sound_attenuation.`,
919
- inputSchema: {
920
- type: 'object',
921
- properties: {
922
- action: {
923
- type: 'string',
924
- enum: [
925
- 'create_sound_cue', 'play_sound_at_location', 'play_sound_2d', 'create_audio_component',
926
- 'create_sound_mix', 'push_sound_mix', 'pop_sound_mix',
927
- 'set_sound_mix_class_override', 'clear_sound_mix_class_override', 'set_base_sound_mix',
928
- 'prime_sound', 'play_sound_attached', 'spawn_sound_at_location',
929
- 'fade_sound_in', 'fade_sound_out', 'create_ambient_sound',
930
- // Added missing actions
931
- 'create_sound_class', 'set_sound_attenuation', 'create_reverb_zone',
932
- 'enable_audio_analysis', 'fade_sound', 'set_doppler_effect', 'set_audio_occlusion'
933
- ],
934
- description: 'Action'
935
- },
936
- name: { type: 'string' },
937
- soundPath: { type: 'string', description: 'Required for create_sound_cue, play_sound_*, create_audio_component, create_ambient_sound.' },
938
- location: commonSchemas.location,
939
- rotation: commonSchemas.rotation,
940
- volume: { type: 'number' },
941
- pitch: { type: 'number' },
942
- startTime: { type: 'number' },
943
- attenuationPath: { type: 'string' },
944
- concurrencyPath: { type: 'string' },
945
- mixName: { type: 'string' },
946
- soundClassName: { type: 'string' },
947
- fadeInTime: { type: 'number' },
948
- fadeOutTime: { type: 'number' },
949
- fadeTime: { type: 'number' },
950
- targetVolume: { type: 'number' },
951
- attachPointName: { type: 'string' },
952
- actorName: { type: 'string' },
953
- componentName: { type: 'string' },
954
- // Added missing parameters
955
- parentClass: { type: 'string' },
956
- properties: { type: 'object' },
957
- innerRadius: { type: 'number' },
958
- falloffDistance: { type: 'number' },
959
- attenuationShape: { type: 'string' },
960
- falloffMode: { type: 'string' },
961
- reverbEffect: { type: 'string' },
962
- size: commonSchemas.scale,
963
- fftSize: { type: 'number' },
964
- outputType: { type: 'string' },
965
- soundName: { type: 'string' },
966
- fadeType: { type: 'string' },
967
- scale: { type: 'number' },
968
- lowPassFilterFrequency: { type: 'number' },
969
- volumeAttenuation: { type: 'number' },
970
- enabled: { type: 'boolean' }
971
- },
972
- required: ['action']
973
- },
974
- outputSchema: {
975
- type: 'object',
976
- properties: {
977
- success: { type: 'boolean' },
978
- message: { type: 'string' }
979
- }
980
- }
981
- },
982
-
983
- // 13. BEHAVIOR TREE
984
- {
985
- name: 'manage_behavior_tree',
986
- description: `Behavior Tree editing tool.
987
-
988
- Use it when you need to:
989
- - create new Behavior Tree assets.
990
- - add nodes (Sequence, Selector, Tasks).
991
- - connect nodes.
992
- - set properties.
993
-
994
- Supported actions: create, add_node, connect_nodes, remove_node, break_connections, set_node_properties.`,
995
- inputSchema: {
996
- type: 'object',
997
- properties: {
998
- action: {
999
- type: 'string',
1000
- enum: ['create', 'add_node', 'connect_nodes', 'remove_node', 'break_connections', 'set_node_properties'],
1001
- description: 'Action'
1002
- },
1003
- // For create action
1004
- name: { type: 'string', description: 'Name of the new Behavior Tree asset' },
1005
- savePath: { type: 'string', description: 'Path to save the new Behavior Tree (e.g., /Game/AI)' },
1006
- // Existing params
1007
- assetPath: { type: 'string' },
1008
- nodeType: { type: 'string' },
1009
- nodeId: { type: 'string' },
1010
- parentNodeId: { type: 'string' },
1011
- childNodeId: { type: 'string' },
1012
- x: { type: 'number' },
1013
- y: { type: 'number' },
1014
- comment: { type: 'string' },
1015
- properties: { type: 'object' }
1016
- },
1017
- required: ['action']
1018
- },
1019
- outputSchema: {
1020
- type: 'object',
1021
- properties: {
1022
- success: { type: 'boolean' },
1023
- message: { type: 'string' },
1024
- nodeId: { type: 'string' }
1025
- }
1026
- }
1027
- },
1028
-
1029
- // 14. BLUEPRINT GRAPH DIRECT
1030
- {
1031
- name: 'manage_blueprint_graph',
1032
- description: `Direct Blueprint Graph manipulation.
1033
-
1034
- Use it when you need to:
1035
- - add nodes (Function, Variable, Event, Macro).
1036
- - connect/disconnect pins.
1037
- - create reroute nodes.
1038
- - set node properties.
1039
- - get node/graph details.
1040
-
1041
- Supported actions: create_node, delete_node, connect_pins, break_pin_links, set_node_property, create_reroute_node, get_node_details, get_graph_details, get_pin_details.`,
1042
- inputSchema: {
1043
- type: 'object',
1044
- properties: {
1045
- action: {
1046
- type: 'string',
1047
- enum: [
1048
- 'create_node', 'delete_node', 'connect_pins', 'break_pin_links', 'set_node_property',
1049
- 'create_reroute_node', 'get_node_details', 'get_graph_details', 'get_pin_details',
1050
- 'list_node_types', 'set_pin_default_value'
1051
- ],
1052
- description: 'Action'
1053
- },
1054
- blueprintPath: { type: 'string' },
1055
- graphName: { type: 'string' },
1056
- nodeType: { type: 'string' },
1057
- nodeId: { type: 'string' },
1058
- pinName: { type: 'string' },
1059
- linkedTo: { type: 'string' },
1060
- memberName: { type: 'string' },
1061
- x: { type: 'number' },
1062
- y: { type: 'number' },
1063
- propertyName: { type: 'string' },
1064
- value: { description: 'Value.' }
1065
- },
1066
- required: ['action']
1067
- },
1068
- outputSchema: {
1069
- type: 'object',
1070
- properties: {
1071
- success: { type: 'boolean' },
1072
- nodeId: { type: 'string' },
1073
- details: { type: 'object' }
1074
- }
1075
- }
1076
- },
1077
-
1078
- // 15. LIGHTING MANAGER
1079
- {
1080
- name: 'manage_lighting',
1081
- description: `Lighting and Rendering configuration.
1082
-
1083
- Use it when you need to:
1084
- - spawn and configure lights (Directional, Point, Spot, Rect, Sky).
1085
- - configure Global Illumination (Lumen, Lightmass) and Shadows.
1086
- - setup Volumetric Fog and Atmosphere.
1087
- - build lighting (bake).
1088
- - set exposure and post-process settings.
1089
-
1090
- Supported actions:
1091
- - Spawning: spawn_light, create_light, spawn_sky_light, create_sky_light, ensure_single_sky_light, create_lightmass_volume, create_lighting_enabled_level, create_dynamic_light.
1092
- - Configuration: setup_global_illumination, configure_shadows, set_exposure, set_ambient_occlusion, setup_volumetric_fog.
1093
- - Building: build_lighting.`,
1094
- inputSchema: {
1095
- type: 'object',
1096
- properties: {
1097
- action: {
1098
- type: 'string',
1099
- enum: [
1100
- 'spawn_light', 'create_light', 'spawn_sky_light', 'create_sky_light', 'ensure_single_sky_light',
1101
- 'create_lightmass_volume', 'create_lighting_enabled_level', 'create_dynamic_light',
1102
- 'setup_global_illumination', 'configure_shadows', 'set_exposure', 'set_ambient_occlusion', 'setup_volumetric_fog',
1103
- 'build_lighting', 'list_light_types'
1104
- ],
1105
- description: 'Action'
1106
- },
1107
- // Common
1108
- name: { type: 'string' },
1109
- location: commonSchemas.location,
1110
- rotation: commonSchemas.rotation,
1111
-
1112
- // Light Properties
1113
- lightType: { type: 'string', enum: ['Directional', 'Point', 'Spot', 'Rect'] },
1114
- intensity: { type: 'number' },
1115
- color: { type: 'array', items: { type: 'number' } },
1116
- castShadows: { type: 'boolean' },
1117
- useAsAtmosphereSunLight: { type: 'boolean', description: 'For Directional Lights, use as Atmosphere Sun Light.' },
1118
- temperature: { type: 'number' },
1119
- radius: { type: 'number' },
1120
- falloffExponent: { type: 'number' },
1121
- innerCone: { type: 'number' },
1122
- outerCone: { type: 'number' },
1123
- width: { type: 'number' },
1124
- height: { type: 'number' },
1125
-
1126
- // Sky Light
1127
- sourceType: { type: 'string', enum: ['CapturedScene', 'SpecifiedCubemap'] },
1128
- cubemapPath: { type: 'string' },
1129
- recapture: { type: 'boolean' },
1130
-
1131
- // Global Illumination
1132
- method: { type: 'string', enum: ['Lightmass', 'LumenGI', 'ScreenSpace', 'None'] },
1133
- quality: { type: 'string' }, // 'Low' | 'Medium' | 'High' | 'Epic' | 'Preview' | 'Production'
1134
- indirectLightingIntensity: { type: 'number' },
1135
- bounces: { type: 'number' },
1136
-
1137
- // Shadows
1138
- shadowQuality: { type: 'string' },
1139
- cascadedShadows: { type: 'boolean' },
1140
- shadowDistance: { type: 'number' },
1141
- contactShadows: { type: 'boolean' },
1142
- rayTracedShadows: { type: 'boolean' },
1143
-
1144
- // Exposure / Post Process
1145
- compensationValue: { type: 'number' },
1146
- minBrightness: { type: 'number' },
1147
- maxBrightness: { type: 'number' },
1148
- enabled: { type: 'boolean' },
1149
-
1150
- // Volumetric Fog
1151
- density: { type: 'number' },
1152
- scatteringIntensity: { type: 'number' },
1153
- fogHeight: { type: 'number' },
1154
-
1155
- // Building
1156
- buildOnlySelected: { type: 'boolean' },
1157
- buildReflectionCaptures: { type: 'boolean' },
1158
-
1159
- // Level
1160
- levelName: { type: 'string' },
1161
- copyActors: { type: 'boolean' },
1162
- useTemplate: { type: 'boolean' },
1163
-
1164
- // Volume
1165
- size: commonSchemas.scale
1166
- },
1167
- required: ['action']
1168
- },
1169
- outputSchema: {
1170
- type: 'object',
1171
- properties: {
1172
- success: { type: 'boolean' },
1173
- message: { type: 'string' },
1174
- actorName: { type: 'string' }
1175
- }
1176
- }
1177
- },
1178
-
1179
- // 16. PERFORMANCE MANAGER
1180
- {
1181
- name: 'manage_performance',
1182
- description: `Performance profiling and optimization.
1183
-
1184
- Use it when you need to:
1185
- - profiling (CPU, GPU, Memory, RenderThread).
1186
- - optimize content (LODs, texture streaming, draw calls).
1187
- - benchmark the scene.
1188
- - configure rendering features (Nanite, Lumen, World Partition).
1189
-
1190
- Supported actions:
1191
- - Profiling: start_profiling, stop_profiling, run_benchmark, show_fps, show_stats, generate_memory_report.
1192
- - Settings: set_scalability, set_resolution_scale, set_vsync, set_frame_rate_limit, enable_gpu_timing.
1193
- - Optimization: configure_texture_streaming, configure_lod, apply_baseline_settings, optimize_draw_calls, merge_actors, configure_occlusion_culling, optimize_shaders.
1194
- - Features: configure_nanite, configure_world_partition.`,
1195
- inputSchema: {
1196
- type: 'object',
1197
- properties: {
1198
- action: {
1199
- type: 'string',
1200
- enum: [
1201
- 'start_profiling', 'stop_profiling', 'run_benchmark', 'show_fps', 'show_stats', 'generate_memory_report',
1202
- 'set_scalability', 'set_resolution_scale', 'set_vsync', 'set_frame_rate_limit', 'enable_gpu_timing',
1203
- 'configure_texture_streaming', 'configure_lod', 'apply_baseline_settings', 'optimize_draw_calls', 'merge_actors',
1204
- 'configure_occlusion_culling', 'optimize_shaders', 'configure_nanite', 'configure_world_partition'
1205
- ],
1206
- description: 'Action'
1207
- },
1208
- // Profiling
1209
- type: { type: 'string', enum: ['CPU', 'GPU', 'Memory', 'RenderThread', 'GameThread', 'All'] },
1210
- duration: { type: 'number' },
1211
- outputPath: { type: 'string' },
1212
- detailed: { type: 'boolean' },
1213
- category: { type: 'string' },
1214
-
1215
- // Settings
1216
- level: { type: 'number' },
1217
- scale: { type: 'number' },
1218
- enabled: { type: 'boolean' },
1219
- maxFPS: { type: 'number' },
1220
- verbose: { type: 'boolean' },
1221
-
1222
- // Optimization
1223
- poolSize: { type: 'number' },
1224
- boostPlayerLocation: { type: 'boolean' },
1225
- forceLOD: { type: 'number' },
1226
- lodBias: { type: 'number' },
1227
- distanceScale: { type: 'number' },
1228
- skeletalBias: { type: 'number' },
1229
- hzb: { type: 'boolean' },
1230
- enableInstancing: { type: 'boolean' },
1231
- enableBatching: { type: 'boolean' },
1232
- mergeActors: { type: 'boolean' },
1233
- actors: { type: 'array', items: { type: 'string' } },
1234
- freezeRendering: { type: 'boolean' },
1235
- compileOnDemand: { type: 'boolean' },
1236
- cacheShaders: { type: 'boolean' },
1237
- reducePermutations: { type: 'boolean' },
1238
-
1239
- // Features
1240
- maxPixelsPerEdge: { type: 'number' },
1241
- streamingPoolSize: { type: 'number' },
1242
- streamingDistance: { type: 'number' },
1243
- cellSize: { type: 'number' }
1244
- },
1245
- required: ['action']
1246
- },
1247
- outputSchema: {
1248
- type: 'object',
1249
- properties: {
1250
- success: { type: 'boolean' },
1251
- message: { type: 'string' },
1252
- params: { type: 'object' }
1253
- }
1254
- }
1255
- }
1256
- ];