unreal-engine-mcp-server 0.5.4 → 0.5.6

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 (561) hide show
  1. package/CHANGELOG.md +350 -0
  2. package/dist/automation/bridge.d.ts.map +1 -0
  3. package/dist/automation/bridge.js +5 -4
  4. package/dist/automation/bridge.js.map +1 -0
  5. package/dist/automation/connection-manager.d.ts.map +1 -0
  6. package/dist/automation/connection-manager.js.map +1 -0
  7. package/dist/automation/handshake.d.ts.map +1 -0
  8. package/dist/automation/handshake.js.map +1 -0
  9. package/dist/automation/index.d.ts.map +1 -0
  10. package/dist/automation/index.js.map +1 -0
  11. package/dist/automation/message-handler.d.ts.map +1 -0
  12. package/dist/automation/message-handler.js.map +1 -0
  13. package/dist/automation/request-tracker.d.ts.map +1 -0
  14. package/dist/automation/request-tracker.js.map +1 -0
  15. package/dist/automation/types.d.ts +7 -0
  16. package/dist/automation/types.d.ts.map +1 -0
  17. package/dist/automation/types.js.map +1 -0
  18. package/dist/cli.d.ts.map +1 -0
  19. package/dist/cli.js +6 -4
  20. package/dist/cli.js.map +1 -0
  21. package/dist/config/class-aliases.d.ts.map +1 -0
  22. package/dist/config/class-aliases.js.map +1 -0
  23. package/dist/config.d.ts.map +1 -0
  24. package/dist/config.js.map +1 -0
  25. package/dist/constants.d.ts.map +1 -0
  26. package/dist/constants.js.map +1 -0
  27. package/dist/graphql/loaders.d.ts.map +1 -0
  28. package/dist/graphql/loaders.js.map +1 -0
  29. package/dist/graphql/resolvers.d.ts +174 -69
  30. package/dist/graphql/resolvers.d.ts.map +1 -0
  31. package/dist/graphql/resolvers.js +82 -67
  32. package/dist/graphql/resolvers.js.map +1 -0
  33. package/dist/graphql/schema.d.ts.map +1 -0
  34. package/dist/graphql/schema.js.map +1 -0
  35. package/dist/graphql/server.d.ts.map +1 -0
  36. package/dist/graphql/server.js.map +1 -0
  37. package/dist/graphql/types.d.ts.map +1 -0
  38. package/dist/graphql/types.js.map +1 -0
  39. package/dist/handlers/resource-handlers.d.ts.map +1 -0
  40. package/dist/handlers/resource-handlers.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +70 -9
  44. package/dist/index.js.map +1 -0
  45. package/dist/resources/actors.d.ts +7 -4
  46. package/dist/resources/actors.d.ts.map +1 -0
  47. package/dist/resources/actors.js +15 -12
  48. package/dist/resources/actors.js.map +1 -0
  49. package/dist/resources/assets.d.ts +43 -2
  50. package/dist/resources/assets.d.ts.map +1 -0
  51. package/dist/resources/assets.js +21 -12
  52. package/dist/resources/assets.js.map +1 -0
  53. package/dist/resources/levels.d.ts.map +1 -0
  54. package/dist/resources/levels.js +7 -5
  55. package/dist/resources/levels.js.map +1 -0
  56. package/dist/schemas/index.d.ts +4 -0
  57. package/dist/schemas/index.d.ts.map +1 -0
  58. package/dist/schemas/index.js +4 -0
  59. package/dist/schemas/index.js.map +1 -0
  60. package/dist/schemas/parser.d.ts +20 -0
  61. package/dist/schemas/parser.d.ts.map +1 -0
  62. package/dist/schemas/parser.js +61 -0
  63. package/dist/schemas/parser.js.map +1 -0
  64. package/dist/schemas/primitives.d.ts +221 -0
  65. package/dist/schemas/primitives.d.ts.map +1 -0
  66. package/dist/schemas/primitives.js +115 -0
  67. package/dist/schemas/primitives.js.map +1 -0
  68. package/dist/schemas/responses.d.ts +362 -0
  69. package/dist/schemas/responses.d.ts.map +1 -0
  70. package/dist/schemas/responses.js +252 -0
  71. package/dist/schemas/responses.js.map +1 -0
  72. package/dist/server/resource-registry.d.ts.map +1 -0
  73. package/dist/server/resource-registry.js.map +1 -0
  74. package/dist/server/tool-registry.d.ts.map +1 -0
  75. package/dist/server/tool-registry.js +22 -17
  76. package/dist/server/tool-registry.js.map +1 -0
  77. package/dist/server-setup.d.ts.map +1 -0
  78. package/dist/server-setup.js.map +1 -0
  79. package/dist/services/health-monitor.d.ts +1 -1
  80. package/dist/services/health-monitor.d.ts.map +1 -0
  81. package/dist/services/health-monitor.js +4 -3
  82. package/dist/services/health-monitor.js.map +1 -0
  83. package/dist/services/metrics-server.d.ts.map +1 -0
  84. package/dist/services/metrics-server.js.map +1 -0
  85. package/dist/tools/actors.d.ts +27 -27
  86. package/dist/tools/actors.d.ts.map +1 -0
  87. package/dist/tools/actors.js +14 -10
  88. package/dist/tools/actors.js.map +1 -0
  89. package/dist/tools/animation.d.ts +15 -23
  90. package/dist/tools/animation.d.ts.map +1 -0
  91. package/dist/tools/animation.js +17 -13
  92. package/dist/tools/animation.js.map +1 -0
  93. package/dist/tools/assets.d.ts.map +1 -0
  94. package/dist/tools/assets.js +18 -12
  95. package/dist/tools/assets.js.map +1 -0
  96. package/dist/tools/audio.d.ts +10 -10
  97. package/dist/tools/audio.d.ts.map +1 -0
  98. package/dist/tools/audio.js.map +1 -0
  99. package/dist/tools/base-tool.d.ts.map +1 -0
  100. package/dist/tools/base-tool.js.map +1 -0
  101. package/dist/tools/behavior-tree.d.ts +24 -24
  102. package/dist/tools/behavior-tree.d.ts.map +1 -0
  103. package/dist/tools/behavior-tree.js.map +1 -0
  104. package/dist/tools/blueprint.d.ts +14 -3
  105. package/dist/tools/blueprint.d.ts.map +1 -0
  106. package/dist/tools/blueprint.js +5 -3
  107. package/dist/tools/blueprint.js.map +1 -0
  108. package/dist/tools/consolidated-tool-definitions.d.ts +32 -32
  109. package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -0
  110. package/dist/tools/consolidated-tool-definitions.js.map +1 -0
  111. package/dist/tools/consolidated-tool-handlers.d.ts +1 -1
  112. package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -0
  113. package/dist/tools/consolidated-tool-handlers.js +26 -21
  114. package/dist/tools/consolidated-tool-handlers.js.map +1 -0
  115. package/dist/tools/debug.d.ts +25 -7
  116. package/dist/tools/debug.d.ts.map +1 -0
  117. package/dist/tools/debug.js +3 -1
  118. package/dist/tools/debug.js.map +1 -0
  119. package/dist/tools/dynamic-handler-registry.d.ts +1 -1
  120. package/dist/tools/dynamic-handler-registry.d.ts.map +1 -0
  121. package/dist/tools/dynamic-handler-registry.js +3 -1
  122. package/dist/tools/dynamic-handler-registry.js.map +1 -0
  123. package/dist/tools/editor.d.ts.map +1 -0
  124. package/dist/tools/editor.js +8 -6
  125. package/dist/tools/editor.js.map +1 -0
  126. package/dist/tools/engine.d.ts +1 -1
  127. package/dist/tools/engine.d.ts.map +1 -0
  128. package/dist/tools/engine.js +4 -2
  129. package/dist/tools/engine.js.map +1 -0
  130. package/dist/tools/environment.d.ts.map +1 -0
  131. package/dist/tools/environment.js +4 -3
  132. package/dist/tools/environment.js.map +1 -0
  133. package/dist/tools/foliage.d.ts.map +1 -0
  134. package/dist/tools/foliage.js +8 -8
  135. package/dist/tools/foliage.js.map +1 -0
  136. package/dist/tools/handlers/actor-handlers.d.ts +2 -1
  137. package/dist/tools/handlers/actor-handlers.d.ts.map +1 -0
  138. package/dist/tools/handlers/actor-handlers.js +56 -33
  139. package/dist/tools/handlers/actor-handlers.js.map +1 -0
  140. package/dist/tools/handlers/animation-handlers.d.ts +2 -1
  141. package/dist/tools/handlers/animation-handlers.d.ts.map +1 -0
  142. package/dist/tools/handlers/animation-handlers.js +74 -67
  143. package/dist/tools/handlers/animation-handlers.js.map +1 -0
  144. package/dist/tools/handlers/argument-helper.d.ts +24 -4
  145. package/dist/tools/handlers/argument-helper.d.ts.map +1 -0
  146. package/dist/tools/handlers/argument-helper.js +139 -4
  147. package/dist/tools/handlers/argument-helper.js.map +1 -0
  148. package/dist/tools/handlers/asset-handlers.d.ts +2 -1
  149. package/dist/tools/handlers/asset-handlers.d.ts.map +1 -0
  150. package/dist/tools/handlers/asset-handlers.js +155 -94
  151. package/dist/tools/handlers/asset-handlers.js.map +1 -0
  152. package/dist/tools/handlers/audio-handlers.d.ts +2 -1
  153. package/dist/tools/handlers/audio-handlers.d.ts.map +1 -0
  154. package/dist/tools/handlers/audio-handlers.js +82 -80
  155. package/dist/tools/handlers/audio-handlers.js.map +1 -0
  156. package/dist/tools/handlers/blueprint-handlers.d.ts +3 -5
  157. package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -0
  158. package/dist/tools/handlers/blueprint-handlers.js +150 -142
  159. package/dist/tools/handlers/blueprint-handlers.js.map +1 -0
  160. package/dist/tools/handlers/common-handlers.d.ts +2 -3
  161. package/dist/tools/handlers/common-handlers.d.ts.map +1 -0
  162. package/dist/tools/handlers/common-handlers.js.map +1 -0
  163. package/dist/tools/handlers/editor-handlers.d.ts.map +1 -0
  164. package/dist/tools/handlers/editor-handlers.js +12 -2
  165. package/dist/tools/handlers/editor-handlers.js.map +1 -0
  166. package/dist/tools/handlers/effect-handlers.d.ts +2 -1
  167. package/dist/tools/handlers/effect-handlers.d.ts.map +1 -0
  168. package/dist/tools/handlers/effect-handlers.js +70 -68
  169. package/dist/tools/handlers/effect-handlers.js.map +1 -0
  170. package/dist/tools/handlers/environment-handlers.d.ts +2 -1
  171. package/dist/tools/handlers/environment-handlers.d.ts.map +1 -0
  172. package/dist/tools/handlers/environment-handlers.js +86 -74
  173. package/dist/tools/handlers/environment-handlers.js.map +1 -0
  174. package/dist/tools/handlers/graph-handlers.d.ts +1 -1
  175. package/dist/tools/handlers/graph-handlers.d.ts.map +1 -0
  176. package/dist/tools/handlers/graph-handlers.js +63 -2
  177. package/dist/tools/handlers/graph-handlers.js.map +1 -0
  178. package/dist/tools/handlers/input-handlers.d.ts +2 -5
  179. package/dist/tools/handlers/input-handlers.d.ts.map +1 -0
  180. package/dist/tools/handlers/input-handlers.js +5 -4
  181. package/dist/tools/handlers/input-handlers.js.map +1 -0
  182. package/dist/tools/handlers/inspect-handlers.d.ts +2 -1
  183. package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -0
  184. package/dist/tools/handlers/inspect-handlers.js +61 -37
  185. package/dist/tools/handlers/inspect-handlers.js.map +1 -0
  186. package/dist/tools/handlers/level-handlers.d.ts +2 -2
  187. package/dist/tools/handlers/level-handlers.d.ts.map +1 -0
  188. package/dist/tools/handlers/level-handlers.js +43 -39
  189. package/dist/tools/handlers/level-handlers.js.map +1 -0
  190. package/dist/tools/handlers/lighting-handlers.d.ts +12 -1
  191. package/dist/tools/handlers/lighting-handlers.d.ts.map +1 -0
  192. package/dist/tools/handlers/lighting-handlers.js +90 -47
  193. package/dist/tools/handlers/lighting-handlers.js.map +1 -0
  194. package/dist/tools/handlers/performance-handlers.d.ts +2 -1
  195. package/dist/tools/handlers/performance-handlers.d.ts.map +1 -0
  196. package/dist/tools/handlers/performance-handlers.js +55 -40
  197. package/dist/tools/handlers/performance-handlers.js.map +1 -0
  198. package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -0
  199. package/dist/tools/handlers/pipeline-handlers.js.map +1 -0
  200. package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -0
  201. package/dist/tools/handlers/sequence-handlers.js.map +1 -0
  202. package/dist/tools/handlers/system-handlers.d.ts +3 -2
  203. package/dist/tools/handlers/system-handlers.d.ts.map +1 -0
  204. package/dist/tools/handlers/system-handlers.js +105 -52
  205. package/dist/tools/handlers/system-handlers.js.map +1 -0
  206. package/dist/tools/input.d.ts.map +1 -0
  207. package/dist/tools/input.js +3 -1
  208. package/dist/tools/input.js.map +1 -0
  209. package/dist/tools/introspection.d.ts +14 -14
  210. package/dist/tools/introspection.d.ts.map +1 -0
  211. package/dist/tools/introspection.js +54 -45
  212. package/dist/tools/introspection.js.map +1 -0
  213. package/dist/tools/landscape.d.ts.map +1 -0
  214. package/dist/tools/landscape.js +15 -13
  215. package/dist/tools/landscape.js.map +1 -0
  216. package/dist/tools/level.d.ts.map +1 -0
  217. package/dist/tools/level.js +3 -2
  218. package/dist/tools/level.js.map +1 -0
  219. package/dist/tools/lighting.d.ts +32 -59
  220. package/dist/tools/lighting.d.ts.map +1 -0
  221. package/dist/tools/lighting.js +56 -19
  222. package/dist/tools/lighting.js.map +1 -0
  223. package/dist/tools/logs.d.ts.map +1 -0
  224. package/dist/tools/logs.js +2 -1
  225. package/dist/tools/logs.js.map +1 -0
  226. package/dist/tools/materials.d.ts +42 -14
  227. package/dist/tools/materials.d.ts.map +1 -0
  228. package/dist/tools/materials.js +15 -9
  229. package/dist/tools/materials.js.map +1 -0
  230. package/dist/tools/niagara.d.ts +63 -39
  231. package/dist/tools/niagara.d.ts.map +1 -0
  232. package/dist/tools/niagara.js +43 -33
  233. package/dist/tools/niagara.js.map +1 -0
  234. package/dist/tools/performance.d.ts +12 -11
  235. package/dist/tools/performance.d.ts.map +1 -0
  236. package/dist/tools/performance.js +3 -2
  237. package/dist/tools/performance.js.map +1 -0
  238. package/dist/tools/physics.d.ts +37 -20
  239. package/dist/tools/physics.d.ts.map +1 -0
  240. package/dist/tools/physics.js +37 -30
  241. package/dist/tools/physics.js.map +1 -0
  242. package/dist/tools/property-dictionary.d.ts.map +1 -0
  243. package/dist/tools/property-dictionary.js.map +1 -0
  244. package/dist/tools/sequence.d.ts +1 -1
  245. package/dist/tools/sequence.d.ts.map +1 -0
  246. package/dist/tools/sequence.js +8 -4
  247. package/dist/tools/sequence.js.map +1 -0
  248. package/dist/tools/tool-definition-utils.d.ts.map +1 -0
  249. package/dist/tools/tool-definition-utils.js.map +1 -0
  250. package/dist/tools/ui.d.ts +11 -11
  251. package/dist/tools/ui.d.ts.map +1 -0
  252. package/dist/tools/ui.js +7 -3
  253. package/dist/tools/ui.js.map +1 -0
  254. package/dist/types/automation-responses.d.ts.map +1 -0
  255. package/dist/types/automation-responses.js.map +1 -0
  256. package/dist/types/env.d.ts.map +1 -0
  257. package/dist/types/env.js.map +1 -0
  258. package/dist/types/handler-types.d.ts +112 -3
  259. package/dist/types/handler-types.d.ts.map +1 -0
  260. package/dist/types/handler-types.js.map +1 -0
  261. package/dist/types/tool-interfaces.d.ts +39 -21
  262. package/dist/types/tool-interfaces.d.ts.map +1 -0
  263. package/dist/types/tool-interfaces.js.map +1 -0
  264. package/dist/types/tool-types.d.ts +8 -8
  265. package/dist/types/tool-types.d.ts.map +1 -0
  266. package/dist/types/tool-types.js.map +1 -0
  267. package/dist/unreal-bridge.d.ts +8 -6
  268. package/dist/unreal-bridge.d.ts.map +1 -0
  269. package/dist/unreal-bridge.js +16 -3
  270. package/dist/unreal-bridge.js.map +1 -0
  271. package/dist/utils/command-validator.d.ts.map +1 -0
  272. package/dist/utils/command-validator.js.map +1 -0
  273. package/dist/utils/elicitation.d.ts +2 -5
  274. package/dist/utils/elicitation.d.ts.map +1 -0
  275. package/dist/utils/elicitation.js +3 -2
  276. package/dist/utils/elicitation.js.map +1 -0
  277. package/dist/utils/error-handler.d.ts.map +1 -0
  278. package/dist/utils/error-handler.js.map +1 -0
  279. package/dist/utils/ini-reader.d.ts +1 -1
  280. package/dist/utils/ini-reader.d.ts.map +1 -0
  281. package/dist/utils/ini-reader.js.map +1 -0
  282. package/dist/utils/logger.d.ts +4 -4
  283. package/dist/utils/logger.d.ts.map +1 -0
  284. package/dist/utils/logger.js.map +1 -0
  285. package/dist/utils/normalize.d.ts +2 -2
  286. package/dist/utils/normalize.d.ts.map +1 -0
  287. package/dist/utils/normalize.js +4 -3
  288. package/dist/utils/normalize.js.map +1 -0
  289. package/dist/utils/path-security.d.ts.map +1 -0
  290. package/dist/utils/path-security.js.map +1 -0
  291. package/dist/utils/response-factory.d.ts +2 -2
  292. package/dist/utils/response-factory.d.ts.map +1 -0
  293. package/dist/utils/response-factory.js +3 -1
  294. package/dist/utils/response-factory.js.map +1 -0
  295. package/dist/utils/response-validator.d.ts +4 -4
  296. package/dist/utils/response-validator.d.ts.map +1 -0
  297. package/dist/utils/response-validator.js +31 -23
  298. package/dist/utils/response-validator.js.map +1 -0
  299. package/dist/utils/result-helpers.d.ts.map +1 -0
  300. package/dist/utils/result-helpers.js.map +1 -0
  301. package/dist/utils/safe-json.d.ts.map +1 -0
  302. package/dist/utils/safe-json.js.map +1 -0
  303. package/dist/utils/unreal-command-queue.d.ts +2 -2
  304. package/dist/utils/unreal-command-queue.d.ts.map +1 -0
  305. package/dist/utils/unreal-command-queue.js +4 -3
  306. package/dist/utils/unreal-command-queue.js.map +1 -0
  307. package/dist/utils/validation.d.ts +1 -1
  308. package/dist/utils/validation.d.ts.map +1 -0
  309. package/dist/utils/validation.js.map +1 -0
  310. package/dist/wasm/index.d.ts +2 -2
  311. package/dist/wasm/index.d.ts.map +1 -0
  312. package/dist/wasm/index.js +11 -7
  313. package/dist/wasm/index.js.map +1 -0
  314. package/package.json +12 -34
  315. package/server.json +2 -2
  316. package/.dockerignore +0 -57
  317. package/.env.example +0 -26
  318. package/.env.production +0 -61
  319. package/.eslintrc.json +0 -0
  320. package/.eslintrc.override.json +0 -8
  321. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -94
  322. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  323. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -56
  324. package/.github/copilot-instructions.md +0 -478
  325. package/.github/dependabot.yml +0 -19
  326. package/.github/labeler.yml +0 -24
  327. package/.github/labels.yml +0 -70
  328. package/.github/pull_request_template.md +0 -42
  329. package/.github/release-drafter-config.yml +0 -51
  330. package/.github/workflows/auto-merge.yml +0 -38
  331. package/.github/workflows/ci.yml +0 -38
  332. package/.github/workflows/dependency-review.yml +0 -17
  333. package/.github/workflows/gemini-issue-triage.yml +0 -172
  334. package/.github/workflows/greetings.yml +0 -27
  335. package/.github/workflows/labeler.yml +0 -17
  336. package/.github/workflows/links.yml +0 -80
  337. package/.github/workflows/pr-size-labeler.yml +0 -137
  338. package/.github/workflows/publish-mcp.yml +0 -79
  339. package/.github/workflows/release-drafter.yml +0 -24
  340. package/.github/workflows/release.yml +0 -112
  341. package/.github/workflows/semantic-pull-request.yml +0 -35
  342. package/.github/workflows/smoke-test.yml +0 -36
  343. package/.github/workflows/stale.yml +0 -28
  344. package/CONTRIBUTING.md +0 -140
  345. package/Dockerfile +0 -37
  346. package/GEMINI.md +0 -115
  347. package/Public/Plugin_setup_guide.mp4 +0 -0
  348. package/Public/icon.png +0 -0
  349. package/claude_desktop_config_example.json +0 -15
  350. package/dist/types/responses.d.ts +0 -249
  351. package/dist/types/responses.js +0 -2
  352. package/docs/GraphQL-API.md +0 -888
  353. package/docs/Migration-Guide-v0.5.0.md +0 -684
  354. package/docs/Roadmap.md +0 -53
  355. package/docs/WebAssembly-Integration.md +0 -628
  356. package/docs/editor-plugin-extension.md +0 -370
  357. package/docs/handler-mapping.md +0 -249
  358. package/docs/native-automation-progress.md +0 -128
  359. package/docs/testing-guide.md +0 -423
  360. package/eslint.config.mjs +0 -68
  361. package/mcp-config-example.json +0 -14
  362. package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +0 -8
  363. package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +0 -64
  364. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +0 -189
  365. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +0 -22
  366. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +0 -30
  367. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +0 -1983
  368. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +0 -72
  369. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +0 -46
  370. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +0 -846
  371. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +0 -2393
  372. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +0 -300
  373. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +0 -2807
  374. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +0 -1087
  375. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +0 -488
  376. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +0 -643
  377. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +0 -31
  378. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +0 -1094
  379. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +0 -5750
  380. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +0 -152
  381. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +0 -2614
  382. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +0 -42
  383. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +0 -1237
  384. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +0 -1725
  385. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +0 -2265
  386. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +0 -954
  387. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +0 -209
  388. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +0 -41
  389. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +0 -1164
  390. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +0 -762
  391. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +0 -663
  392. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +0 -136
  393. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +0 -494
  394. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +0 -278
  395. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +0 -625
  396. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +0 -401
  397. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +0 -67
  398. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +0 -472
  399. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +0 -2634
  400. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +0 -189
  401. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +0 -917
  402. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +0 -39
  403. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +0 -2706
  404. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +0 -519
  405. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +0 -38
  406. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +0 -668
  407. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +0 -346
  408. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +0 -1345
  409. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +0 -149
  410. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +0 -782
  411. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +0 -115
  412. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +0 -796
  413. package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +0 -117
  414. package/scripts/check-unreal-connection.mjs +0 -19
  415. package/scripts/clean-tmp.js +0 -23
  416. package/scripts/patch-wasm.js +0 -26
  417. package/scripts/run-all-tests.mjs +0 -136
  418. package/scripts/smoke-test.ts +0 -94
  419. package/scripts/sync-mcp-plugin.js +0 -143
  420. package/scripts/test-no-plugin-alternates.mjs +0 -113
  421. package/scripts/validate-server.js +0 -46
  422. package/scripts/verify-automation-bridge.js +0 -200
  423. package/src/automation/bridge.ts +0 -630
  424. package/src/automation/connection-manager.ts +0 -148
  425. package/src/automation/handshake.ts +0 -99
  426. package/src/automation/index.ts +0 -2
  427. package/src/automation/message-handler.ts +0 -192
  428. package/src/automation/request-tracker.ts +0 -155
  429. package/src/automation/types.ts +0 -108
  430. package/src/cli.ts +0 -34
  431. package/src/config/class-aliases.ts +0 -65
  432. package/src/config.ts +0 -73
  433. package/src/constants.ts +0 -29
  434. package/src/graphql/loaders.ts +0 -244
  435. package/src/graphql/resolvers.ts +0 -1008
  436. package/src/graphql/schema.ts +0 -452
  437. package/src/graphql/server.ts +0 -156
  438. package/src/graphql/types.ts +0 -10
  439. package/src/handlers/resource-handlers.ts +0 -186
  440. package/src/index.ts +0 -243
  441. package/src/resources/actors.ts +0 -127
  442. package/src/resources/assets.ts +0 -286
  443. package/src/resources/levels.ts +0 -68
  444. package/src/server/resource-registry.ts +0 -47
  445. package/src/server/tool-registry.ts +0 -354
  446. package/src/server-setup.ts +0 -114
  447. package/src/services/health-monitor.ts +0 -132
  448. package/src/services/metrics-server.ts +0 -176
  449. package/src/tools/actors.ts +0 -564
  450. package/src/tools/animation.ts +0 -941
  451. package/src/tools/assets.ts +0 -394
  452. package/src/tools/audio.ts +0 -499
  453. package/src/tools/base-tool.ts +0 -52
  454. package/src/tools/behavior-tree.ts +0 -45
  455. package/src/tools/blueprint.ts +0 -940
  456. package/src/tools/consolidated-tool-definitions.ts +0 -1256
  457. package/src/tools/consolidated-tool-handlers.ts +0 -302
  458. package/src/tools/debug.ts +0 -622
  459. package/src/tools/dynamic-handler-registry.ts +0 -33
  460. package/src/tools/editor.ts +0 -435
  461. package/src/tools/engine.ts +0 -43
  462. package/src/tools/environment.ts +0 -281
  463. package/src/tools/foliage.ts +0 -596
  464. package/src/tools/handlers/actor-handlers.ts +0 -244
  465. package/src/tools/handlers/animation-handlers.ts +0 -237
  466. package/src/tools/handlers/argument-helper.ts +0 -142
  467. package/src/tools/handlers/asset-handlers.ts +0 -550
  468. package/src/tools/handlers/audio-handlers.ts +0 -194
  469. package/src/tools/handlers/blueprint-handlers.ts +0 -380
  470. package/src/tools/handlers/common-handlers.ts +0 -108
  471. package/src/tools/handlers/editor-handlers.ts +0 -124
  472. package/src/tools/handlers/effect-handlers.ts +0 -224
  473. package/src/tools/handlers/environment-handlers.ts +0 -183
  474. package/src/tools/handlers/graph-handlers.ts +0 -117
  475. package/src/tools/handlers/input-handlers.ts +0 -28
  476. package/src/tools/handlers/inspect-handlers.ts +0 -450
  477. package/src/tools/handlers/level-handlers.ts +0 -253
  478. package/src/tools/handlers/lighting-handlers.ts +0 -151
  479. package/src/tools/handlers/performance-handlers.ts +0 -132
  480. package/src/tools/handlers/pipeline-handlers.ts +0 -194
  481. package/src/tools/handlers/sequence-handlers.ts +0 -438
  482. package/src/tools/handlers/system-handlers.ts +0 -564
  483. package/src/tools/input.ts +0 -160
  484. package/src/tools/introspection.ts +0 -689
  485. package/src/tools/landscape.ts +0 -649
  486. package/src/tools/level.ts +0 -989
  487. package/src/tools/lighting.ts +0 -1052
  488. package/src/tools/logs.ts +0 -219
  489. package/src/tools/materials.ts +0 -295
  490. package/src/tools/niagara.ts +0 -485
  491. package/src/tools/performance.ts +0 -661
  492. package/src/tools/physics.ts +0 -679
  493. package/src/tools/property-dictionary.ts +0 -98
  494. package/src/tools/sequence.ts +0 -385
  495. package/src/tools/tool-definition-utils.ts +0 -35
  496. package/src/tools/ui.ts +0 -452
  497. package/src/types/automation-responses.ts +0 -119
  498. package/src/types/env.ts +0 -17
  499. package/src/types/handler-types.ts +0 -442
  500. package/src/types/responses.ts +0 -355
  501. package/src/types/tool-interfaces.ts +0 -250
  502. package/src/types/tool-types.ts +0 -575
  503. package/src/unreal-bridge.ts +0 -693
  504. package/src/utils/command-validator.ts +0 -139
  505. package/src/utils/elicitation.ts +0 -132
  506. package/src/utils/error-handler.ts +0 -287
  507. package/src/utils/ini-reader.ts +0 -86
  508. package/src/utils/logger.ts +0 -35
  509. package/src/utils/normalize.test.ts +0 -162
  510. package/src/utils/normalize.ts +0 -146
  511. package/src/utils/path-security.ts +0 -43
  512. package/src/utils/response-factory.ts +0 -44
  513. package/src/utils/response-validator.ts +0 -395
  514. package/src/utils/result-helpers.ts +0 -195
  515. package/src/utils/safe-json.test.ts +0 -90
  516. package/src/utils/safe-json.ts +0 -70
  517. package/src/utils/unreal-command-queue.ts +0 -166
  518. package/src/utils/validation.test.ts +0 -184
  519. package/src/utils/validation.ts +0 -312
  520. package/src/wasm/index.ts +0 -838
  521. package/test-server.mjs +0 -100
  522. package/tests/test-animation.mjs +0 -369
  523. package/tests/test-asset-advanced.mjs +0 -82
  524. package/tests/test-asset-graph.mjs +0 -311
  525. package/tests/test-audio.mjs +0 -417
  526. package/tests/test-automation-timeouts.mjs +0 -98
  527. package/tests/test-behavior-tree.mjs +0 -444
  528. package/tests/test-blueprint-graph.mjs +0 -410
  529. package/tests/test-blueprint.mjs +0 -577
  530. package/tests/test-client-mode.mjs +0 -86
  531. package/tests/test-console-command.mjs +0 -56
  532. package/tests/test-control-actor.mjs +0 -425
  533. package/tests/test-control-editor.mjs +0 -112
  534. package/tests/test-graphql.mjs +0 -372
  535. package/tests/test-input.mjs +0 -349
  536. package/tests/test-inspect.mjs +0 -302
  537. package/tests/test-landscape.mjs +0 -316
  538. package/tests/test-lighting.mjs +0 -428
  539. package/tests/test-manage-asset.mjs +0 -438
  540. package/tests/test-manage-level.mjs +0 -89
  541. package/tests/test-materials.mjs +0 -356
  542. package/tests/test-niagara.mjs +0 -185
  543. package/tests/test-no-inline-python.mjs +0 -122
  544. package/tests/test-performance.mjs +0 -539
  545. package/tests/test-plugin-handshake.mjs +0 -82
  546. package/tests/test-runner.mjs +0 -993
  547. package/tests/test-sequence.mjs +0 -104
  548. package/tests/test-system.mjs +0 -96
  549. package/tests/test-wasm.mjs +0 -283
  550. package/tests/test-world-partition.mjs +0 -215
  551. package/tsconfig.json +0 -56
  552. package/vitest.config.ts +0 -35
  553. package/wasm/Cargo.lock +0 -363
  554. package/wasm/Cargo.toml +0 -42
  555. package/wasm/LICENSE +0 -21
  556. package/wasm/README.md +0 -253
  557. package/wasm/src/dependency_resolver.rs +0 -377
  558. package/wasm/src/lib.rs +0 -153
  559. package/wasm/src/property_parser.rs +0 -271
  560. package/wasm/src/transform_math.rs +0 -396
  561. package/wasm/tests/integration.rs +0 -109
