unreal-engine-mcp-server 0.5.21 → 0.5.30

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 (382) hide show
  1. package/CHANGELOG.md +247 -4
  2. package/README.md +140 -85
  3. package/dist/automation/bridge.d.ts +8 -0
  4. package/dist/automation/bridge.d.ts.map +1 -1
  5. package/dist/automation/bridge.js +94 -14
  6. package/dist/automation/bridge.js.map +1 -1
  7. package/dist/automation/connection-manager.d.ts.map +1 -1
  8. package/dist/automation/connection-manager.js +13 -5
  9. package/dist/automation/connection-manager.js.map +1 -1
  10. package/dist/automation/handshake.d.ts.map +1 -1
  11. package/dist/automation/handshake.js +40 -27
  12. package/dist/automation/handshake.js.map +1 -1
  13. package/dist/automation/index.d.ts +1 -1
  14. package/dist/automation/index.d.ts.map +1 -1
  15. package/dist/automation/index.js +0 -1
  16. package/dist/automation/index.js.map +1 -1
  17. package/dist/automation/message-handler.d.ts.map +1 -1
  18. package/dist/automation/message-handler.js +13 -9
  19. package/dist/automation/message-handler.js.map +1 -1
  20. package/dist/automation/message-schema.d.ts.map +1 -1
  21. package/dist/automation/message-schema.js +19 -18
  22. package/dist/automation/message-schema.js.map +1 -1
  23. package/dist/automation/request-tracker.d.ts +1 -0
  24. package/dist/automation/request-tracker.d.ts.map +1 -1
  25. package/dist/automation/request-tracker.js +30 -31
  26. package/dist/automation/request-tracker.js.map +1 -1
  27. package/dist/automation/types.d.ts +38 -32
  28. package/dist/automation/types.d.ts.map +1 -1
  29. package/dist/cli.js +14 -16
  30. package/dist/cli.js.map +1 -1
  31. package/dist/config/class-aliases.d.ts.map +1 -1
  32. package/dist/config/class-aliases.js +10 -2
  33. package/dist/config/class-aliases.js.map +1 -1
  34. package/dist/config.d.ts +9 -8
  35. package/dist/config.d.ts.map +1 -1
  36. package/dist/config.js +58 -32
  37. package/dist/config.js.map +1 -1
  38. package/dist/handlers/resource-handlers.d.ts +15 -2
  39. package/dist/handlers/resource-handlers.d.ts.map +1 -1
  40. package/dist/handlers/resource-handlers.js +46 -63
  41. package/dist/handlers/resource-handlers.js.map +1 -1
  42. package/dist/index.d.ts +0 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +42 -48
  45. package/dist/index.js.map +1 -1
  46. package/dist/resources/assets.d.ts.map +1 -1
  47. package/dist/resources/assets.js +34 -9
  48. package/dist/resources/assets.js.map +1 -1
  49. package/dist/resources/levels.d.ts +3 -0
  50. package/dist/resources/levels.d.ts.map +1 -1
  51. package/dist/resources/levels.js +33 -17
  52. package/dist/resources/levels.js.map +1 -1
  53. package/dist/server/resource-registry.d.ts +15 -2
  54. package/dist/server/resource-registry.d.ts.map +1 -1
  55. package/dist/server/resource-registry.js +9 -8
  56. package/dist/server/resource-registry.js.map +1 -1
  57. package/dist/server/tool-registry.d.ts +0 -1
  58. package/dist/server/tool-registry.d.ts.map +1 -1
  59. package/dist/server/tool-registry.js +91 -101
  60. package/dist/server/tool-registry.js.map +1 -1
  61. package/dist/server-setup.d.ts +5 -2
  62. package/dist/server-setup.d.ts.map +1 -1
  63. package/dist/server-setup.js +15 -19
  64. package/dist/server-setup.js.map +1 -1
  65. package/dist/services/health-monitor.d.ts +3 -0
  66. package/dist/services/health-monitor.d.ts.map +1 -1
  67. package/dist/services/health-monitor.js +30 -11
  68. package/dist/services/health-monitor.js.map +1 -1
  69. package/dist/services/metrics-server.d.ts +1 -1
  70. package/dist/services/metrics-server.d.ts.map +1 -1
  71. package/dist/services/metrics-server.js +65 -3
  72. package/dist/services/metrics-server.js.map +1 -1
  73. package/dist/tools/base-tool.d.ts.map +1 -1
  74. package/dist/tools/base-tool.js +14 -16
  75. package/dist/tools/base-tool.js.map +1 -1
  76. package/dist/tools/consolidated-tool-definitions.d.ts +16 -1
  77. package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -1
  78. package/dist/tools/consolidated-tool-definitions.js +1479 -2538
  79. package/dist/tools/consolidated-tool-definitions.js.map +1 -1
  80. package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -1
  81. package/dist/tools/consolidated-tool-handlers.js +195 -217
  82. package/dist/tools/consolidated-tool-handlers.js.map +1 -1
  83. package/dist/tools/dynamic-handler-registry.d.ts +1 -0
  84. package/dist/tools/dynamic-handler-registry.d.ts.map +1 -1
  85. package/dist/tools/dynamic-handler-registry.js +15 -7
  86. package/dist/tools/dynamic-handler-registry.js.map +1 -1
  87. package/dist/tools/dynamic-tool-manager.d.ts +1 -1
  88. package/dist/tools/dynamic-tool-manager.d.ts.map +1 -1
  89. package/dist/tools/dynamic-tool-manager.js +30 -18
  90. package/dist/tools/dynamic-tool-manager.js.map +1 -1
  91. package/dist/tools/editor.d.ts +2 -2
  92. package/dist/tools/editor.d.ts.map +1 -1
  93. package/dist/tools/editor.js +4 -4
  94. package/dist/tools/editor.js.map +1 -1
  95. package/dist/tools/handlers/actor-handlers.d.ts.map +1 -1
  96. package/dist/tools/handlers/actor-handlers.js +66 -7
  97. package/dist/tools/handlers/actor-handlers.js.map +1 -1
  98. package/dist/tools/handlers/ai-handlers.d.ts.map +1 -1
  99. package/dist/tools/handlers/ai-handlers.js +24 -13
  100. package/dist/tools/handlers/ai-handlers.js.map +1 -1
  101. package/dist/tools/handlers/animation-authoring-handlers.d.ts.map +1 -1
  102. package/dist/tools/handlers/animation-authoring-handlers.js +285 -218
  103. package/dist/tools/handlers/animation-authoring-handlers.js.map +1 -1
  104. package/dist/tools/handlers/animation-handlers.d.ts.map +1 -1
  105. package/dist/tools/handlers/animation-handlers.js +69 -21
  106. package/dist/tools/handlers/animation-handlers.js.map +1 -1
  107. package/dist/tools/handlers/asset-handlers.d.ts.map +1 -1
  108. package/dist/tools/handlers/asset-handlers.js +75 -16
  109. package/dist/tools/handlers/asset-handlers.js.map +1 -1
  110. package/dist/tools/handlers/audio-authoring-handlers.d.ts.map +1 -1
  111. package/dist/tools/handlers/audio-authoring-handlers.js +102 -9
  112. package/dist/tools/handlers/audio-authoring-handlers.js.map +1 -1
  113. package/dist/tools/handlers/audio-handlers.d.ts.map +1 -1
  114. package/dist/tools/handlers/audio-handlers.js +48 -13
  115. package/dist/tools/handlers/audio-handlers.js.map +1 -1
  116. package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -1
  117. package/dist/tools/handlers/blueprint-handlers.js +28 -48
  118. package/dist/tools/handlers/blueprint-handlers.js.map +1 -1
  119. package/dist/tools/handlers/character-handlers.d.ts.map +1 -1
  120. package/dist/tools/handlers/character-handlers.js +13 -12
  121. package/dist/tools/handlers/character-handlers.js.map +1 -1
  122. package/dist/tools/handlers/combat-handlers.d.ts.map +1 -1
  123. package/dist/tools/handlers/combat-handlers.js +12 -12
  124. package/dist/tools/handlers/combat-handlers.js.map +1 -1
  125. package/dist/tools/handlers/common-handlers.d.ts +14 -0
  126. package/dist/tools/handlers/common-handlers.d.ts.map +1 -1
  127. package/dist/tools/handlers/common-handlers.js +117 -9
  128. package/dist/tools/handlers/common-handlers.js.map +1 -1
  129. package/dist/tools/handlers/editor-handlers.d.ts.map +1 -1
  130. package/dist/tools/handlers/editor-handlers.js +139 -67
  131. package/dist/tools/handlers/editor-handlers.js.map +1 -1
  132. package/dist/tools/handlers/effect-handlers.d.ts.map +1 -1
  133. package/dist/tools/handlers/effect-handlers.js +324 -36
  134. package/dist/tools/handlers/effect-handlers.js.map +1 -1
  135. package/dist/tools/handlers/environment-handlers.d.ts.map +1 -1
  136. package/dist/tools/handlers/environment-handlers.js +186 -21
  137. package/dist/tools/handlers/environment-handlers.js.map +1 -1
  138. package/dist/tools/handlers/game-framework-handlers.d.ts.map +1 -1
  139. package/dist/tools/handlers/game-framework-handlers.js +10 -12
  140. package/dist/tools/handlers/game-framework-handlers.js.map +1 -1
  141. package/dist/tools/handlers/gas-handlers.d.ts.map +1 -1
  142. package/dist/tools/handlers/gas-handlers.js +136 -20
  143. package/dist/tools/handlers/gas-handlers.js.map +1 -1
  144. package/dist/tools/handlers/geometry-handlers.d.ts.map +1 -1
  145. package/dist/tools/handlers/geometry-handlers.js +130 -7
  146. package/dist/tools/handlers/geometry-handlers.js.map +1 -1
  147. package/dist/tools/handlers/graph-handlers.d.ts.map +1 -1
  148. package/dist/tools/handlers/graph-handlers.js +46 -11
  149. package/dist/tools/handlers/graph-handlers.js.map +1 -1
  150. package/dist/tools/handlers/input-handlers.d.ts.map +1 -1
  151. package/dist/tools/handlers/input-handlers.js +33 -75
  152. package/dist/tools/handlers/input-handlers.js.map +1 -1
  153. package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -1
  154. package/dist/tools/handlers/inspect-handlers.js +136 -39
  155. package/dist/tools/handlers/inspect-handlers.js.map +1 -1
  156. package/dist/tools/handlers/interaction-handlers.d.ts.map +1 -1
  157. package/dist/tools/handlers/interaction-handlers.js +14 -12
  158. package/dist/tools/handlers/interaction-handlers.js.map +1 -1
  159. package/dist/tools/handlers/inventory-handlers.d.ts.map +1 -1
  160. package/dist/tools/handlers/inventory-handlers.js +19 -12
  161. package/dist/tools/handlers/inventory-handlers.js.map +1 -1
  162. package/dist/tools/handlers/level-handlers.d.ts.map +1 -1
  163. package/dist/tools/handlers/level-handlers.js +166 -149
  164. package/dist/tools/handlers/level-handlers.js.map +1 -1
  165. package/dist/tools/handlers/level-structure-handlers.d.ts.map +1 -1
  166. package/dist/tools/handlers/level-structure-handlers.js +18 -34
  167. package/dist/tools/handlers/level-structure-handlers.js.map +1 -1
  168. package/dist/tools/handlers/manage-tools-handlers.js +3 -3
  169. package/dist/tools/handlers/manage-tools-handlers.js.map +1 -1
  170. package/dist/tools/handlers/material-authoring-handlers.d.ts.map +1 -1
  171. package/dist/tools/handlers/material-authoring-handlers.js +382 -41
  172. package/dist/tools/handlers/material-authoring-handlers.js.map +1 -1
  173. package/dist/tools/handlers/navigation-handlers.d.ts.map +1 -1
  174. package/dist/tools/handlers/navigation-handlers.js +11 -36
  175. package/dist/tools/handlers/navigation-handlers.js.map +1 -1
  176. package/dist/tools/handlers/networking-handlers.d.ts.map +1 -1
  177. package/dist/tools/handlers/networking-handlers.js +17 -15
  178. package/dist/tools/handlers/networking-handlers.js.map +1 -1
  179. package/dist/tools/handlers/niagara-authoring-handlers.d.ts.map +1 -1
  180. package/dist/tools/handlers/niagara-authoring-handlers.js +24 -23
  181. package/dist/tools/handlers/niagara-authoring-handlers.js.map +1 -1
  182. package/dist/tools/handlers/pcg-handlers.d.ts +4 -0
  183. package/dist/tools/handlers/pcg-handlers.d.ts.map +1 -0
  184. package/dist/tools/handlers/pcg-handlers.js +77 -0
  185. package/dist/tools/handlers/pcg-handlers.js.map +1 -0
  186. package/dist/tools/handlers/performance-handlers.d.ts.map +1 -1
  187. package/dist/tools/handlers/performance-handlers.js +35 -42
  188. package/dist/tools/handlers/performance-handlers.js.map +1 -1
  189. package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -1
  190. package/dist/tools/handlers/pipeline-handlers.js +157 -39
  191. package/dist/tools/handlers/pipeline-handlers.js.map +1 -1
  192. package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -1
  193. package/dist/tools/handlers/sequence-handlers.js +6 -4
  194. package/dist/tools/handlers/sequence-handlers.js.map +1 -1
  195. package/dist/tools/handlers/sessions-handlers.d.ts.map +1 -1
  196. package/dist/tools/handlers/sessions-handlers.js +7 -15
  197. package/dist/tools/handlers/sessions-handlers.js.map +1 -1
  198. package/dist/tools/handlers/spline-handlers.d.ts.map +1 -1
  199. package/dist/tools/handlers/spline-handlers.js +8 -35
  200. package/dist/tools/handlers/spline-handlers.js.map +1 -1
  201. package/dist/tools/handlers/system-handlers.d.ts.map +1 -1
  202. package/dist/tools/handlers/system-handlers.js +100 -26
  203. package/dist/tools/handlers/system-handlers.js.map +1 -1
  204. package/dist/tools/handlers/texture-handlers.d.ts.map +1 -1
  205. package/dist/tools/handlers/texture-handlers.js +14 -0
  206. package/dist/tools/handlers/texture-handlers.js.map +1 -1
  207. package/dist/tools/handlers/volume-handlers.d.ts.map +1 -1
  208. package/dist/tools/handlers/volume-handlers.js +6 -33
  209. package/dist/tools/handlers/volume-handlers.js.map +1 -1
  210. package/dist/tools/handlers/widget-authoring-handlers.d.ts.map +1 -1
  211. package/dist/tools/handlers/widget-authoring-handlers.js +26 -20
  212. package/dist/tools/handlers/widget-authoring-handlers.js.map +1 -1
  213. package/dist/tools/level.d.ts +2 -2
  214. package/dist/tools/level.d.ts.map +1 -1
  215. package/dist/tools/level.js +2 -1
  216. package/dist/tools/level.js.map +1 -1
  217. package/dist/tools/property-dictionary.js +1 -1
  218. package/dist/tools/property-dictionary.js.map +1 -1
  219. package/dist/tools/schemas/core-tools.d.ts +1 -1
  220. package/dist/tools/schemas/core-tools.d.ts.map +1 -1
  221. package/dist/tools/schemas/core-tools.js +94 -57
  222. package/dist/tools/schemas/core-tools.js.map +1 -1
  223. package/dist/tools/tool-definition-utils.d.ts +8 -0
  224. package/dist/tools/tool-definition-utils.d.ts.map +1 -1
  225. package/dist/tools/tool-definition-utils.js +20 -0
  226. package/dist/tools/tool-definition-utils.js.map +1 -1
  227. package/dist/types/automation-responses.d.ts +26 -33
  228. package/dist/types/automation-responses.d.ts.map +1 -1
  229. package/dist/types/env.d.ts.map +1 -1
  230. package/dist/types/env.js +7 -6
  231. package/dist/types/env.js.map +1 -1
  232. package/dist/types/handler-types.d.ts +41 -20
  233. package/dist/types/handler-types.d.ts.map +1 -1
  234. package/dist/types/index.d.ts +2 -2
  235. package/dist/types/index.d.ts.map +1 -1
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/types/tool-interfaces.d.ts +5 -873
  238. package/dist/types/tool-interfaces.d.ts.map +1 -1
  239. package/dist/types/tool-types.d.ts +35 -1
  240. package/dist/types/tool-types.d.ts.map +1 -1
  241. package/dist/unreal-bridge.d.ts.map +1 -1
  242. package/dist/unreal-bridge.js +16 -6
  243. package/dist/unreal-bridge.js.map +1 -1
  244. package/dist/utils/action-constants.d.ts +4 -1
  245. package/dist/utils/action-constants.d.ts.map +1 -1
  246. package/dist/utils/action-constants.js +4 -1
  247. package/dist/utils/action-constants.js.map +1 -1
  248. package/dist/utils/command-validator.d.ts.map +1 -1
  249. package/dist/utils/command-validator.js +5 -4
  250. package/dist/utils/command-validator.js.map +1 -1
  251. package/dist/utils/elicitation.d.ts +5 -2
  252. package/dist/utils/elicitation.d.ts.map +1 -1
  253. package/dist/utils/elicitation.js +38 -21
  254. package/dist/utils/elicitation.js.map +1 -1
  255. package/dist/utils/environment-snapshot.d.ts +17 -0
  256. package/dist/utils/environment-snapshot.d.ts.map +1 -0
  257. package/dist/utils/environment-snapshot.js +242 -0
  258. package/dist/utils/environment-snapshot.js.map +1 -0
  259. package/dist/utils/error-handler.d.ts +1 -11
  260. package/dist/utils/error-handler.d.ts.map +1 -1
  261. package/dist/utils/error-handler.js +41 -25
  262. package/dist/utils/error-handler.js.map +1 -1
  263. package/dist/utils/index.d.ts +2 -1
  264. package/dist/utils/index.d.ts.map +1 -1
  265. package/dist/utils/index.js +2 -1
  266. package/dist/utils/index.js.map +1 -1
  267. package/dist/utils/ini-reader.js +4 -4
  268. package/dist/utils/ini-reader.js.map +1 -1
  269. package/dist/utils/log-reader.d.ts +29 -0
  270. package/dist/utils/log-reader.d.ts.map +1 -0
  271. package/dist/utils/log-reader.js +229 -0
  272. package/dist/utils/log-reader.js.map +1 -0
  273. package/dist/utils/log-redaction.d.ts +4 -0
  274. package/dist/utils/log-redaction.d.ts.map +1 -0
  275. package/dist/utils/log-redaction.js +27 -0
  276. package/dist/utils/log-redaction.js.map +1 -0
  277. package/dist/utils/logger.d.ts +1 -0
  278. package/dist/utils/logger.d.ts.map +1 -1
  279. package/dist/utils/logger.js +20 -7
  280. package/dist/utils/logger.js.map +1 -1
  281. package/dist/utils/normalize.d.ts.map +1 -1
  282. package/dist/utils/normalize.js +31 -30
  283. package/dist/utils/normalize.js.map +1 -1
  284. package/dist/utils/path-security.d.ts.map +1 -1
  285. package/dist/utils/path-security.js +20 -11
  286. package/dist/utils/path-security.js.map +1 -1
  287. package/dist/utils/response-factory.d.ts +1 -1
  288. package/dist/utils/response-factory.d.ts.map +1 -1
  289. package/dist/utils/response-factory.js +17 -3
  290. package/dist/utils/response-factory.js.map +1 -1
  291. package/dist/utils/response-validator.d.ts.map +1 -1
  292. package/dist/utils/response-validator.js +114 -47
  293. package/dist/utils/response-validator.js.map +1 -1
  294. package/dist/utils/safe-json.d.ts.map +1 -1
  295. package/dist/utils/safe-json.js +24 -18
  296. package/dist/utils/safe-json.js.map +1 -1
  297. package/dist/utils/type-coercion.d.ts +2 -3
  298. package/dist/utils/type-coercion.d.ts.map +1 -1
  299. package/dist/utils/type-coercion.js +42 -14
  300. package/dist/utils/type-coercion.js.map +1 -1
  301. package/dist/utils/type-guards.d.ts +2 -0
  302. package/dist/utils/type-guards.d.ts.map +1 -0
  303. package/dist/utils/type-guards.js +4 -0
  304. package/dist/utils/type-guards.js.map +1 -0
  305. package/dist/utils/unreal-command-queue.d.ts +2 -0
  306. package/dist/utils/unreal-command-queue.d.ts.map +1 -1
  307. package/dist/utils/unreal-command-queue.js +80 -54
  308. package/dist/utils/unreal-command-queue.js.map +1 -1
  309. package/dist/utils/validation.d.ts +2 -1
  310. package/dist/utils/validation.d.ts.map +1 -1
  311. package/dist/utils/validation.js +44 -34
  312. package/dist/utils/validation.js.map +1 -1
  313. package/package.json +4 -6
  314. package/server.json +3 -3
  315. package/dist/graphql/loaders.d.ts +0 -64
  316. package/dist/graphql/loaders.d.ts.map +0 -1
  317. package/dist/graphql/loaders.js +0 -117
  318. package/dist/graphql/loaders.js.map +0 -1
  319. package/dist/graphql/resolvers.d.ts +0 -373
  320. package/dist/graphql/resolvers.d.ts.map +0 -1
  321. package/dist/graphql/resolvers.js +0 -776
  322. package/dist/graphql/resolvers.js.map +0 -1
  323. package/dist/graphql/schema.d.ts +0 -5
  324. package/dist/graphql/schema.d.ts.map +0 -1
  325. package/dist/graphql/schema.js +0 -437
  326. package/dist/graphql/schema.js.map +0 -1
  327. package/dist/graphql/server.d.ts +0 -25
  328. package/dist/graphql/server.d.ts.map +0 -1
  329. package/dist/graphql/server.js +0 -119
  330. package/dist/graphql/server.js.map +0 -1
  331. package/dist/graphql/types.d.ts +0 -9
  332. package/dist/graphql/types.d.ts.map +0 -1
  333. package/dist/graphql/types.js +0 -2
  334. package/dist/graphql/types.js.map +0 -1
  335. package/dist/tools/actors.d.ts +0 -212
  336. package/dist/tools/actors.d.ts.map +0 -1
  337. package/dist/tools/actors.js +0 -456
  338. package/dist/tools/actors.js.map +0 -1
  339. package/dist/tools/animation.d.ts +0 -274
  340. package/dist/tools/animation.d.ts.map +0 -1
  341. package/dist/tools/animation.js +0 -773
  342. package/dist/tools/animation.js.map +0 -1
  343. package/dist/tools/assets.d.ts +0 -82
  344. package/dist/tools/assets.d.ts.map +0 -1
  345. package/dist/tools/assets.js +0 -383
  346. package/dist/tools/assets.js.map +0 -1
  347. package/dist/tools/blueprint.d.ts +0 -271
  348. package/dist/tools/blueprint.d.ts.map +0 -1
  349. package/dist/tools/blueprint.js +0 -828
  350. package/dist/tools/blueprint.js.map +0 -1
  351. package/dist/tools/environment.d.ts +0 -37
  352. package/dist/tools/environment.d.ts.map +0 -1
  353. package/dist/tools/environment.js +0 -338
  354. package/dist/tools/environment.js.map +0 -1
  355. package/dist/tools/foliage.d.ts +0 -140
  356. package/dist/tools/foliage.d.ts.map +0 -1
  357. package/dist/tools/foliage.js +0 -405
  358. package/dist/tools/foliage.js.map +0 -1
  359. package/dist/tools/landscape.d.ts +0 -120
  360. package/dist/tools/landscape.d.ts.map +0 -1
  361. package/dist/tools/landscape.js +0 -454
  362. package/dist/tools/landscape.js.map +0 -1
  363. package/dist/tools/lighting.d.ts +0 -240
  364. package/dist/tools/lighting.d.ts.map +0 -1
  365. package/dist/tools/lighting.js +0 -856
  366. package/dist/tools/lighting.js.map +0 -1
  367. package/dist/tools/logs.d.ts +0 -45
  368. package/dist/tools/logs.d.ts.map +0 -1
  369. package/dist/tools/logs.js +0 -235
  370. package/dist/tools/logs.js.map +0 -1
  371. package/dist/tools/niagara.d.ts +0 -277
  372. package/dist/tools/niagara.d.ts.map +0 -1
  373. package/dist/tools/niagara.js +0 -325
  374. package/dist/tools/niagara.js.map +0 -1
  375. package/dist/tools/physics.d.ts +0 -191
  376. package/dist/tools/physics.d.ts.map +0 -1
  377. package/dist/tools/physics.js +0 -492
  378. package/dist/tools/physics.js.map +0 -1
  379. package/dist/tools/sequence.d.ts +0 -139
  380. package/dist/tools/sequence.d.ts.map +0 -1
  381. package/dist/tools/sequence.js +0 -261
  382. package/dist/tools/sequence.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { cleanObject } from '../../utils/safe-json.js';
