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,137 +0,0 @@
1
- name: '📏 Gemini PR Size Labeler'
2
-
3
- on:
4
- pull_request_target:
5
- types: ['opened', 'reopened', 'synchronize']
6
-
7
- permissions:
8
- pull-requests: 'write'
9
- contents: 'read'
10
-
11
- concurrency:
12
- group: '${{ github.workflow }}-${{ github.event.pull_request.number }}'
13
- cancel-in-progress: true
14
-
15
- jobs:
16
- label-pr:
17
- timeout-minutes: 5
18
- runs-on: 'ubuntu-latest'
19
- steps:
20
- - name: 'Get PR diff stats'
21
- id: 'diff_stats'
22
- uses: 'actions/github-script@v8'
23
- with:
24
- github-token: '${{ secrets.GITHUB_TOKEN }}'
25
- script: |
26
- const { data: pr } = await github.rest.pulls.get({
27
- owner: context.repo.owner,
28
- repo: context.repo.repo,
29
- pull_number: context.payload.pull_request.number
30
- });
31
-
32
- const additions = pr.additions || 0;
33
- const deletions = pr.deletions || 0;
34
- const totalChanges = additions + deletions;
35
- const filesChanged = pr.changed_files || 0;
36
-
37
- core.setOutput('total_changes', totalChanges);
38
- core.setOutput('files_changed', filesChanged);
39
- core.setOutput('additions', additions);
40
- core.setOutput('deletions', deletions);
41
-
42
- core.info(`PR #${pr.number}: +${additions} -${deletions} (${totalChanges} total) in ${filesChanged} files`);
43
-
44
- - name: 'Determine size label'
45
- id: 'size_label'
46
- run: |
47
- TOTAL=${{ steps.diff_stats.outputs.total_changes }}
48
-
49
- if [ $TOTAL -lt 10 ]; then
50
- echo "size_label=size/xs" >> $GITHUB_OUTPUT
51
- elif [ $TOTAL -lt 50 ]; then
52
- echo "size_label=size/s" >> $GITHUB_OUTPUT
53
- elif [ $TOTAL -lt 200 ]; then
54
- echo "size_label=size/m" >> $GITHUB_OUTPUT
55
- elif [ $TOTAL -lt 1000 ]; then
56
- echo "size_label=size/l" >> $GITHUB_OUTPUT
57
- else
58
- echo "size_label=size/xl" >> $GITHUB_OUTPUT
59
- fi
60
-
61
- - name: 'Apply size label'
62
- uses: 'actions/github-script@v8'
63
- env:
64
- SIZE_LABEL: '${{ steps.size_label.outputs.size_label }}'
65
- with:
66
- github-token: '${{ secrets.GITHUB_TOKEN }}'
67
- script: |
68
- const prNumber = context.payload.pull_request.number;
69
- const newLabel = process.env.SIZE_LABEL;
70
-
71
- // Get current labels
72
- const { data: currentLabels } = await github.rest.issues.listLabelsOnIssue({
73
- owner: context.repo.owner,
74
- repo: context.repo.repo,
75
- issue_number: prNumber
76
- });
77
-
78
- // Remove old size labels
79
- const sizeLabels = ['size/xs', 'size/s', 'size/m', 'size/l', 'size/xl'];
80
- for (const label of currentLabels) {
81
- if (sizeLabels.includes(label.name) && label.name !== newLabel) {
82
- await github.rest.issues.removeLabel({
83
- owner: context.repo.owner,
84
- repo: context.repo.repo,
85
- issue_number: prNumber,
86
- name: label.name
87
- });
88
- core.info(`Removed old label: ${label.name}`);
89
- }
90
- }
91
-
92
- // Add new size label
93
- await github.rest.issues.addLabels({
94
- owner: context.repo.owner,
95
- repo: context.repo.repo,
96
- issue_number: prNumber,
97
- labels: [newLabel]
98
- });
99
- core.info(`Applied label: ${newLabel}`);
100
-
101
- - name: 'Comment on large PRs'
102
- if: steps.size_label.outputs.size_label == 'size/xl'
103
- uses: 'actions/github-script@v8'
104
- with:
105
- github-token: '${{ secrets.GITHUB_TOKEN }}'
106
- script: |
107
- const prNumber = context.payload.pull_request.number;
108
-
109
- // Check if we already commented
110
- const { data: comments } = await github.rest.issues.listComments({
111
- owner: context.repo.owner,
112
- repo: context.repo.repo,
113
- issue_number: prNumber
114
- });
115
-
116
- const botComment = comments.find(c =>
117
- c.user && c.user.login && c.user.login.includes('[bot]') &&
118
- c.body.includes('This pull request is quite large')
119
- );
120
-
121
- if (!botComment) {
122
- await github.rest.issues.createComment({
123
- owner: context.repo.owner,
124
- repo: context.repo.repo,
125
- issue_number: prNumber,
126
- body: `## 📏 Large PR Detected
127
-
128
- This pull request is quite large (1000+ lines changed), which can make reviewing challenging.
129
-
130
- **Suggestions:**
131
- - Consider breaking this into smaller, focused PRs
132
- - Separate refactoring from new features
133
- - Split bug fixes from feature additions
134
-
135
- This helps reviewers provide better feedback and speeds up the merge process. Thank you! 🙏`
136
- });
137
- }
@@ -1,79 +0,0 @@
1
- name: Publish to MCP Registry
2
-
3
- on:
4
- push:
5
- tags: ["v*"]
6
- workflow_dispatch:
7
-
8
- jobs:
9
- publish:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- id-token: write
13
- contents: read
14
-
15
- steps:
16
- - name: Checkout code
17
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
18
-
19
- - name: Setup Node.js
20
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
21
- with:
22
- node-version: "20"
23
- registry-url: "https://registry.npmjs.org"
24
- cache: 'npm'
25
-
26
- - name: Install dependencies
27
- run: npm ci
28
-
29
- - name: Run smoke tests
30
- run: npm run test:smoke
31
- continue-on-error: true
32
-
33
- - name: Run linting
34
- run: npm run lint
35
-
36
- - name: Build package
37
- run: npm run build
38
-
39
- - name: Extract version from tag
40
- id: version
41
- run: |
42
- if [[ ${{ github.event_name }} == "push" && ${{ github.ref }} == refs/tags/* ]]; then
43
- VERSION=${GITHUB_REF#refs/tags/v}
44
- else
45
- VERSION=$(node -p "require('./package.json').version")
46
- fi
47
- echo "version=$VERSION" >> $GITHUB_OUTPUT
48
- echo "Publishing version: $VERSION"
49
-
50
- - name: Update server.json version
51
- run: |
52
- VERSION=${{ steps.version.outputs.version }}
53
- jq --arg v "$VERSION" '.version = $v | .packages[] |= if .registryType == "npm" then .version = $v else . end' server.json > tmp && mv tmp server.json
54
- echo "Updated server.json:"
55
- cat server.json
56
-
57
- - name: Publish to npm
58
- run: npm publish
59
- continue-on-error: true
60
- env:
61
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
62
-
63
- - name: Install MCP Publisher
64
- run: |
65
- curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.4.0/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
66
- chmod +x mcp-publisher
67
-
68
- - name: Login to MCP Registry
69
- run: ./mcp-publisher login github-oidc
70
-
71
- - name: Publish to MCP Registry
72
- run: ./mcp-publisher publish
73
-
74
- - name: Verify publication
75
- if: ${{ always() }}
76
- run: |
77
- echo "Waiting for registry to update..."
78
- sleep 30
79
- curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.ChiR24/unreal-engine-mcp" | jq '.'
@@ -1,24 +0,0 @@
1
- name: Release Drafter
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- workflow_dispatch:
8
-
9
- permissions:
10
- contents: read
11
-
12
- jobs:
13
- update_release_draft:
14
- permissions:
15
- contents: write
16
- pull-requests: write
17
- runs-on: ubuntu-latest
18
- timeout-minutes: 15
19
- steps:
20
- - uses: release-drafter/release-drafter@v6
21
- with:
22
- config-name: release-drafter-config.yml
23
- env:
24
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,112 +0,0 @@
1
- name: Create GitHub Release
2
-
3
- on:
4
- push:
5
- tags:
6
- - 'v*.*.*'
7
-
8
- permissions:
9
- contents: write
10
-
11
- jobs:
12
- release:
13
- name: Create Release
14
- runs-on: ubuntu-latest
15
-
16
- steps:
17
- - name: Checkout code
18
- uses: actions/checkout@v6 # v4
19
- with:
20
- fetch-depth: 0
21
-
22
- - name: Setup Node.js
23
- uses: actions/setup-node@v6 # v4
24
- with:
25
- node-version: '20'
26
- cache: 'npm'
27
-
28
- - name: Install dependencies
29
- run: npm ci
30
-
31
- - name: Build package
32
- run: npm run build
33
-
34
- - name: Extract version from tag
35
- id: version
36
- run: |
37
- VERSION=${GITHUB_REF#refs/tags/v}
38
- echo "version=$VERSION" >> $GITHUB_OUTPUT
39
- echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
40
- echo "Releasing version: $VERSION"
41
-
42
- - name: Extract changelog for this version
43
- id: changelog
44
- run: |
45
- VERSION=${{ steps.version.outputs.version }}
46
-
47
- CHANGELOG=$(awk -v ver="$VERSION" '
48
- $0 ~ "## .*\\[" ver "\\]" { found=1; next }
49
- found && /^## .*\[/ { exit }
50
- found { print }
51
- ' CHANGELOG.md)
52
-
53
- if [ -z "$CHANGELOG" ]; then
54
- CHANGELOG="Release ${{ steps.version.outputs.tag }}"
55
- fi
56
-
57
- echo "$CHANGELOG" > release_notes.md
58
- echo "Generated release notes:"
59
- cat release_notes.md
60
-
61
- - name: Create dist archive
62
- run: |
63
- mkdir -p release-artifacts
64
-
65
- tar -czvf release-artifacts/unreal-engine-mcp-server-${{ steps.version.outputs.version }}.tar.gz \
66
- dist/ \
67
- package.json \
68
- README.md \
69
- CHANGELOG.md \
70
- LICENSE
71
-
72
- zip -r release-artifacts/unreal-engine-mcp-server-${{ steps.version.outputs.version }}.zip \
73
- dist/ \
74
- package.json \
75
- README.md \
76
- CHANGELOG.md \
77
- LICENSE
78
-
79
- - name: Create Plugin archive
80
- run: |
81
- if [ -d "plugins/McpAutomationBridge" ]; then
82
- tar -czvf release-artifacts/McpAutomationBridge-plugin-${{ steps.version.outputs.version }}.tar.gz \
83
- plugins/McpAutomationBridge/
84
-
85
- zip -r release-artifacts/McpAutomationBridge-plugin-${{ steps.version.outputs.version }}.zip \
86
- plugins/McpAutomationBridge/
87
-
88
- echo "Plugin archive created"
89
- else
90
- echo "Plugin directory not found, skipping plugin archive"
91
- fi
92
-
93
- - name: Create GitHub Release
94
- uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
95
- with:
96
- name: Release ${{ steps.version.outputs.tag }}
97
- body_path: release_notes.md
98
- draft: false
99
- prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
100
- files: |
101
- release-artifacts/*
102
- env:
103
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
104
-
105
- - name: Release Summary
106
- run: |
107
- echo "## Release Created Successfully! 🎉" >> $GITHUB_STEP_SUMMARY
108
- echo "" >> $GITHUB_STEP_SUMMARY
109
- echo "**Version:** ${{ steps.version.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
110
- echo "" >> $GITHUB_STEP_SUMMARY
111
- echo "### Artifacts:" >> $GITHUB_STEP_SUMMARY
112
- ls -la release-artifacts/ >> $GITHUB_STEP_SUMMARY
@@ -1,35 +0,0 @@
1
- name: "Semantic Pull Request"
2
-
3
- on:
4
- pull_request_target:
5
- types:
6
- - opened
7
- - edited
8
- - synchronize
9
-
10
- permissions:
11
- pull-requests: read
12
- statuses: write
13
-
14
- jobs:
15
- main:
16
- name: Validate PR Title
17
- runs-on: ubuntu-latest
18
- steps:
19
- - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
20
- env:
21
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22
- with:
23
- types: |
24
- feat
25
- fix
26
- docs
27
- style
28
- refactor
29
- perf
30
- test
31
- build
32
- ci
33
- chore
34
- revert
35
- requireScope: false
@@ -1,36 +0,0 @@
1
- name: Smoke Test (Mock Mode)
2
- permissions:
3
- contents: read
4
-
5
- on:
6
- push:
7
- branches: [ "main" ]
8
- pull_request:
9
- branches: [ "main" ]
10
-
11
- concurrency:
12
- group: ${{ github.workflow }}-${{ github.ref }}
13
- cancel-in-progress: true
14
-
15
- jobs:
16
- smoke-test:
17
- runs-on: ubuntu-latest
18
- steps:
19
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
20
-
21
- - name: Use Node.js
22
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
23
- with:
24
- node-version: '20.x'
25
- cache: 'npm'
26
-
27
- - name: Install dependencies
28
- run: npm ci
29
-
30
- - name: Build
31
- run: npm run build
32
-
33
- - name: Run Smoke Test
34
- run: npm run test:smoke
35
- env:
36
- MOCK_UNREAL_CONNECTION: "true"
@@ -1,28 +0,0 @@
1
- name: '🏷️ Stale Issue and PR Management'
2
-
3
- on:
4
- schedule:
5
- - cron: '0 0 * * *'
6
- workflow_dispatch:
7
-
8
- permissions:
9
- issues: write
10
- pull-requests: write
11
-
12
- jobs:
13
- stale:
14
- runs-on: ubuntu-latest
15
- steps:
16
- - uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1
17
- with:
18
- stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions!'
19
- stale-pr-message: 'This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Please update your PR or add a comment if you would like to keep it open.'
20
- close-issue-message: 'This issue was closed because it has been stale for 14 days with no activity.'
21
- close-pr-message: 'This pull request was closed because it has been stale for 14 days with no activity.'
22
- days-before-stale: 60
23
- days-before-close: 14
24
- stale-issue-label: 'stale'
25
- stale-pr-label: 'stale'
26
- exempt-issue-labels: 'pinned,security,bug,enhancement'
27
- exempt-pr-labels: 'pinned,security'
28
- operations-per-run: 100
package/CONTRIBUTING.md DELETED
@@ -1,140 +0,0 @@
1
- # Contributing to Unreal Engine MCP Server
2
-
3
- Thank you for your interest in contributing! This document provides guidelines and instructions for contributing.
4
-
5
- ## 📋 Table of Contents
6
-
7
- - [Code of Conduct](#code-of-conduct)
8
- - [Getting Started](#getting-started)
9
- - [Development Workflow](#development-workflow)
10
- - [Pull Request Process](#pull-request-process)
11
- - [Coding Standards](#coding-standards)
12
-
13
- ## Code of Conduct
14
-
15
- Please be respectful and constructive in all interactions. We're building something together.
16
-
17
- ## Getting Started
18
-
19
- ### Prerequisites
20
-
21
- - **Node.js** 18+
22
- - **Unreal Engine** 5.0-5.7 (for live testing)
23
- - **Git**
24
-
25
- ### Setup
26
-
27
- 1. Fork and clone the repository:
28
- ```bash
29
- git clone https://github.com/ChiR24/Unreal_mcp.git
30
- cd unreal-engine-mcp-server
31
- ```
32
-
33
- 2. Install dependencies:
34
- ```bash
35
- npm install
36
- ```
37
-
38
- 3. Build the project:
39
- ```bash
40
- npm run build
41
- ```
42
-
43
- 4. Run smoke tests (no Unreal needed):
44
- ```bash
45
- npm run test:smoke
46
- ```
47
-
48
- ## Development Workflow
49
-
50
- ### Branch Naming
51
-
52
- Use descriptive branch names:
53
- - `feat/add-new-tool` - New features
54
- - `fix/connection-timeout` - Bug fixes
55
- - `docs/update-readme` - Documentation
56
- - `refactor/cleanup-bridge` - Code refactoring
57
-
58
- ### Running Tests
59
-
60
- ```bash
61
- # Smoke test (CI-compatible, no Unreal needed)
62
- npm run test:smoke
63
-
64
- # Live tests (requires Unreal Editor running with plugin)
65
- npm run test:all
66
- ```
67
-
68
- ### Building
69
-
70
- ```bash
71
- npm run build # Full build (TypeScript + WASM)
72
- npm run build:core # TypeScript only
73
- npm run build:wasm # WASM only (requires wasm-pack)
74
- ```
75
-
76
- ## Pull Request Process
77
-
78
- ### Before Submitting
79
-
80
- 1. ✅ Run `npm run lint` and fix any issues
81
- 2. ✅ Run `npm run test:smoke` to verify basic functionality
82
- 3. ✅ Update documentation if adding new features
83
- 4. ✅ Update `CHANGELOG.md` under `[Unreleased]`
84
-
85
- ### PR Title Format
86
-
87
- We use [Conventional Commits](https://www.conventionalcommits.org/). PR titles must follow this format:
88
-
89
- ```
90
- <type>: <description>
91
-
92
- Examples:
93
- feat: add new animation blending tool
94
- fix: resolve WebSocket connection timeout
95
- docs: update installation instructions
96
- refactor: simplify blueprint graph handler
97
- ```
98
-
99
- **Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
100
-
101
- ### Review Process
102
-
103
- 1. All PRs require at least one approval
104
- 2. CI must pass (lint, smoke test, CodeQL)
105
- 3. Maintainers may request changes
106
-
107
- ## Coding Standards
108
-
109
- ### TypeScript
110
-
111
- - Use strict TypeScript (`strict: true`)
112
- - Prefer `async/await` over raw Promises
113
- - Use descriptive variable names
114
- - Add JSDoc comments for public APIs
115
-
116
- ### C++ (Plugin)
117
-
118
- - Follow Unreal Engine coding standards
119
- - Use `UPROPERTY`/`UFUNCTION` macros appropriately
120
- - Keep thread safety in mind for async operations
121
-
122
- ### File Organization
123
-
124
- ```
125
- src/
126
- ├── tools/ # MCP tool implementations
127
- ├── automation/ # Unreal bridge logic
128
- ├── utils/ # Shared utilities
129
- └── services/ # Background services
130
-
131
- Plugins/
132
- └── McpAutomationBridge/ # C++ Unreal plugin
133
- ```
134
-
135
- ## Questions?
136
-
137
- - Open a [Discussion](../../discussions) for questions
138
- - Open an [Issue](../../issues) for bugs or feature requests
139
-
140
- Thank you for contributing! 🎮
package/Dockerfile DELETED
@@ -1,37 +0,0 @@
1
- # Multi-stage build for efficient image size
2
- FROM node:22-alpine AS builder
3
-
4
- # Set working directory
5
- WORKDIR /app
6
-
7
- # Copy package files
8
- COPY package*.json ./
9
-
10
- # Install ALL dependencies (including dev) for building - skip prepare script
11
- RUN npm ci --ignore-scripts
12
-
13
- # Copy TypeScript config and source files
14
- COPY tsconfig.json ./
15
- COPY src ./src
16
-
17
- # Build the TypeScript project
18
- RUN npm run build
19
-
20
- # Production stage
21
- FROM cgr.dev/chainguard/node:latest
22
-
23
- ENV NODE_ENV=production
24
-
25
- # Chainguard node runs as nonroot by default (user: node)
26
- WORKDIR /app
27
-
28
- # Copy only package manifests and install production deps in a clean layer
29
- COPY --chown=node:node package*.json ./
30
- RUN npm ci --omit=dev --ignore-scripts && npm cache clean --force
31
-
32
- # Copy built application from builder stage
33
- COPY --chown=node:node --from=builder /app/dist ./dist
34
-
35
- # No shell, no init needed; run as provided nonroot user
36
- ENTRYPOINT ["/usr/bin/node"]
37
- CMD ["dist/cli.js"]