@@ -1,6 +1,6 @@
1
1
  import { cleanObject } from '../../utils/safe-json.js';
2
2
  import { executeAutomationRequest } from './common-handlers.js';
3
- import { normalizeArgs } from './argument-helper.js';
3
+ import { normalizeArgs, extractString, extractOptionalString, extractOptionalNumber, extractOptionalBoolean, extractOptionalArray } from './argument-helper.js';
4
4
  import { ResponseFactory } from '../../utils/response-factory.js';
5
5
  export async function handleAssetTools(action, args, tools) {
6
6
  try {
@@ -12,26 +12,29 @@ export async function handleAssetTools(action, args, tools) {
12
12
  { key: 'recursive', default: false },
13
13
  { key: 'depth', default: undefined }
14
14
  ]);
15
- const recursive = params.recursive === true || (params.depth !== undefined && params.depth > 0);
15
+ const path = extractOptionalString(params, 'path') ?? '/Game';
16
+ const limit = extractOptionalNumber(params, 'limit') ?? 50;
17
+ const recursive = extractOptionalBoolean(params, 'recursive') ?? false;
18
+ const depth = extractOptionalNumber(params, 'depth');
19
+ const effectiveRecursive = recursive === true || (depth !== undefined && depth > 0);
16
20
  const res = await executeAutomationRequest(tools, 'list', {
17
- path: params.path,
18
- recursive,
19
- depth: params.depth
21
+ path,
22
+ recursive: effectiveRecursive,
23
+ depth
20
24
  });
21
- const response = res;
22
- const assets = (Array.isArray(response.assets) ? response.assets :
23
- (Array.isArray(response.result) ? response.result : (response.result?.assets || [])));
24
- const folders = Array.isArray(response.folders) ? response.folders : (response.result?.folders || []);
25
+ const assets = (Array.isArray(res.assets) ? res.assets :
26
+ (Array.isArray(res.result) ? res.result : (res.result?.assets || [])));
27
+ const folders = Array.isArray(res.folders) ? res.folders : (res.result?.folders || []);
25
28
  const totalCount = assets.length;
26
- const limitedAssets = assets.slice(0, params.limit);
27
- const remaining = Math.max(0, totalCount - params.limit);
29
+ const limitedAssets = assets.slice(0, limit);
30
+ const remaining = Math.max(0, totalCount - limit);
28
31
  let message = `Found ${totalCount} assets`;
29
32
  if (folders.length > 0) {
30
33
  message += ` and ${folders.length} folders`;
31
34
  }
32
- message += `: ${limitedAssets.map((a) => a.path || a.package || a.name).join(', ')}`;
33
- if (folders.length > 0 && limitedAssets.length < params.limit) {
34
- const remainingLimit = params.limit - limitedAssets.length;
35
+ message += `: ${limitedAssets.map((a) => a.path || a.package || a.name || 'unknown').join(', ')}`;
36
+ if (folders.length > 0 && limitedAssets.length < limit) {
37
+ const remainingLimit = limit - limitedAssets.length;
35
38
  if (remainingLimit > 0) {
36
39
  const limitedFolders = folders.slice(0, remainingLimit);
37
40
  if (limitedAssets.length > 0)
@@ -55,7 +58,11 @@ export async function handleAssetTools(action, args, tools) {
55
58
  const params = normalizeArgs(args, [
56
59
  { key: 'path', aliases: ['directoryPath'], required: true }
57
60
  ]);
58
- const res = await tools.assetTools.createFolder(params.path);
61
+ const folderPath = extractString(params, 'path').trim();
62
+ if (!folderPath.startsWith('/')) {
63
+ return ResponseFactory.error('VALIDATION_ERROR', `Invalid folder path: '${folderPath}'. Path must start with '/'`);
64
+ }
65
+ const res = await tools.assetTools.createFolder(folderPath);
59
66
  return ResponseFactory.success(res, 'Folder created successfully');
60
67
  }
61
68
  case 'import': {
@@ -65,11 +72,15 @@ export async function handleAssetTools(action, args, tools) {
65
72
  { key: 'overwrite', default: false },
66
73
  { key: 'save', default: true }
67
74
  ]);
75
+ const sourcePath = extractString(params, 'sourcePath');
76
+ const destinationPath = extractString(params, 'destinationPath');
77
+ const overwrite = extractOptionalBoolean(params, 'overwrite') ?? false;
78
+ const save = extractOptionalBoolean(params, 'save') ?? true;
68
79
  const res = await tools.assetTools.importAsset({
69
- sourcePath: params.sourcePath,
70
- destinationPath: params.destinationPath,
71
- overwrite: params.overwrite,
72
- save: params.save
80
+ sourcePath,
81
+ destinationPath,
82
+ overwrite,
83
+ save
73
84
  });
74
85
  return ResponseFactory.success(res, 'Asset imported successfully');
75
86
  }
@@ -79,16 +90,18 @@ export async function handleAssetTools(action, args, tools) {
79
90
  { key: 'destinationPath' },
80
91
  { key: 'newName' }
81
92
  ]);
82
- let destinationPath = params.destinationPath;
83
- if (params.newName) {
93
+ const sourcePath = extractString(params, 'sourcePath');
94
+ let destinationPath = extractOptionalString(params, 'destinationPath');
95
+ const newName = extractOptionalString(params, 'newName');
96
+ if (newName) {
84
97
  if (!destinationPath) {
85
- const lastSlash = params.sourcePath.lastIndexOf('/');
86
- const parentDir = lastSlash > 0 ? params.sourcePath.substring(0, lastSlash) : '/Game';
87
- destinationPath = `${parentDir}/${params.newName}`;
98
+ const lastSlash = sourcePath.lastIndexOf('/');
99
+ const parentDir = lastSlash > 0 ? sourcePath.substring(0, lastSlash) : '/Game';
100
+ destinationPath = `${parentDir}/${newName}`;
88
101
  }
89
- else if (!destinationPath.endsWith(params.newName)) {
102
+ else if (!destinationPath.endsWith(newName)) {
90
103
  if (destinationPath.endsWith('/')) {
91
- destinationPath = `${destinationPath}${params.newName}`;
104
+ destinationPath = `${destinationPath}${newName}`;
92
105
  }
93
106
  }
94
107
  }
@@ -96,7 +109,7 @@ export async function handleAssetTools(action, args, tools) {
96
109
  throw new Error('destinationPath or newName is required for duplicate action');
97
110
  }
98
111
  const res = await tools.assetTools.duplicateAsset({
99
- sourcePath: params.sourcePath,
112
+ sourcePath,
100
113
  destinationPath
101
114
  });
102
115
  return ResponseFactory.success(res, 'Asset duplicated successfully');
@@ -107,16 +120,18 @@ export async function handleAssetTools(action, args, tools) {
107
120
  { key: 'destinationPath' },
108
121
  { key: 'newName' }
109
122
  ]);
110
- let destinationPath = params.destinationPath;
111
- if (!destinationPath && params.newName) {
112
- const lastSlash = params.sourcePath.lastIndexOf('/');
113
- const parentDir = lastSlash > 0 ? params.sourcePath.substring(0, lastSlash) : '/Game';
114
- destinationPath = `${parentDir}/${params.newName}`;
123
+ const sourcePath = extractString(params, 'sourcePath');
124
+ let destinationPath = extractOptionalString(params, 'destinationPath');
125
+ const newName = extractOptionalString(params, 'newName');
126
+ if (!destinationPath && newName) {
127
+ const lastSlash = sourcePath.lastIndexOf('/');
128
+ const parentDir = lastSlash > 0 ? sourcePath.substring(0, lastSlash) : '/Game';
129
+ destinationPath = `${parentDir}/${newName}`;
115
130
  }
116
131
  if (!destinationPath)
117
132
  throw new Error('Missing destinationPath or newName');
118
133
  const res = await tools.assetTools.renameAsset({
119
- sourcePath: params.sourcePath,
134
+ sourcePath,
120
135
  destinationPath
121
136
  });
122
137
  if (res && res.success === false) {
@@ -126,7 +141,7 @@ export async function handleAssetTools(action, args, tools) {
126
141
  success: false,
127
142
  error: 'ASSET_ALREADY_EXISTS',
128
143
  message: res.message || 'Asset already exists at destination',
129
- sourcePath: params.sourcePath,
144
+ sourcePath,
130
145
  destinationPath
131
146
  });
132
147
  }
@@ -138,14 +153,15 @@ export async function handleAssetTools(action, args, tools) {
138
153
  { key: 'sourcePath', aliases: ['assetPath'], required: true },
139
154
  { key: 'destinationPath' }
140
155
  ]);
141
- let destinationPath = params.destinationPath;
142
- const assetName = params.sourcePath.split('/').pop();
156
+ const sourcePath = extractString(params, 'sourcePath');
157
+ let destinationPath = extractOptionalString(params, 'destinationPath');
158
+ const assetName = sourcePath.split('/').pop();
143
159
  if (assetName && destinationPath && !destinationPath.endsWith(assetName)) {
144
160
  destinationPath = `${destinationPath.replace(/\/$/, '')}/${assetName}`;
145
161
  }
146
162
  const res = await tools.assetTools.moveAsset({
147
- sourcePath: params.sourcePath,
148
- destinationPath
163
+ sourcePath,
164
+ destinationPath: destinationPath ?? ''
149
165
  });
150
166
  return ResponseFactory.success(res, 'Asset moved successfully');
151
167
  }
@@ -153,14 +169,12 @@ export async function handleAssetTools(action, args, tools) {
153
169
  case 'delete_asset':
154
170
  case 'delete': {
155
171
  let paths = [];
156
- if (Array.isArray(args.paths)) {
157
- paths = args.paths;
158
- }
159
- else if (Array.isArray(args.assetPaths)) {
160
- paths = args.assetPaths;
172
+ const argsTyped = args;
173
+ if (Array.isArray(argsTyped.assetPaths)) {
174
+ paths = argsTyped.assetPaths;
161
175
  }
162
176
  else {
163
- const single = args.assetPath || args.path;
177
+ const single = argsTyped.assetPath || argsTyped.path;
164
178
  if (typeof single === 'string' && single.trim()) {
165
179
  paths = [single.trim()];
166
180
  }
@@ -188,9 +202,11 @@ export async function handleAssetTools(action, args, tools) {
188
202
  { key: 'assetPath', required: true },
189
203
  { key: 'lodCount', required: true }
190
204
  ]);
205
+ const assetPath = extractString(params, 'assetPath');
206
+ const lodCount = typeof params.lodCount === 'number' ? params.lodCount : Number(params.lodCount);
191
207
  const res = await tools.assetTools.generateLODs({
192
- assetPath: params.assetPath,
193
- lodCount: params.lodCount
208
+ assetPath,
209
+ lodCount
194
210
  });
195
211
  return ResponseFactory.success(res, 'LODs generated successfully');
196
212
  }
@@ -200,10 +216,13 @@ export async function handleAssetTools(action, args, tools) {
200
216
  { key: 'width' },
201
217
  { key: 'height' }
202
218
  ]);
219
+ const assetPath = extractString(params, 'assetPath');
220
+ const width = extractOptionalNumber(params, 'width');
221
+ const height = extractOptionalNumber(params, 'height');
203
222
  const res = await tools.assetTools.createThumbnail({
204
- assetPath: params.assetPath,
205
- width: params.width,
206
- height: params.height
223
+ assetPath,
224
+ width,
225
+ height
207
226
  });
208
227
  return ResponseFactory.success(res, 'Thumbnail created successfully');
209
228
  }
@@ -213,11 +232,13 @@ export async function handleAssetTools(action, args, tools) {
213
232
  { key: 'assetPath', required: true },
214
233
  { key: 'tags', required: true }
215
234
  ]);