2
- import { executeAutomationRequest, executeBatchConsoleCommands } from './common-handlers.js';
2
+ import { executeAutomationRequest } from './common-handlers.js';
3
3
  import { ResponseFactory } from '../../utils/response-factory.js';
4
4
  import { TOOL_ACTIONS } from '../../utils/action-constants.js';
5
5
  const VALID_PROFILING_TYPES = ['cpu', 'gpu', 'memory', 'renderthread', 'all', 'fps', 'gamethread'];
@@ -32,12 +32,11 @@ export async function handlePerformanceTools(action, args, tools) {
32
32
  }
33
33
  case 'run_benchmark': {
34
34
  const duration = typeof argsTyped.duration === 'number' ? argsTyped.duration : 60;
35
- await executeAutomationRequest(tools, TOOL_ACTIONS.CONSOLE_COMMAND, { command: 'stat startfile' });
36
- await executeAutomationRequest(tools, TOOL_ACTIONS.CONSOLE_COMMAND, { command: 'profilegpu' });
37
- await new Promise(resolve => setTimeout(resolve, duration * 1000));
38
- await executeAutomationRequest(tools, TOOL_ACTIONS.CONSOLE_COMMAND, { command: 'stat stopfile' });
39
- await executeAutomationRequest(tools, TOOL_ACTIONS.CONSOLE_COMMAND, { command: 'stat none' });
40
- return { success: true, message: `Benchmark completed for ${duration} seconds` };
35
+ const res = await executeAutomationRequest(tools, 'run_benchmark', {
36
+ duration,
37
+ type: typeof argsRecord.type === 'string' ? argsRecord.type : undefined
38
+ });
39
+ return cleanObject(res);
41
40
  }
