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,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
- ];