216
- const res = await tools.assetTools.setTags({ assetPath: params.assetPath, tags: params.tags });
235
+ const assetPath = extractString(params, 'assetPath');
236
+ const tags = extractOptionalArray(params, 'tags') ?? [];
237
+ const res = await tools.assetTools.setTags({ assetPath, tags });
217
238
  return ResponseFactory.success(res, 'Tags set successfully');
218
239
  }
219
240
  catch (err) {
220
- const message = String(err?.message || err || '').toLowerCase();
241
+ const message = String(err instanceof Error ? err.message : err).toLowerCase();
221
242
  if (message.includes('not_implemented') ||
222
243
  message.includes('not implemented') ||
223
244
  message.includes('unknown action') ||
@@ -231,7 +252,8 @@ export async function handleAssetTools(action, args, tools) {
231
252
  const params = normalizeArgs(args, [
232
253
  { key: 'assetPath', required: true }
233
254
  ]);
234
- const res = await tools.assetTools.getMetadata({ assetPath: params.assetPath });
255
+ const assetPath = extractString(params, 'assetPath');
256
+ const res = await tools.assetTools.getMetadata({ assetPath });
235
257
  const tags = res.tags || {};
236
258
  const metadata = res.metadata || {};
237
259
  const merged = { ...tags, ...metadata };
@@ -253,7 +275,8 @@ export async function handleAssetTools(action, args, tools) {
253
275
  const params = normalizeArgs(args, [
254
276
  { key: 'assetPath', required: true }
255
277
  ]);
256
- const res = await tools.assetTools.validate({ assetPath: params.assetPath });
278
+ const assetPath = extractString(params, 'assetPath');
279
+ const res = await tools.assetTools.validate({ assetPath });
257
280
  return ResponseFactory.success(res, 'Asset validation complete');
258
281
  }
259
282
  case 'generate_report': {
@@ -262,25 +285,29 @@ export async function handleAssetTools(action, args, tools) {
262
285
  { key: 'reportType' },
263
286
  { key: 'outputPath' }
264
287
  ]);
288
+ const directory = extractOptionalString(params, 'directory') ?? '';
289
+ const reportType = extractOptionalString(params, 'reportType');
290
+ const outputPath = extractOptionalString(params, 'outputPath');
265
291
  const res = await tools.assetTools.generateReport({
266
- directory: params.directory,
267
- reportType: params.reportType,
268
- outputPath: params.outputPath
292
+ directory,
293
+ reportType,
294
+ outputPath
269
295
  });
270
296
  return ResponseFactory.success(res, 'Report generated successfully');
271
297
  }
272
298
  case 'create_material_instance': {
273
299
  const res = await executeAutomationRequest(tools, 'create_material_instance', args, 'Automation bridge not available for create_material_instance');
274
- const result = res?.result ?? res ?? {};
300
+ const result = res ?? {};
275
301
  const errorCode = typeof result.error === 'string' ? result.error.toUpperCase() : '';
276
302
  const message = typeof result.message === 'string' ? result.message : '';
303
+ const argsTyped = args;
277
304
  if (errorCode === 'PARENT_NOT_FOUND' || message.toLowerCase().includes('parent material not found')) {
278
305
  return cleanObject({
279
306
  success: false,
280
307
  error: 'PARENT_NOT_FOUND',
281
308
  message: message || 'Parent material not found',
282
309
  path: result.path,
283
- parentMaterial: args.parentMaterial
310
+ parentMaterial: argsTyped.parentMaterial
284
311
  });
285
312
  }
286
313
  return ResponseFactory.success(res, 'Material instance created successfully');
@@ -293,12 +320,17 @@ export async function handleAssetTools(action, args, tools) {
293
320
  { key: 'recursiveClasses' },
294
321
  { key: 'limit' }
295
322
  ]);
323
+ const classNames = extractOptionalArray(params, 'classNames');
324
+ const packagePaths = extractOptionalArray(params, 'packagePaths');
325
+ const recursivePaths = extractOptionalBoolean(params, 'recursivePaths');
326
+ const recursiveClasses = extractOptionalBoolean(params, 'recursiveClasses');
327
+ const limit = extractOptionalNumber(params, 'limit');
296
328
  const res = await tools.assetTools.searchAssets({
297
- classNames: params.classNames,
298
- packagePaths: params.packagePaths,
299
- recursivePaths: params.recursivePaths,
300
- recursiveClasses: params.recursiveClasses,
301
- limit: params.limit
329
+ classNames,
330
+ packagePaths,
331
+ recursivePaths,
332
+ recursiveClasses,
333
+ limit
302
334
  });
303
335
  return ResponseFactory.success(res, 'Assets found');
304
336
  }
@@ -307,7 +339,9 @@ export async function handleAssetTools(action, args, tools) {
307
339
  { key: 'tag', required: true },
308
340
  { key: 'value' }
309
341
  ]);