42
41
  case 'show_fps': {
43
42
  const res = await executeAutomationRequest(tools, TOOL_ACTIONS.SHOW_FPS, {
@@ -83,8 +82,9 @@ export async function handlePerformanceTools(action, args, tools) {
83
82
  }
84
83
  case 'enable_gpu_timing': {
85
84
  const enabled = argsTyped.enabled !== false;
86
- const res = await executeAutomationRequest(tools, TOOL_ACTIONS.CONSOLE_COMMAND, {
87
- command: `r.GPUStatsEnabled ${enabled ? 1 : 0}`
85
+ const res = await executeAutomationRequest(tools, 'manage_performance', {
86
+ subAction: 'enable_gpu_timing',
87
+ enabled
88
88
  });
89
89
  return cleanObject(res);
90
90
  }
@@ -106,8 +106,7 @@ export async function handlePerformanceTools(action, args, tools) {
106
106
  case 'configure_lod': {
107
107
  const res = await executeAutomationRequest(tools, TOOL_ACTIONS.CONFIGURE_LOD, {
108
108
  forceLOD: argsRecord.forceLOD,
109
- lodBias: argsRecord.lodBias,
110
- distanceScale: argsRecord.distanceScale
109
+ lodBias: argsRecord.lodBias
111
110
  });
112
111
  return cleanObject(res);
113
112
  }
@@ -135,43 +134,35 @@ export async function handlePerformanceTools(action, args, tools) {
135
134
  const res = await executeAutomationRequest(tools, TOOL_ACTIONS.MERGE_ACTORS, {
136
135
  enableInstancing: mergeParams.enableInstancing,
137
136
  mergeActors: true,
138
- actors: actors
137
+ actors,
138
+ replaceSourceActors: mergeParams.replaceSourceActors,
139
+ packageName: typeof mergeParams.packageName === 'string' ? mergeParams.packageName : undefined,
140
+ outputPath: typeof mergeParams.outputPath === 'string' ? mergeParams.outputPath : undefined
139
141
  });
140
142
  return cleanObject(res);
141
143
  }
142
- const commands = [];
143
- if (typeof mergeParams.enableInstancing === 'boolean') {
144
- commands.push(`r.MeshDrawCommands.DynamicInstancing ${mergeParams.enableInstancing ? 1 : 0}`);
145
- }
146
- if (commands.length > 0) {
147
- await executeBatchConsoleCommands(tools, commands);
148
- }
149
- return { success: true, message: 'Draw call optimization configured' };
144
+ const res = await executeAutomationRequest(tools, 'optimize_draw_calls', {
145
+ enabled: typeof mergeParams.enabled === 'boolean'
146
+ ? mergeParams.enabled
147
+ : mergeParams.enableBatching,
148
+ instancing: mergeParams.enableInstancing
149
+ });
150
+ return cleanObject(res);
150
151
  }
151
152
  case 'configure_occlusion_culling': {
152
- const enabled = argsTyped.enabled !== false;
153
- const commands = [`r.HZBOcclusion ${enabled ? 1 : 0}`];
154
- if (typeof argsRecord.freezeRendering === 'boolean') {
155
- commands.push(`FreezeRendering ${argsRecord.freezeRendering ? 1 : 0}`);
156
- }
157
- await executeBatchConsoleCommands(tools, commands);
158
- return { success: true, message: 'Occlusion culling configured' };
153
+ const res = await executeAutomationRequest(tools, 'configure_occlusion_culling', {
154
+ enabled: argsTyped.enabled !== false,
155
+ slop: argsRecord.slop,
156
+ minScreenRadius: argsRecord.minScreenRadius
157
+ });
158
+ return cleanObject(res);
159
159
  }
160
160
  case 'optimize_shaders': {
161
- const commands = [];
162
- if (typeof argsRecord.compileOnDemand === 'boolean') {
163
- commands.push(`r.ShaderDevelopmentMode ${argsRecord.compileOnDemand ? 1 : 0}`);
164
- }
165
- if (typeof argsRecord.cacheShaders === 'boolean') {
166
- commands.push(`r.ShaderPipelineCache.Enabled ${argsRecord.cacheShaders ? 1 : 0}`);
167
- }
168
- if (argsRecord.reducePermutations === true) {
169
- commands.push('RecompileShaders changed');
170
- }
171
- if (commands.length > 0) {
172
- await executeBatchConsoleCommands(tools, commands);
173
- }
174
- return { success: true, message: 'Shader optimization configured' };
161
+ const res = await executeAutomationRequest(tools, 'optimize_shaders', {
162
+ mode: typeof argsRecord.mode === 'string' ? argsRecord.mode : undefined,
163
+ forceRecompile: argsRecord.forceRecompile
164
+ });
165
+ return cleanObject(res);
175
166
  }
176
167
  case 'configure_nanite': {
177
168
  const res = await executeAutomationRequest(tools, TOOL_ACTIONS.CONFIGURE_NANITE, {
@@ -185,7 +176,9 @@ export async function handlePerformanceTools(action, args, tools) {
185
176
  const res = await executeAutomationRequest(tools, 'configure_world_partition', {
186
177
  enabled: argsTyped.enabled !== false,
187
178
  cellSize: argsRecord.cellSize,
188
- loadingRange: argsRecord.loadingRange
179
+ loadingRange: typeof argsRecord.streamingDistance === 'number'
180
+ ? argsRecord.streamingDistance
181
+ : argsRecord.loadingRange
189
182
  });
190
183
  return cleanObject(res);
191
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"performance-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/performance-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/performance-handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/pipeline-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoOjE,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBA6I1F"}
1
+ {"version":3,"file":"pipeline-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/pipeline-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAuWjE,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAmJ1F"}
@@ -1,18 +1,77 @@
1
1
  import { cleanObject } from '../../utils/safe-json.js';
2
2
  import { executeAutomationRequest } from './common-handlers.js';
3
- import { spawn, execSync } from 'child_process';
4
- import path from 'path';
5
- import fs from 'fs';
3
+ import { spawn, exec } from 'node:child_process';
4
+ import path from 'node:path';
5
+ import fs from 'node:fs';
6
+ import util from 'node:util';
7
+ const execAsync = util.promisify(exec);
8
+ const ALLOWED_UBT_PLATFORMS = new Set(['Win64', 'Mac', 'Linux', 'LinuxArm64', 'Android', 'IOS', 'TVOS', 'HoloLens', 'VisionOS']);
9
+ const ALLOWED_UBT_CONFIGURATIONS = new Set(['Debug', 'DebugGame', 'Development', 'Shipping', 'Test']);
10
+ const BLOCKED_UBT_OVERRIDE_OPTIONS = new Set(['project', 'projectfile', 'target', 'mode']);
6
11
  function validateUbtArgumentsString(extraArgs) {
7
12
  if (!extraArgs || typeof extraArgs !== 'string') {
8
13
  return;
9
14
  }
10
- const forbiddenChars = ['\n', '\r', ';', '|', '`', '&&', '||', '>', '<'];
15
+ const forbiddenChars = ['\n', '\r', ';', '|', '`', '&&', '||', '>', '<', '"', "'"];
11
16
  for (const char of forbiddenChars) {
12
17
  if (extraArgs.includes(char)) {
13
18
  throw new Error(`UBT arguments contain forbidden character(s) and are blocked for safety. Blocked: ${JSON.stringify(char)}.`);
14
19
  }
15
20
  }
21
+ for (const token of tokenizeArgs(extraArgs)) {
22
+ validateUbtExtraArgumentToken(token);
23
+ }
24
+ }
25
+ function validateUbtArgumentToken(token, context) {
26
+ if (!token || token.trim().length === 0) {
27
+ throw new Error(`${context} must be a non-empty UBT token.`);
28
+ }
29
+ const trimmed = token.trim();
30
+ if (!/^[A-Za-z0-9_\-.=:/\\+]+$/.test(trimmed)) {
31
+ throw new Error(`${context} contains unsafe UBT argument characters.`);
32
+ }
33
+ }
34
+ function validateUbtPositionalToken(token, context) {
35
+ validateUbtArgumentToken(token, context);
36
+ const trimmed = token.trim();
37
+ if (/^[-/@]/.test(trimmed) || trimmed.includes('=') || trimmed.includes(':') || trimmed.includes('/') || trimmed.includes('\\')) {
38
+ throw new Error(`${context} must be a positional UBT token and cannot be a switch or path.`);
39
+ }
40
+ }
41
+ function validateUbtTarget(target) {
42
+ validateUbtPositionalToken(target, 'run_ubt.target');
43
+ }
44
+ function validateUbtPlatform(platform) {
45
+ validateUbtPositionalToken(platform, 'run_ubt.platform');
46
+ if (!ALLOWED_UBT_PLATFORMS.has(platform)) {
47
+ throw new Error(`run_ubt.platform is not allowed: ${platform}`);
48
+ }
49
+ }
50
+ function validateUbtConfiguration(configuration) {
51
+ validateUbtPositionalToken(configuration, 'run_ubt.configuration');
52
+ if (!ALLOWED_UBT_CONFIGURATIONS.has(configuration)) {
53
+ throw new Error(`run_ubt.configuration is not allowed: ${configuration}`);
54
+ }
55
+ }
56
+ function getUbtOptionName(token) {
57
+ const trimmed = token.trim().toLowerCase();
58
+ if (!trimmed.startsWith('-') && !trimmed.startsWith('/')) {
59
+ return undefined;
60
+ }
61
+ const withoutPrefix = trimmed.replace(/^[-/]+/, '');
62
+ const separatorIndex = withoutPrefix.search(/[=:]/);
63
+ return separatorIndex >= 0 ? withoutPrefix.slice(0, separatorIndex) : withoutPrefix;
64
+ }
65
+ function validateUbtExtraArgumentToken(token) {
66
+ const trimmed = token.trim();
67
+ if (trimmed.startsWith('@')) {
68
+ throw new Error('UBT response-file arguments are blocked for safety.');
69
+ }
70
+ validateUbtArgumentToken(token, 'run_ubt.arguments');
71
+ const optionName = getUbtOptionName(trimmed);
72
+ if (optionName && BLOCKED_UBT_OVERRIDE_OPTIONS.has(optionName)) {
73
+ throw new Error(`UBT argument ${optionName} cannot override the managed invocation.`);
74
+ }
16
75
  }
17
76
  function tokenizeArgs(extraArgs) {
18
77
  if (!extraArgs) {
@@ -52,23 +111,32 @@ function tokenizeArgs(extraArgs) {
52
111
  }
53
112
  return args;
54
113
  }
55
- function tryUbtpath(candidate) {
56
- const mode = process.platform === 'win32'
57
- ? fs.constants.F_OK
58
- : fs.constants.F_OK | fs.constants.X_OK;
114
+ function isEngineDirectoryPath(enginePath) {
115
+ const trimmed = enginePath.replace(/[\\/]+$/, '');
116
+ const segments = trimmed.split(/[\\/]/);
117
+ const lastSegment = segments[segments.length - 1];
118
+ return typeof lastSegment === 'string' && lastSegment.toLowerCase() === 'engine';
119
+ }
120
+ async function tryUbtpath(candidate) {
121
+ let mode = fs.constants.F_OK;
122
+ if (process.platform !== 'win32') {
123
+ if (!candidate.endsWith('.dll')) {
124
+ mode = fs.constants.F_OK | fs.constants.X_OK;
125
+ }
126
+ }
59
127
  try {
60
- fs.accessSync(candidate, mode);
128
+ await fs.promises.access(candidate, mode);
61
129
  return candidate;
62
130
  }
63
131
  catch { }
64
132
  return undefined;
65
133
  }
66
- function findUbtExecutable() {
134
+ async function findUbtExecutable() {
67
135
  const enginePath = process.env.UE_ENGINE_PATH ??
68
136
  process.env.UNREAL_ENGINE_PATH ??
69
137
  undefined;
70
138
  if (enginePath) {
71
- const endsWithEngine = /Engine[\\/]*$/i.test(enginePath.replace(/\//g, '\\'));
139
+ const endsWithEngine = isEngineDirectoryPath(enginePath);
72
140
  const roots = endsWithEngine
73
141
  ? [enginePath]
74
142
  : [path.join(enginePath, 'Engine')];
@@ -80,7 +148,7 @@ function findUbtExecutable() {
80
148
  path.join(root, 'Binaries', 'DotNET', 'UnrealBuildTool.dll'),
81
149
  ];
82
150
  for (const c of candidates) {
83
- const hit = tryUbtpath(c);
151
+ const hit = await tryUbtpath(c);
84
152
  if (hit)
85
153
  return hit;
86
154
  }
@@ -88,21 +156,23 @@ function findUbtExecutable() {
88
156
  }
89
157
  const projectPath = process.env.UE_PROJECT_PATH;
90
158
  if (projectPath) {
91
- const uprojectFile = projectPath.endsWith('.uproject')
92
- ? projectPath
93
- : (() => {
94
- try {
95
- const files = fs.readdirSync(projectPath);
96
- const found = files.find(f => f.endsWith('.uproject'));
97
- return found ? path.join(projectPath, found) : undefined;
98
- }
99
- catch {
100
- return undefined;
101
- }
102
- })();
159
+ let uprojectFile = undefined;
160
+ if (projectPath.endsWith('.uproject')) {
161
+ uprojectFile = projectPath;
162
+ }
163
+ else {
164
+ try {
165
+ const files = await fs.promises.readdir(projectPath);
166
+ const found = files.find(f => f.endsWith('.uproject'));
167
+ if (found)
168
+ uprojectFile = path.join(projectPath, found);
169
+ }
170
+ catch { }
171
+ }
103
172
  if (uprojectFile) {
104
173
  try {
105
- const content = JSON.parse(fs.readFileSync(uprojectFile, 'utf-8'));
174
+ const contentRaw = await fs.promises.readFile(uprojectFile, 'utf-8');
175
+ const content = JSON.parse(contentRaw);
106
176
  const association = content.EngineAssociation;
107
177
  if (association) {
108
178
  const versionMatch = association.match(/^(\d+)\.(\d+)$/);
@@ -133,7 +203,7 @@ function findUbtExecutable() {
133
203
  path.join(root, 'Binaries', 'DotNET', 'UnrealBuildTool.dll'),
134
204
  ];
135
205
  for (const c of candidates) {
136
- const hit = tryUbtpath(c);
206
+ const hit = await tryUbtpath(c);
137
207
  if (hit)
138
208
  return hit;
139
209
  }
@@ -142,7 +212,7 @@ function findUbtExecutable() {
142
212
  }
143
213
  const iniPath = path.join(path.dirname(uprojectFile), 'Config', 'DefaultEngine.ini');
144
214
  try {
145
- const iniContent = fs.readFileSync(iniPath, 'utf-8');
215
+ const iniContent = await fs.promises.readFile(iniPath, 'utf-8');
146
216
  const iniMatch = iniContent.match(/EnginePath\s*=\s*(.+)/);
147
217
  if (iniMatch) {
148
218
  const iniEnginePath = iniMatch[1].trim().replace(/["']/g, '');
@@ -152,7 +222,7 @@ function findUbtExecutable() {
152
222
  path.join(iniEnginePath, 'Binaries', 'DotNET', 'UnrealBuildTool.dll'),
153
223
  ];
154
224
  for (const c of candidates) {
155
- const hit = tryUbtpath(c);
225
+ const hit = await tryUbtpath(c);
156
226
  if (hit)
157
227
  return hit;
158
228
  }
@@ -165,12 +235,12 @@ function findUbtExecutable() {
165
235
  }
166
236
  try {
167
237
  const whichCmd = process.platform === 'win32' ? 'where' : 'which';
168
- const result = execSync(`${whichCmd} UnrealBuildTool`, {
169
- stdio: ['pipe', 'pipe', 'pipe'],
238
+ const { stdout } = await execAsync(`${whichCmd} UnrealBuildTool`, {
170
239
  encoding: 'utf-8',
240
+ timeout: 5000,
171
241
  });
172
- if (result) {
173
- const first = result.trim().split(/\r?\n/)[0];
242
+ if (stdout) {
243
+ const first = stdout.trim().split(/\r?\n/)[0];
174
244
  if (first)
175
245
  return first;
176
246
  }
@@ -178,6 +248,43 @@ function findUbtExecutable() {
178
248
  catch { }
179
249
  return '';
180
250
  }
251
+ async function findBundledDotNetRoot(ubtPath) {
252
+ const platformFolder = (() => {
253
+ if (process.platform === 'win32') {
254
+ return process.arch === 'arm64' ? 'win-arm64' : 'win-x64';
255
+ }
256
+ if (process.platform === 'darwin') {
257
+ return process.arch === 'arm64' ? 'mac-arm64' : 'mac-x64';
258
+ }
259
+ return process.arch === 'arm64' ? 'linux-arm64' : 'linux-x64';
260
+ })();
261
+ let candidateRoot = path.dirname(ubtPath);
262
+ for (let depth = 0; depth < 6; depth++) {
263
+ const dotNetBase = path.join(candidateRoot, 'Binaries', 'ThirdParty', 'DotNet');
264
+ try {
265
+ const entries = await fs.promises.readdir(dotNetBase, { withFileTypes: true });
266
+ const versionDirs = entries
267
+ .filter(entry => entry.isDirectory())
268
+ .map(entry => entry.name)
269
+ .sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
270
+ for (const versionDir of versionDirs) {
271
+ const runtimeRoot = path.join(dotNetBase, versionDir, platformFolder);
272
+ const dotnetExecutable = path.join(runtimeRoot, process.platform === 'win32' ? 'dotnet.exe' : 'dotnet');
273
+ const hit = await tryUbtpath(dotnetExecutable);
274
+ if (hit) {
275
+ return runtimeRoot;
276
+ }
277
+ }
278
+ }
279
+ catch { }
280
+ const parent = path.dirname(candidateRoot);
281
+ if (parent === candidateRoot) {
282
+ break;
283
+ }
284
+ candidateRoot = parent;
285
+ }
286
+ return undefined;
287
+ }
181
288
  export async function handlePipelineTools(action, args, tools) {
182
289
  switch (action) {
183
290
  case 'run_ubt': {
@@ -188,10 +295,13 @@ export async function handlePipelineTools(action, args, tools) {
188
295
  if (!target) {
189
296
  throw new Error('Target is required for run_ubt');
190
297
  }
298
+ validateUbtTarget(target);
299
+ validateUbtPlatform(platform);
300
+ validateUbtConfiguration(configuration);
191
301
  validateUbtArgumentsString(extraArgs);
192
- const discoveredUbtPath = findUbtExecutable();
302
+ const discoveredUbtPath = await findUbtExecutable();
193
303
  if (!discoveredUbtPath) {
194
- const res = await executeAutomationRequest(tools, 'manage_pipeline', { ...args, subAction: action }, 'Automation bridge not available for manage_pipeline');
304
+ const res = await executeAutomationRequest(tools, 'manage_pipeline', { ...args, subAction: action }, 'Automation bridge not available for run_ubt');
195
305
  return cleanObject(res);
196
306
  }
197
307
  let projectPath = process.env.UE_PROJECT_PATH;
@@ -204,7 +314,7 @@ export async function handlePipelineTools(action, args, tools) {
204
314
  let uprojectFile = projectPath;
205
315
  if (!uprojectFile.endsWith('.uproject')) {
206
316
  try {
207
- const files = fs.readdirSync(projectPath);
317
+ const files = await fs.promises.readdir(projectPath);
208
318
  const found = files.find(f => f.endsWith('.uproject'));
209
319
  if (found) {
210
320
  uprojectFile = path.join(projectPath, found);
@@ -214,7 +324,7 @@ export async function handlePipelineTools(action, args, tools) {
214
324
  throw new Error(`Could not read project directory: ${projectPath}`);
215
325
  }
216
326
  }
217
- const projectArg = `-Project="${uprojectFile}"`;
327
+ const projectArg = `-Project=${uprojectFile}`;
218
328
  const extraTokens = tokenizeArgs(extraArgs);
219
329
  const cmdArgs = [
220
330
  target,
@@ -226,8 +336,17 @@ export async function handlePipelineTools(action, args, tools) {
226
336
  const isDll = discoveredUbtPath.endsWith('.dll');
227
337
  const executable = isDll ? 'dotnet' : discoveredUbtPath;
228
338
  const actualArgs = isDll ? [discoveredUbtPath, ...cmdArgs] : cmdArgs;
339
+ const bundledDotNetRoot = await findBundledDotNetRoot(discoveredUbtPath);
340
+ const childEnv = bundledDotNetRoot
341
+ ? {
342
+ ...process.env,
343
+ DOTNET_ROOT: bundledDotNetRoot,
344
+ DOTNET_MULTILEVEL_LOOKUP: '0',
345
+ PATH: `${bundledDotNetRoot}${path.delimiter}${process.env.PATH ?? ''}`,
346
+ }
347
+ : process.env;
229
348
  return new Promise((resolve) => {
230
- const child = spawn(executable, actualArgs, { shell: false });
349
+ const child = spawn(executable, actualArgs, { shell: false, env: childEnv });
231
350
  const MAX_OUTPUT_SIZE = 20 * 1024;
232
351
  let stdout = '';
233
352
  let stderr = '';
@@ -283,8 +402,7 @@ export async function handlePipelineTools(action, args, tools) {
283
402
  });
284
403
  }
285
404
  default: {
286
- const res = await executeAutomationRequest(tools, 'manage_pipeline', { ...args, subAction: action }, 'Automation bridge not available for manage_pipeline');
287
- return cleanObject(res);
405
+ return cleanObject({ success: false, error: 'UNKNOWN_ACTION', message: `Unknown system_control pipeline action: ${action}` });
288
406
  }
289
407
  }
290
408
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/pipeline-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/pipeline-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACvC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACjI,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AACtG,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAG3F,SAAS,0BAA0B,CAAC,SAAiB;IACnD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,qFAAqF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,OAAe;IAC9D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,iCAAiC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,2CAA2C,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa,EAAE,OAAe;IAChE,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChI,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,iEAAiE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACzD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,aAAqB;IACrD,0BAA0B,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;IACnE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AACtF,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,UAAU,IAAI,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gBAAgB,UAAU,0CAA0C,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAGD,SAAS,YAAY,CAAC,SAAiB;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,EAAE,CAAC;YACd,UAAU,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;AACnF,CAAC;AAMD,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,IAAI,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC,CAAkB,CAAC;IAC5B,OAAO,SAAS,CAAC;AACnB,CAAC;AAMD,KAAK,UAAU,iBAAiB;IAM9B,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,SAAS,CAAC;IAEZ,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAa,cAAc;YACpC,CAAC,CAAC,CAAC,UAAU,CAAC;YACd,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAKzB,MAAM,UAAU,GAAG;gBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;gBAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;aAC7D,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAGD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,YAAY,GAAuB,SAAS,CAAC;QACjD,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,YAAY,GAAG,WAAW,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvD,IAAI,KAAK;oBAAE,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC,CAAc,CAAC;QAC1B,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAuC,CAAC;gBAEpE,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBACzD,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC;wBACtC,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;wBAE1C,MAAM,WAAW,GAAa,EAAE,CAAC;wBAGjC,MAAM,gBAAgB,GAAG;4BACvB,GAAG,UAAU,OAAO;4BACpB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO;4BACtC,kBAAkB,KAAK,GAAG,KAAK,EAAE;4BACjC,KAAK,KAAK,GAAG,KAAK,cAAc;yBACjC,CAAC;wBACF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;4BACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC/B,IAAI,KAAK;gCAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;wBAGD,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,EACpE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CACnD,CAAC;wBAGF,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,CAAC,EACtD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,CAAC,CACvD,CAAC;wBAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;4BAC/B,IAAI,CAAC,IAAI;gCAAE,SAAS;4BACpB,MAAM,UAAU,GAAG;gCACjB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;gCAC/E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;gCAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;gCAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;6BAC7D,CAAC;4BACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gCAC3B,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;gCAChC,IAAI,GAAG;oCAAE,OAAO,GAAG,CAAC;4BACtB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAGD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;gBACrF,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC3D,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBAC9D,MAAM,UAAU,GAAG;4BACjB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;4BACxF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;4BACrE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;yBACtE,CAAC;wBACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;4BAC3B,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;4BAChC,IAAI,GAAG;gCAAE,OAAO,GAAG,CAAC;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAc,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC,CAA6B,CAAC;QACzC,CAAC;IACH,CAAC;IAGD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;YAChE,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAmB,CAAC;IAG7B,OAAO,EAAE,CAAC;AACZ,CAAC;AAGD,KAAK,UAAU,qBAAqB,CAAC,OAAe;IAClD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;QAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEhF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,MAAM,WAAW,GAAG,OAAO;iBACxB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAEpE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;gBACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACxG,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,WAAW,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,aAAa,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAkB,EAAE,KAAa;IACzF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;YAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9B,wBAAwB,CAAC,aAAa,CAAC,CAAC;YACxC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAEtC,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAEpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAGvB,MAAM,GAAG,GAAG,MAAM,wBAAwB,CACxC,KAAK,EACL,iBAAiB,EACjB,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAC9B,6CAA6C,CAC9C,CAAC;gBACF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAC/G,CAAC;YAED,IAAI,YAAY,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;oBACvD,IAAI,KAAK,EAAE,CAAC;wBACV,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,YAAY,YAAY,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAE5C,MAAM,OAAO,GAAG;gBACd,MAAM;gBACN,QAAQ;gBACR,aAAa;gBACb,UAAU;gBACV,GAAG,WAAW;aACf,CAAC;YAIF,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACxD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACrE,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,iBAAiB;gBAChC,CAAC,CAAC;oBACA,GAAG,OAAO,CAAC,GAAG;oBACd,WAAW,EAAE,iBAAiB;oBAC9B,wBAAwB,EAAE,GAAG;oBAC7B,IAAI,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE;iBACvE;gBACD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAE7E,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;gBAClC,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,CAAC;oBACd,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;wBACpC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,CAAC;oBACd,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;wBACpC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzB,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC;wBAC1F,CAAC,CAAC,2CAA2C;wBAC7C,CAAC,CAAC,EAAE,CAAC;oBAEP,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE5E,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,OAAO,CAAC;4BACN,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,uCAAuC;4BAChD,MAAM,EAAE,MAAM,GAAG,aAAa;4BAC9B,OAAO,EAAE,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;yBACjD,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC;4BACN,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,YAAY;4BACnB,OAAO,EAAE,oCAAoC,IAAI,EAAE;4BACnD,MAAM,EAAE,MAAM,GAAG,aAAa;4BAC9B,WAAW,EAAE,MAAM,GAAG,aAAa;4BACnC,OAAO,EAAE,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;yBACjD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACxB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE5E,OAAO,CAAC;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,cAAc;wBACrB,OAAO,EAAE,oCAAoC,GAAG,CAAC,OAAO,EAAE;wBAC1D,OAAO,EAAE,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;qBACjD,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,2CAA2C,MAAM,EAAE,EAAE,CAAC,CAAC;QAChI,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sequence-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/sequence-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA0B,MAAM,gCAAgC,CAAC;AAkDhF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,oBAqiBrG"}
1
+ {"version":3,"file":"sequence-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/sequence-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA0B,MAAM,gCAAgC,CAAC;AAkDhF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,oBAuiBrG"}
@@ -1,5 +1,5 @@
1
1
  import { cleanObject } from '../../utils/safe-json.js';
2
- import { executeAutomationRequest, requireNonEmptyString } from './common-handlers.js';
2
+ import { executeAutomationRequest, normalizePathFields, requireNonEmptyString } from './common-handlers.js';
3
3
  const managedSequences = new Set();
4
4
  const deletedSequences = new Set();
5
5
  function normalizeSequencePath(path) {
@@ -34,6 +34,7 @@ function getMessageString(res) {
34
34
  }
35
35
  export async function handleSequenceTools(action, args, tools) {
36
36
  const seqAction = String(action || '').trim();
37
+ args = normalizePathFields(args, ['path', 'destinationPath']);
37
38
  switch (seqAction) {
38
39
  case 'create': {
39
40
  const name = requireNonEmptyString(args.name, 'name', 'Missing required parameter: name');
@@ -534,10 +535,11 @@ export async function handleSequenceTools(action, args, tools) {
534
535
  return cleanObject(res);
535
536
  }
536
537
  default:
537
- if (args.action && !args.subAction) {
538
- args.subAction = args.action;
538
+ const payload = { ...args };
539
+ if (payload.action && !payload.subAction) {
540
+ payload.subAction = payload.action;
539
541
  }
540
- return await executeAutomationRequest(tools, 'manage_sequence', args);
542
+ return await executeAutomationRequest(tools, 'manage_sequence', payload);
541
543
  }
542
544
  }
543
545
  //# sourceMappingURL=sequence-handlers.js.map