310
- const res = await tools.assetTools.findByTag({ tag: params.tag, value: params.value });
342
+ const tag = extractString(params, 'tag');
343
+ const value = extractOptionalString(params, 'value');
344
+ const res = await tools.assetTools.findByTag({ tag, value });
311
345
  return ResponseFactory.success(res, 'Assets found by tag');
312
346
  }
313
347
  case 'get_dependencies': {
@@ -315,14 +349,17 @@ export async function handleAssetTools(action, args, tools) {
315
349
  { key: 'assetPath', required: true },
316
350
  { key: 'recursive' }
317
351
  ]);
318
- const res = await tools.assetTools.getDependencies({ assetPath: params.assetPath, recursive: params.recursive });
352
+ const assetPath = extractString(params, 'assetPath');
353
+ const recursive = extractOptionalBoolean(params, 'recursive');
354
+ const res = await tools.assetTools.getDependencies({ assetPath, recursive });
319
355
  return ResponseFactory.success(res, 'Dependencies retrieved');
320
356
  }
321
357
  case 'get_source_control_state': {
322
358
  const params = normalizeArgs(args, [
323
359
  { key: 'assetPath', required: true }
324
360
  ]);
325
- const res = await tools.assetTools.getSourceControlState({ assetPath: params.assetPath });
361
+ const assetPath = extractString(params, 'assetPath');
362
+ const res = await tools.assetTools.getSourceControlState({ assetPath });
326
363
  return ResponseFactory.success(res, 'Source control state retrieved');
327
364
  }
328
365
  case 'analyze_graph': {
@@ -330,9 +367,11 @@ export async function handleAssetTools(action, args, tools) {
330
367
  { key: 'assetPath', required: true },
331
368
  { key: 'maxDepth' }
332
369
  ]);
370
+ const assetPath = extractString(params, 'assetPath');
371
+ const maxDepth = extractOptionalNumber(params, 'maxDepth');
333
372
  const res = await executeAutomationRequest(tools, 'get_asset_graph', {
334
- assetPath: params.assetPath,
335
- maxDepth: params.maxDepth
373
+ assetPath,
374
+ maxDepth
336
375
  });
337
376
  return ResponseFactory.success(res, 'Graph analysis complete');
338
377
  }
@@ -344,13 +383,18 @@ export async function handleAssetTools(action, args, tools) {
344
383
  { key: 'height' },
345
384
  { key: 'format' }
346
385
  ]);
386
+ const name = extractString(params, 'name');
387
+ const packagePath = extractOptionalString(params, 'packagePath') ?? '/Game';
388
+ const width = extractOptionalNumber(params, 'width');
389
+ const height = extractOptionalNumber(params, 'height');
390
+ const format = extractOptionalString(params, 'format');
347
391
  const res = await executeAutomationRequest(tools, 'manage_render', {
348
392
  subAction: 'create_render_target',
349
- name: params.name,
350
- packagePath: params.packagePath,
351
- width: params.width,
352
- height: params.height,
353
- format: params.format,
393
+ name,
394
+ packagePath,
395
+ width,
396
+ height,
397
+ format,
354
398
  save: true
355
399
  });
356
400
  return ResponseFactory.success(res, 'Render target created successfully');
@@ -359,17 +403,19 @@ export async function handleAssetTools(action, args, tools) {
359
403
  const params = normalizeArgs(args, [
360
404
  { key: 'assetPath', aliases: ['meshPath'], required: true }
361
405
  ]);
406
+ const assetPath = extractString(params, 'assetPath');
362
407
  const res = await executeAutomationRequest(tools, 'manage_render', {
363
408
  subAction: 'nanite_rebuild_mesh',
364
- assetPath: params.assetPath
409
+ assetPath
365
410
  });
366
411
  return ResponseFactory.success(res, 'Nanite mesh rebuilt successfully');
367
412
  }
368
413
  case 'fixup_redirectors': {
369
- const directoryRaw = typeof args.directory === 'string' && args.directory.trim().length > 0
370
- ? args.directory.trim()
371
- : (typeof args.directoryPath === 'string' && args.directoryPath.trim().length > 0
372
- ? args.directoryPath.trim()
414
+ const argsTyped = args;
415
+ const directoryRaw = typeof argsTyped.directory === 'string' && argsTyped.directory.trim().length > 0
416
+ ? argsTyped.directory.trim()
417
+ : (typeof argsTyped.directoryPath === 'string' && argsTyped.directoryPath.trim().length > 0
418
+ ? argsTyped.directoryPath.trim()
373
419
  : '');
374
420
  const payload = {};
375
421
  if (directoryRaw) {
@@ -388,11 +434,15 @@ export async function handleAssetTools(action, args, tools) {
388
434
  { key: 'parameterType', aliases: ['type'] },
389
435
  { key: 'value', aliases: ['defaultValue'] }
390
436
  ]);
437
+ const assetPath = extractString(params, 'assetPath');
438
+ const parameterName = extractString(params, 'parameterName');
439
+ const parameterType = extractOptionalString(params, 'parameterType');
440
+ const value = params.value;
391
441
  const res = await executeAutomationRequest(tools, 'add_material_parameter', {
392
- assetPath: params.assetPath,
393
- name: params.parameterName,
394
- type: params.parameterType,
395
- value: params.value
442
+ assetPath,
443
+ name: parameterName,
444
+ type: parameterType,
445
+ value
396
446
  });
397
447
  return ResponseFactory.success(res, 'Material parameter added successfully');
398
448
  }
@@ -400,8 +450,9 @@ export async function handleAssetTools(action, args, tools) {
400
450
  const params = normalizeArgs(args, [
401
451
  { key: 'assetPath', required: true }
402
452
  ]);
453
+ const assetPath = extractString(params, 'assetPath');
403
454
  const res = await executeAutomationRequest(tools, 'list_instances', {
404
- assetPath: params.assetPath
455
+ assetPath
405
456
  });
406
457
  return ResponseFactory.success(res, 'Instances listed successfully');
407
458
  }
@@ -409,8 +460,9 @@ export async function handleAssetTools(action, args, tools) {
409
460
  const params = normalizeArgs(args, [
410
461
  { key: 'assetPath', required: true }
411
462
  ]);
463
+ const assetPath = extractString(params, 'assetPath');
412
464
  const res = await executeAutomationRequest(tools, 'reset_instance_parameters', {
413
- assetPath: params.assetPath
465
+ assetPath
414
466
  });
415
467
  return ResponseFactory.success(res, 'Instance parameters reset successfully');
416
468
  }
@@ -418,8 +470,9 @@ export async function handleAssetTools(action, args, tools) {
418
470
  const params = normalizeArgs(args, [
419
471
  { key: 'assetPath', required: true }
420
472
  ]);
473
+ const assetPath = extractString(params, 'assetPath');
421
474
  const res = await executeAutomationRequest(tools, 'exists', {
422
- assetPath: params.assetPath
475
+ assetPath
423
476
  });
424
477
  return ResponseFactory.success(res, 'Asset existence check complete');
425
478
  }
@@ -427,8 +480,9 @@ export async function handleAssetTools(action, args, tools) {
427
480
  const params = normalizeArgs(args, [
428
481
  { key: 'assetPath', required: true }
429
482
  ]);
483
+ const assetPath = extractString(params, 'assetPath');
430
484
  const res = await executeAutomationRequest(tools, 'get_material_stats', {
431
- assetPath: params.assetPath
485
+ assetPath
432
486
  });
433
487
  return ResponseFactory.success(res, 'Material stats retrieved');
434
488
  }
@@ -436,8 +490,9 @@ export async function handleAssetTools(action, args, tools) {
436
490
  const params = normalizeArgs(args, [
437
491
  { key: 'assetPath', required: true }
438
492
  ]);
493
+ const assetPath = extractString(params, 'assetPath');
439
494
  const res = await executeAutomationRequest(tools, 'rebuild_material', {
440
- assetPath: params.assetPath
495
+ assetPath
441
496
  });
442
497
  return ResponseFactory.success(res, 'Material rebuilt successfully');
443
498
  }
@@ -476,29 +531,35 @@ export async function handleAssetTools(action, args, tools) {
476
531
  { key: 'posX' },
477
532
  { key: 'posY' }
478
533
  ]);
534
+ const assetPath = extractString(params, 'assetPath');
535
+ const nodeType = extractString(params, 'nodeType');
536
+ const posX = extractOptionalNumber(params, 'posX');
537
+ const posY = extractOptionalNumber(params, 'posY');
479
538
  const res = await executeAutomationRequest(tools, 'add_material_node', {
480
- assetPath: params.assetPath,
481
- nodeType: params.nodeType,
482
- posX: params.posX,
483
- posY: params.posY
539
+ assetPath,
540
+ nodeType,
541
+ posX,
542
+ posY
484
543
  });
485
544
  return ResponseFactory.success(res, 'Material node added successfully');
486
545
  }
487
- default:
546
+ default: {
488
547
  const res = await executeAutomationRequest(tools, action || 'manage_asset', args);
489
- const result = res?.result ?? res ?? {};
548
+ const result = res ?? {};
490
549
  const errorCode = typeof result.error === 'string' ? result.error.toUpperCase() : '';
491
550
  const message = typeof result.message === 'string' ? result.message : '';
551
+ const argsTyped = args;
492
552
  if (errorCode === 'INVALID_SUBACTION' || message.toLowerCase().includes('unknown subaction')) {
493
553
  return cleanObject({
494
554
  success: false,
495
555
  error: 'INVALID_SUBACTION',
496
556
  message: 'Asset action not recognized by the automation plugin.',
497
557
  action: action || 'manage_asset',
498
- assetPath: args.assetPath ?? args.path
558
+ assetPath: argsTyped.assetPath ?? argsTyped.path
499
559
  });
500
560
  }
501
561
  return ResponseFactory.success(res, 'Asset action executed successfully');
562
+ }
502
563
  }
503
564
  }
504
565
  catch (error) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/asset-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { ITools } from '../../types/tool-interfaces.js';
2
- export declare function handleAudioTools(action: string, args: any, tools: ITools): Promise<any>;
2
+ import type { HandlerArgs } from '../../types/handler-types.js';
3
+ export declare function handleAudioTools(action: string, args: HandlerArgs, tools: ITools): Promise<Record<string, unknown>>;
3
4
  //# sourceMappingURL=audio-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/audio-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,8BAA8B,CAAC;AA0B7F,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqKlC"}