@hybridlabor-api/aos 4.2.0 → 4.4.0

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 (1098) hide show
  1. package/.claude/hooks/memb-inject.mjs +121 -0
  2. package/.claude/settings.json +10 -0
  3. package/CLAUDE.md +37 -84
  4. package/CODEX.md +31 -12
  5. package/GEMINI.md +51 -58
  6. package/README.de.md +13 -14
  7. package/README.md +13 -14
  8. package/README.pt.md +13 -14
  9. package/THIRD_PARTY_NOTICES.md +54 -0
  10. package/docs/skills_table.md +0 -2
  11. package/installer.js +29 -16
  12. package/package.json +21 -2
  13. package/scripts/validate-skills.mjs +402 -0
  14. package/skills/basic/godmode-engineering/SKILL.md +1 -1
  15. package/skills/basic/godmode-shipping/SKILL.md +1 -1
  16. package/skills/github-repo/SKILL.md +1 -0
  17. package/skills/global_config/agent-tool-builder/SKILL.md +5 -4
  18. package/skills/global_config/ai-product/SKILL.md +3 -2
  19. package/skills/global_config/aos-project-init/SKILL.md +194 -0
  20. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +56 -0
  21. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +137 -0
  22. package/skills/global_config/aos-setup/SKILL.md +222 -0
  23. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +262 -0
  24. package/skills/global_config/ask-tim/SKILL.md +4 -2
  25. package/skills/global_config/{bdb-adobe-suite-mcp.md → bdb-adobe-suite-mcp/SKILL.md} +1 -0
  26. package/skills/global_config/{bdb-after-effects-mcp.md → bdb-after-effects-mcp/SKILL.md} +1 -0
  27. package/skills/global_config/{bdb-blender-mcp.md → bdb-blender-mcp/SKILL.md} +1 -0
  28. package/skills/global_config/{bdb-computer-use-mcp.md → bdb-computer-use-mcp/SKILL.md} +1 -0
  29. package/skills/global_config/{bdb-davinci-mcp.md → bdb-davinci-mcp/SKILL.md} +1 -0
  30. package/skills/global_config/bdb-ecosystem-health/SKILL.md +3 -3
  31. package/skills/global_config/{bdb-grandma3-mcp.md → bdb-grandma3-mcp/SKILL.md} +1 -0
  32. package/skills/global_config/{bdb-memb-mcp.md → bdb-memb-mcp/SKILL.md} +10 -0
  33. package/skills/global_config/{bdb-resolume-mcp.md → bdb-resolume-mcp/SKILL.md} +1 -0
  34. package/skills/global_config/{bdb-rhino-mcp.md → bdb-rhino-mcp/SKILL.md} +1 -0
  35. package/skills/global_config/{bdb-touchdesigner-mcp.md → bdb-touchdesigner-mcp/SKILL.md} +1 -0
  36. package/skills/global_config/{bdb-unreal-mcp.md → bdb-unreal-mcp/SKILL.md} +1 -0
  37. package/skills/global_config/{bdb-vectorworks-mcp.md → bdb-vectorworks-mcp/SKILL.md} +1 -0
  38. package/skills/global_config/bdbsaashost/SKILL.md +50 -50
  39. package/skills/global_config/browser-automation/SKILL.md +4 -4
  40. package/skills/global_config/crewai/SKILL.md +3 -2
  41. package/skills/global_config/debugger/SKILL.md +3 -6
  42. package/skills/global_config/git-advanced-workflows/SKILL.md +0 -1
  43. package/skills/global_config/github-actions-templates/SKILL.md +0 -2
  44. package/skills/global_config/neon-postgres/SKILL.md +3 -2
  45. package/skills/global_config/playwright-skill/SKILL.md +1 -1
  46. package/skills/global_config/posix-shell-pro/SKILL.md +0 -1
  47. package/skills/global_config/postgres-best-practices/SKILL.md +1 -1
  48. package/skills/global_config/prompt-engineering-patterns/SKILL.md +0 -1
  49. package/skills/global_config/rag-engineer/SKILL.md +4 -3
  50. package/skills/global_config/react-best-practices/SKILL.md +1 -1
  51. package/skills/global_config/remotion/SKILL.md +0 -1
  52. package/skills/global_config/seo/SKILL.md +6 -41
  53. package/skills/global_config/systematic-debugging/CREATION-LOG.md +1 -1
  54. package/skills/global_config/systematic-debugging/root-cause-tracing.md +1 -1
  55. package/skills/global_config/turborepo-caching/SKILL.md +0 -1
  56. package/skills/global_config/using-neon/SKILL.md +1 -47
  57. package/skills/global_config/vector-database-engineer/SKILL.md +0 -1
  58. package/skills/global_config/web-artifacts-builder/LICENSE.txt +1 -1
  59. package/skills/global_config/web-artifacts-builder/SKILL.md +1 -1
  60. package/skills/global_config/webapp-testing/LICENSE.txt +1 -1
  61. package/skills/global_config/webapp-testing/SKILL.md +1 -1
  62. package/assets/Give_AI_Agents_Control_of_Creative_Software.mp4 +0 -0
  63. package/mcps/RhinoMCP/connector/icon-dark.png +0 -3
  64. package/mcps/RhinoMCP/connector/icon-light.png +0 -3
  65. package/mcps/RhinoMCP/connector/screenshots/casa-rhino.png +0 -3
  66. package/mcps/RhinoMCP/docs/assets/css/custom.css +0 -640
  67. package/mcps/RhinoMCP/docs/content/_index.md +0 -88
  68. package/mcps/RhinoMCP/docs/content/docs/_index.md +0 -35
  69. package/mcps/RhinoMCP/docs/content/docs/advanced/_index.md +0 -37
  70. package/mcps/RhinoMCP/docs/content/docs/advanced/bulk-file-processing.md +0 -70
  71. package/mcps/RhinoMCP/docs/content/docs/advanced/headless-render-farm.md +0 -60
  72. package/mcps/RhinoMCP/docs/content/docs/advanced/make-this-parametric.md +0 -56
  73. package/mcps/RhinoMCP/docs/content/docs/advanced/sketch-to-model.md +0 -58
  74. package/mcps/RhinoMCP/docs/content/docs/advanced/upgrade-gh1-to-gh2.md +0 -51
  75. package/mcps/RhinoMCP/docs/content/docs/developers/_index.md +0 -39
  76. package/mcps/RhinoMCP/docs/content/docs/developers/dev-troubleshooting.md +0 -15
  77. package/mcps/RhinoMCP/docs/content/docs/developers/plugin-prototyping.md +0 -56
  78. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-gh1-to-gh2.md +0 -98
  79. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-to-netcore.md +0 -53
  80. package/mcps/RhinoMCP/docs/content/docs/developers/windows-to-cross-platform.md +0 -58
  81. package/mcps/RhinoMCP/docs/content/docs/developers/wpf-to-eto.md +0 -64
  82. package/mcps/RhinoMCP/docs/content/docs/getting-started/_index.md +0 -45
  83. package/mcps/RhinoMCP/docs/content/docs/getting-started/cc-plugin.md +0 -116
  84. package/mcps/RhinoMCP/docs/content/docs/getting-started/connector.md +0 -65
  85. package/mcps/RhinoMCP/docs/content/docs/getting-started/copilot.md +0 -61
  86. package/mcps/RhinoMCP/docs/content/docs/getting-started/lm-studio.md +0 -62
  87. package/mcps/RhinoMCP/docs/content/docs/troubleshooting.md +0 -66
  88. package/mcps/RhinoMCP/docs/content/docs/try-it-out/_index.md +0 -39
  89. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/_index.md +0 -25
  90. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/build-grasshopper.md +0 -26
  91. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/generate-variations.md +0 -25
  92. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/inspect-and-report.md +0 -26
  93. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/layers.md +0 -28
  94. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/model-from-image.md +0 -27
  95. package/mcps/RhinoMCP/docs/content/docs/try-it-out/recipes.md +0 -178
  96. package/mcps/RhinoMCP/docs/data/icons.yaml +0 -3
  97. package/mcps/RhinoMCP/docs/go.mod +0 -5
  98. package/mcps/RhinoMCP/docs/go.sum +0 -4
  99. package/mcps/RhinoMCP/docs/hugo.yaml +0 -78
  100. package/mcps/RhinoMCP/docs/layouts/_partials/sidebar.html +0 -333
  101. package/mcps/RhinoMCP/docs/layouts/docs/list.html +0 -29
  102. package/mcps/RhinoMCP/docs/layouts/docs/single.html +0 -29
  103. package/mcps/RhinoMCP/docs/layouts/partials/custom/head-end.html +0 -3
  104. package/mcps/RhinoMCP/docs/layouts/shortcodes/download-asset.html +0 -21
  105. package/mcps/RhinoMCP/docs/layouts/shortcodes/github.html +0 -21
  106. package/mcps/RhinoMCP/docs/layouts/shortcodes/prompt.html +0 -23
  107. package/mcps/RhinoMCP/docs/layouts/shortcodes/yak.html +0 -21
  108. package/mcps/RhinoMCP/docs/static/developer/sel-arc.png +0 -3
  109. package/mcps/RhinoMCP/docs/static/developer/voxelizer-gh2-conversion.png +0 -3
  110. package/mcps/RhinoMCP/docs/static/examples/ai-kettle.png +0 -3
  111. package/mcps/RhinoMCP/docs/static/examples/casa_rhino_shapes.png +0 -3
  112. package/mcps/RhinoMCP/docs/static/examples/kettle.jpg +0 -0
  113. package/mcps/RhinoMCP/docs/static/examples/raygun-layers.png +0 -3
  114. package/mcps/RhinoMCP/docs/static/examples/raygun-thumbnail.png +0 -3
  115. package/mcps/RhinoMCP/docs/static/examples/twisty-tower-gh.png +0 -3
  116. package/mcps/RhinoMCP/docs/static/favicon.svg +0 -26
  117. package/mcps/RhinoMCP/docs/static/images/landing-dark.png +0 -3
  118. package/mcps/RhinoMCP/docs/static/images/landing.png +0 -3
  119. package/mcps/RhinoMCP/docs/static/images/logo-dark.svg +0 -26
  120. package/mcps/RhinoMCP/docs/static/images/logo.svg +0 -26
  121. package/mcps/RhinoMCP/docs/static/local-llm.png +0 -3
  122. package/mcps/RhinoMCP/rhino/plugin/icon.png +0 -3
  123. package/mcps/RhinoMCP/tests/Acp.Tests/Acp.Tests.csproj +0 -29
  124. package/mcps/RhinoMCP/tests/Acp.Tests/CoverageTests.cs +0 -52
  125. package/mcps/RhinoMCP/tests/Acp.Tests/Fakes.cs +0 -90
  126. package/mcps/RhinoMCP/tests/Acp.Tests/GlobalUsings.cs +0 -1
  127. package/mcps/RhinoMCP/tests/Acp.Tests/LoopbackTests.cs +0 -59
  128. package/mcps/RhinoMCP/tests/Acp.Tests/RobustnessTests.cs +0 -124
  129. package/mcps/RhinoMCP/tests/Acp.Tests/SerializationTests.cs +0 -94
  130. package/mcps/RhinoMCP/tests/Integration.Tests/AdoptedSlotTests.cs +0 -136
  131. package/mcps/RhinoMCP/tests/Integration.Tests/AutoSpawnNotificationTests.cs +0 -63
  132. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotAgentTests.cs +0 -56
  133. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotTests.cs +0 -37
  134. package/mcps/RhinoMCP/tests/Integration.Tests/DocLifecycleTests.cs +0 -42
  135. package/mcps/RhinoMCP/tests/Integration.Tests/GlobalUsings.cs +0 -3
  136. package/mcps/RhinoMCP/tests/Integration.Tests/GrasshopperStartTests.cs +0 -56
  137. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/ReturnResult.cs +0 -28
  138. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpFixture.cs +0 -90
  139. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpRouter.cs +0 -111
  140. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoRouterPaths.cs +0 -83
  141. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RouterFixture.cs +0 -50
  142. package/mcps/RhinoMCP/tests/Integration.Tests/Integration.Tests.csproj +0 -31
  143. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsShapeTests.cs +0 -55
  144. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsTests.cs +0 -19
  145. package/mcps/RhinoMCP/tests/Integration.Tests/MacSharedProcessTests.cs +0 -87
  146. package/mcps/RhinoMCP/tests/Integration.Tests/MultiRouterTests.cs +0 -74
  147. package/mcps/RhinoMCP/tests/Integration.Tests/PluginToolTests.cs +0 -115
  148. package/mcps/RhinoMCP/tests/Integration.Tests/README.md +0 -35
  149. package/mcps/RhinoMCP/tests/Integration.Tests/RhinoCrashHandlingTests.cs +0 -107
  150. package/mcps/RhinoMCP/tests/Integration.Tests/SlotReapingTests.cs +0 -84
  151. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnErrorTests.cs +0 -52
  152. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnSlotTests.cs +0 -66
  153. package/mcps/RhinoMCP/tests/Integration.Tests/ToolDispatchBySlotTests.cs +0 -53
  154. package/mcps/RhinoMCP/tests/Integration.Tests/WindowsProcessIsolationTests.cs +0 -62
  155. package/mcps/RhinoMCP/tests/Router.Tests/CodegenTests.cs +0 -125
  156. package/mcps/RhinoMCP/tests/Router.Tests/ReturnResultTests.cs +0 -90
  157. package/mcps/RhinoMCP/tests/Router.Tests/RhinoCrashReportFinderTests.cs +0 -207
  158. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorOverrideTests.cs +0 -61
  159. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorTests.cs +0 -38
  160. package/mcps/RhinoMCP/tests/Router.Tests/RhinoManagerResolutionTests.cs +0 -151
  161. package/mcps/RhinoMCP/tests/Router.Tests/Router.Tests.csproj +0 -31
  162. package/mcps/RhinoMCP/tests/Router.Tests/RouterConfigTests.cs +0 -92
  163. package/mcps/RhinoMCP/tests/Router.Tests/SlotStoreLaunchingAbsenceTests.cs +0 -70
  164. package/mcps/RhinoMCP/tests/Router.Tests/SlotStorePortReservationTests.cs +0 -92
  165. package/mcps/RhinoMCP/tests/Router.Tests/SpawnDiagnosticsTests.cs +0 -100
  166. package/mcps/RhinoMCP/tests/Router.Tests/SpawnSlotToolDiagnoseTests.cs +0 -66
  167. package/mcps/RhinoMCP/tests/Server.Tests/McpConfigEditTests.cs +0 -223
  168. package/mcps/RhinoMCP/tests/Server.Tests/ParameterBinderTests.cs +0 -208
  169. package/mcps/RhinoMCP/tests/Server.Tests/ProtocolTests.cs +0 -200
  170. package/mcps/RhinoMCP/tests/Server.Tests/ResourceRegistryTests.cs +0 -218
  171. package/mcps/RhinoMCP/tests/Server.Tests/ResultUnwrapperTests.cs +0 -53
  172. package/mcps/RhinoMCP/tests/Server.Tests/SchemaBuilderTests.cs +0 -166
  173. package/mcps/RhinoMCP/tests/Server.Tests/Server.Tests.csproj +0 -40
  174. package/mcps/RhinoMCP/tests/StreamJson.Tests/AcpMessageMapperTests.cs +0 -82
  175. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentPromptsTests.cs +0 -56
  176. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryOverlayTests.cs +0 -88
  177. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryResolutionTests.cs +0 -152
  178. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRunnerTurnTests.cs +0 -149
  179. package/mcps/RhinoMCP/tests/StreamJson.Tests/ClaudeStreamJsonParserTests.cs +0 -118
  180. package/mcps/RhinoMCP/tests/StreamJson.Tests/CodexStreamJsonParserTests.cs +0 -100
  181. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStorePruneTests.cs +0 -94
  182. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStoreRoundTripTests.cs +0 -70
  183. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationTests.cs +0 -153
  184. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationUsageTests.cs +0 -56
  185. package/mcps/RhinoMCP/tests/StreamJson.Tests/GlobalUsings.cs +0 -12
  186. package/mcps/RhinoMCP/tests/StreamJson.Tests/Shims.cs +0 -93
  187. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJson.Tests.csproj +0 -56
  188. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonAgentLoopbackTests.cs +0 -75
  189. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonParserEdgeCaseTests.cs +0 -128
  190. package/mcps/RhinoMCP/tests/StreamJson.Tests/TokenUsageTests.cs +0 -40
  191. package/mcps/RhinoMCP/tests/launcher/launcher.test.mjs +0 -461
  192. package/mcps/RhinoMCP/tests/launcher/package.json +0 -8
  193. package/mcps/ae-mcp/docs/demo.png +0 -0
  194. package/mcps/ae-mcp/docs/demo1.png +0 -0
  195. package/mcps/ae-mcp/docs/demo3.png +0 -0
  196. package/mcps/ae-mcp/docs/video.png +0 -0
  197. package/mcps/after-effects-mcp/assets/MCP Auto Bridge.png +0 -0
  198. package/mcps/bdb-remoteos-mcp/tests/__init__.py +0 -1
  199. package/mcps/bdb-remoteos-mcp/tests/mock_incus.py +0 -60
  200. package/mcps/bdb-remoteos-mcp/tests/test_mcp_server.py +0 -27
  201. package/mcps/bdb-remoteos-mcp/tests/test_security_redteam.py +0 -349
  202. package/mcps/bdb-remoteos-mcp/tests/test_webhook.py +0 -61
  203. package/mcps/blender-mcp/assets/addon-instructions.png +0 -0
  204. package/mcps/blender-mcp/assets/hammer-icon.png +0 -0
  205. package/mcps/blender-mcp-server/docs/architecture.md +0 -209
  206. package/mcps/blender-mcp-server/docs/images/demo_render.png +0 -0
  207. package/mcps/blender-mcp-server/docs/python-execute-design.md +0 -515
  208. package/mcps/blender-mcp-server/tests/__init__.py +0 -0
  209. package/mcps/blender-mcp-server/tests/test_addon.py +0 -953
  210. package/mcps/blender-mcp-server/tests/test_server.py +0 -364
  211. package/mcps/davinci-mcp-professional/docs/README.md +0 -67
  212. package/mcps/davinci-mcp-professional/docs/html/README_8md.html +0 -113
  213. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.html +0 -126
  214. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.js +0 -6
  215. package/mcps/davinci-mcp-professional/docs/html/____init_____8py_source.html +0 -125
  216. package/mcps/davinci-mcp-professional/docs/html/__version_8py.html +0 -130
  217. package/mcps/davinci-mcp-professional/docs/html/__version_8py.js +0 -9
  218. package/mcps/davinci-mcp-professional/docs/html/__version_8py_source.html +0 -130
  219. package/mcps/davinci-mcp-professional/docs/html/annotated.html +0 -123
  220. package/mcps/davinci-mcp-professional/docs/html/annotated_dup.js +0 -21
  221. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient-members.html +0 -131
  222. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.html +0 -706
  223. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.js +0 -26
  224. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError.html +0 -143
  225. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.map +0 -7
  226. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.md5 +0 -1
  227. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.png +0 -0
  228. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.map +0 -7
  229. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.md5 +0 -1
  230. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.png +0 -0
  231. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError.html +0 -143
  232. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.map +0 -5
  233. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.md5 +0 -1
  234. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.png +0 -0
  235. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.map +0 -9
  236. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.md5 +0 -1
  237. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.png +0 -0
  238. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError.html +0 -143
  239. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.map +0 -7
  240. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.md5 +0 -1
  241. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.png +0 -0
  242. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.map +0 -7
  243. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.md5 +0 -1
  244. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.png +0 -0
  245. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer-members.html +0 -115
  246. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.html +0 -325
  247. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.js +0 -10
  248. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool-members.html +0 -110
  249. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.html +0 -188
  250. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.js +0 -5
  251. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.map +0 -5
  252. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.md5 +0 -1
  253. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.png +0 -0
  254. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.map +0 -5
  255. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.md5 +0 -1
  256. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.png +0 -0
  257. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject-members.html +0 -113
  258. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.html +0 -248
  259. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.js +0 -8
  260. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager-members.html +0 -113
  261. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.html +0 -252
  262. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.js +0 -8
  263. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.map +0 -5
  264. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.md5 +0 -1
  265. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.png +0 -0
  266. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.map +0 -5
  267. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.md5 +0 -1
  268. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.png +0 -0
  269. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.map +0 -5
  270. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.md5 +0 -1
  271. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.png +0 -0
  272. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.map +0 -5
  273. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.md5 +0 -1
  274. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.png +0 -0
  275. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp-members.html +0 -115
  276. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.html +0 -288
  277. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.js +0 -10
  278. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.map +0 -5
  279. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.md5 +0 -1
  280. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.png +0 -0
  281. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.map +0 -5
  282. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.md5 +0 -1
  283. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.png +0 -0
  284. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline-members.html +0 -110
  285. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.html +0 -188
  286. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.js +0 -5
  287. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.map +0 -5
  288. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.md5 +0 -1
  289. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.png +0 -0
  290. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.map +0 -5
  291. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.md5 +0 -1
  292. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.png +0 -0
  293. package/mcps/davinci-mcp-professional/docs/html/classes.html +0 -111
  294. package/mcps/davinci-mcp-professional/docs/html/cli_8py.html +0 -135
  295. package/mcps/davinci-mcp-professional/docs/html/cli_8py.js +0 -11
  296. package/mcps/davinci-mcp-professional/docs/html/cli_8py_source.html +0 -249
  297. package/mcps/davinci-mcp-professional/docs/html/clipboard.js +0 -61
  298. package/mcps/davinci-mcp-professional/docs/html/cookie.js +0 -58
  299. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.html +0 -127
  300. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.js +0 -4
  301. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.map +0 -4
  302. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.md5 +0 -1
  303. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.png +0 -0
  304. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.html +0 -128
  305. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.js +0 -5
  306. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.map +0 -4
  307. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.md5 +0 -1
  308. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.png +0 -0
  309. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.html +0 -127
  310. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.js +0 -4
  311. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.map +0 -4
  312. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.md5 +0 -1
  313. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.png +0 -0
  314. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.html +0 -129
  315. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.js +0 -12
  316. package/mcps/davinci-mcp-professional/docs/html/doxygen.css +0 -2540
  317. package/mcps/davinci-mcp-professional/docs/html/doxygen.svg +0 -28
  318. package/mcps/davinci-mcp-professional/docs/html/doxygen_crawl.html +0 -170
  319. package/mcps/davinci-mcp-professional/docs/html/dynsections.js +0 -198
  320. package/mcps/davinci-mcp-professional/docs/html/files.html +0 -123
  321. package/mcps/davinci-mcp-professional/docs/html/files_dup.js +0 -4
  322. package/mcps/davinci-mcp-professional/docs/html/functions.html +0 -190
  323. package/mcps/davinci-mcp-professional/docs/html/functions_func.html +0 -184
  324. package/mcps/davinci-mcp-professional/docs/html/functions_vars.html +0 -110
  325. package/mcps/davinci-mcp-professional/docs/html/graph_legend.html +0 -165
  326. package/mcps/davinci-mcp-professional/docs/html/graph_legend.md5 +0 -1
  327. package/mcps/davinci-mcp-professional/docs/html/graph_legend.png +0 -0
  328. package/mcps/davinci-mcp-professional/docs/html/hierarchy.html +0 -123
  329. package/mcps/davinci-mcp-professional/docs/html/hierarchy.js +0 -18
  330. package/mcps/davinci-mcp-professional/docs/html/index.html +0 -200
  331. package/mcps/davinci-mcp-professional/docs/html/index.js +0 -9
  332. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.map +0 -3
  333. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.md5 +0 -1
  334. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.png +0 -0
  335. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.map +0 -3
  336. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.md5 +0 -1
  337. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.png +0 -0
  338. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.map +0 -9
  339. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.md5 +0 -1
  340. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.png +0 -0
  341. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.map +0 -13
  342. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.md5 +0 -1
  343. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.png +0 -0
  344. package/mcps/davinci-mcp-professional/docs/html/inherits.html +0 -145
  345. package/mcps/davinci-mcp-professional/docs/html/jquery.js +0 -204
  346. package/mcps/davinci-mcp-professional/docs/html/menu.js +0 -131
  347. package/mcps/davinci-mcp-professional/docs/html/menudata.js +0 -73
  348. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.html +0 -209
  349. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.js +0 -34
  350. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1__version.html +0 -260
  351. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1cli.html +0 -303
  352. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.html +0 -147
  353. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.js +0 -8
  354. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resources.html +0 -140
  355. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.html +0 -144
  356. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.js +0 -5
  357. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1tools.html +0 -140
  358. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.html +0 -216
  359. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.js +0 -13
  360. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.html +0 -155
  361. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.js +0 -11
  362. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils_1_1platform.html +0 -232
  363. package/mcps/davinci-mcp-professional/docs/html/namespacemembers.html +0 -173
  364. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_func.html +0 -114
  365. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_vars.html +0 -121
  366. package/mcps/davinci-mcp-professional/docs/html/namespaces.html +0 -119
  367. package/mcps/davinci-mcp-professional/docs/html/namespaces_dup.js +0 -4
  368. package/mcps/davinci-mcp-professional/docs/html/navtree.css +0 -327
  369. package/mcps/davinci-mcp-professional/docs/html/navtree.js +0 -901
  370. package/mcps/davinci-mcp-professional/docs/html/navtreedata.js +0 -68
  371. package/mcps/davinci-mcp-professional/docs/html/navtreeindex0.js +0 -212
  372. package/mcps/davinci-mcp-professional/docs/html/platform_8py.html +0 -130
  373. package/mcps/davinci-mcp-professional/docs/html/platform_8py.js +0 -8
  374. package/mcps/davinci-mcp-professional/docs/html/platform_8py_source.html +0 -245
  375. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.html +0 -132
  376. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.js +0 -8
  377. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py_source.html +0 -501
  378. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.html +0 -125
  379. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.js +0 -4
  380. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py_source.html +0 -169
  381. package/mcps/davinci-mcp-professional/docs/html/search/all_0.js +0 -22
  382. package/mcps/davinci-mcp-professional/docs/html/search/all_1.js +0 -4
  383. package/mcps/davinci-mcp-professional/docs/html/search/all_10.js +0 -4
  384. package/mcps/davinci-mcp-professional/docs/html/search/all_11.js +0 -4
  385. package/mcps/davinci-mcp-professional/docs/html/search/all_12.js +0 -4
  386. package/mcps/davinci-mcp-professional/docs/html/search/all_13.js +0 -4
  387. package/mcps/davinci-mcp-professional/docs/html/search/all_2.js +0 -4
  388. package/mcps/davinci-mcp-professional/docs/html/search/all_3.js +0 -15
  389. package/mcps/davinci-mcp-professional/docs/html/search/all_4.js +0 -26
  390. package/mcps/davinci-mcp-professional/docs/html/search/all_5.js +0 -4
  391. package/mcps/davinci-mcp-professional/docs/html/search/all_6.js +0 -6
  392. package/mcps/davinci-mcp-professional/docs/html/search/all_7.js +0 -25
  393. package/mcps/davinci-mcp-professional/docs/html/search/all_8.js +0 -7
  394. package/mcps/davinci-mcp-professional/docs/html/search/all_9.js +0 -9
  395. package/mcps/davinci-mcp-professional/docs/html/search/all_a.js +0 -6
  396. package/mcps/davinci-mcp-professional/docs/html/search/all_b.js +0 -6
  397. package/mcps/davinci-mcp-professional/docs/html/search/all_c.js +0 -9
  398. package/mcps/davinci-mcp-professional/docs/html/search/all_d.js +0 -10
  399. package/mcps/davinci-mcp-professional/docs/html/search/all_e.js +0 -11
  400. package/mcps/davinci-mcp-professional/docs/html/search/all_f.js +0 -5
  401. package/mcps/davinci-mcp-professional/docs/html/search/classes_0.js +0 -13
  402. package/mcps/davinci-mcp-professional/docs/html/search/files_0.js +0 -5
  403. package/mcps/davinci-mcp-professional/docs/html/search/files_1.js +0 -4
  404. package/mcps/davinci-mcp-professional/docs/html/search/files_2.js +0 -4
  405. package/mcps/davinci-mcp-professional/docs/html/search/files_3.js +0 -5
  406. package/mcps/davinci-mcp-professional/docs/html/search/files_4.js +0 -4
  407. package/mcps/davinci-mcp-professional/docs/html/search/files_5.js +0 -4
  408. package/mcps/davinci-mcp-professional/docs/html/search/functions_0.js +0 -9
  409. package/mcps/davinci-mcp-professional/docs/html/search/functions_1.js +0 -4
  410. package/mcps/davinci-mcp-professional/docs/html/search/functions_2.js +0 -10
  411. package/mcps/davinci-mcp-professional/docs/html/search/functions_3.js +0 -4
  412. package/mcps/davinci-mcp-professional/docs/html/search/functions_4.js +0 -25
  413. package/mcps/davinci-mcp-professional/docs/html/search/functions_5.js +0 -6
  414. package/mcps/davinci-mcp-professional/docs/html/search/functions_6.js +0 -7
  415. package/mcps/davinci-mcp-professional/docs/html/search/functions_7.js +0 -4
  416. package/mcps/davinci-mcp-professional/docs/html/search/functions_8.js +0 -5
  417. package/mcps/davinci-mcp-professional/docs/html/search/functions_9.js +0 -4
  418. package/mcps/davinci-mcp-professional/docs/html/search/functions_a.js +0 -4
  419. package/mcps/davinci-mcp-professional/docs/html/search/functions_b.js +0 -6
  420. package/mcps/davinci-mcp-professional/docs/html/search/namespaces_0.js +0 -13
  421. package/mcps/davinci-mcp-professional/docs/html/search/pages_0.js +0 -4
  422. package/mcps/davinci-mcp-professional/docs/html/search/pages_1.js +0 -6
  423. package/mcps/davinci-mcp-professional/docs/html/search/pages_2.js +0 -5
  424. package/mcps/davinci-mcp-professional/docs/html/search/pages_3.js +0 -4
  425. package/mcps/davinci-mcp-professional/docs/html/search/pages_4.js +0 -5
  426. package/mcps/davinci-mcp-professional/docs/html/search/pages_5.js +0 -4
  427. package/mcps/davinci-mcp-professional/docs/html/search/pages_6.js +0 -4
  428. package/mcps/davinci-mcp-professional/docs/html/search/pages_7.js +0 -4
  429. package/mcps/davinci-mcp-professional/docs/html/search/pages_8.js +0 -5
  430. package/mcps/davinci-mcp-professional/docs/html/search/pages_9.js +0 -5
  431. package/mcps/davinci-mcp-professional/docs/html/search/pages_a.js +0 -6
  432. package/mcps/davinci-mcp-professional/docs/html/search/pages_b.js +0 -4
  433. package/mcps/davinci-mcp-professional/docs/html/search/pages_c.js +0 -4
  434. package/mcps/davinci-mcp-professional/docs/html/search/pages_d.js +0 -4
  435. package/mcps/davinci-mcp-professional/docs/html/search/search.css +0 -377
  436. package/mcps/davinci-mcp-professional/docs/html/search/search.js +0 -708
  437. package/mcps/davinci-mcp-professional/docs/html/search/searchdata.js +0 -33
  438. package/mcps/davinci-mcp-professional/docs/html/search/variables_0.js +0 -14
  439. package/mcps/davinci-mcp-professional/docs/html/search/variables_1.js +0 -4
  440. package/mcps/davinci-mcp-professional/docs/html/search/variables_2.js +0 -4
  441. package/mcps/davinci-mcp-professional/docs/html/search/variables_3.js +0 -5
  442. package/mcps/davinci-mcp-professional/docs/html/search/variables_4.js +0 -4
  443. package/mcps/davinci-mcp-professional/docs/html/search/variables_5.js +0 -5
  444. package/mcps/davinci-mcp-professional/docs/html/search/variables_6.js +0 -5
  445. package/mcps/davinci-mcp-professional/docs/html/search/variables_7.js +0 -4
  446. package/mcps/davinci-mcp-professional/docs/html/search/variables_8.js +0 -4
  447. package/mcps/davinci-mcp-professional/docs/html/search/variables_9.js +0 -4
  448. package/mcps/davinci-mcp-professional/docs/html/server_8py.html +0 -129
  449. package/mcps/davinci-mcp-professional/docs/html/server_8py.js +0 -5
  450. package/mcps/davinci-mcp-professional/docs/html/server_8py_source.html +0 -318
  451. package/mcps/davinci-mcp-professional/docs/html/tabs.css +0 -1
  452. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.html +0 -125
  453. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.js +0 -4
  454. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py_source.html +0 -253
  455. package/mcps/davinci-mcp-professional/docs/html/types_8py.html +0 -137
  456. package/mcps/davinci-mcp-professional/docs/html/types_8py.js +0 -13
  457. package/mcps/davinci-mcp-professional/docs/html/types_8py_source.html +0 -309
  458. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.html +0 -125
  459. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.js +0 -4
  460. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py_source.html +0 -123
  461. package/mcps/davinci-mcp-professional/tests/README.md +0 -49
  462. package/mcps/davinci-mcp-professional/tests/__init__.py +0 -1
  463. package/mcps/davinci-mcp-professional/tests/conftest.py +0 -75
  464. package/mcps/davinci-mcp-professional/tests/test_security.py +0 -251
  465. package/mcps/davinci-resolve-mcp/docs/README.md +0 -56
  466. package/mcps/davinci-resolve-mcp/docs/SKILL.md +0 -1635
  467. package/mcps/davinci-resolve-mcp/docs/authoring/fuse-dctl-authoring.md +0 -242
  468. package/mcps/davinci-resolve-mcp/docs/authoring/script-plugin-authoring.md +0 -195
  469. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/README.md +0 -152
  470. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/category-patterns.md +0 -780
  471. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/controls.md +0 -259
  472. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/format.md +0 -568
  473. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/gotchas.md +0 -168
  474. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/thumbnails.md +0 -106
  475. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Blur.setting +0 -46
  476. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Color Tint.setting +0 -78
  477. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Cross Dissolve.setting +0 -57
  478. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Fade Title.setting +0 -111
  479. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Glow.setting +0 -55
  480. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Gradient.setting +0 -52
  481. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Iris.setting +0 -127
  482. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Lower Third.setting +0 -192
  483. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Noise.setting +0 -74
  484. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Solid Color.setting +0 -55
  485. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Title.setting +0 -105
  486. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Vignette.setting +0 -98
  487. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Wipe.setting +0 -98
  488. package/mcps/davinci-resolve-mcp/docs/contributing.md +0 -82
  489. package/mcps/davinci-resolve-mcp/docs/guides/color-decision-guide.md +0 -427
  490. package/mcps/davinci-resolve-mcp/docs/guides/control-panel.md +0 -234
  491. package/mcps/davinci-resolve-mcp/docs/guides/editorial-decision-guide.md +0 -165
  492. package/mcps/davinci-resolve-mcp/docs/guides/media-analysis-guide.md +0 -763
  493. package/mcps/davinci-resolve-mcp/docs/guides/multicam-setup-guide.md +0 -138
  494. package/mcps/davinci-resolve-mcp/docs/images/control-panel/01-overview.png +0 -0
  495. package/mcps/davinci-resolve-mcp/docs/images/control-panel/02-review-bin-grid.png +0 -0
  496. package/mcps/davinci-resolve-mcp/docs/images/control-panel/03-clip-detail.png +0 -0
  497. package/mcps/davinci-resolve-mcp/docs/images/control-panel/04-transcript.png +0 -0
  498. package/mcps/davinci-resolve-mcp/docs/images/control-panel/05-shot-detail.png +0 -0
  499. package/mcps/davinci-resolve-mcp/docs/images/control-panel/06-inventory.png +0 -0
  500. package/mcps/davinci-resolve-mcp/docs/images/control-panel/07-diagnostics-resolve.png +0 -0
  501. package/mcps/davinci-resolve-mcp/docs/images/control-panel/08-preferences-analysis.png +0 -0
  502. package/mcps/davinci-resolve-mcp/docs/images/control-panel/09-ai-console.png +0 -0
  503. package/mcps/davinci-resolve-mcp/docs/images/control-panel/10-history.png +0 -0
  504. package/mcps/davinci-resolve-mcp/docs/images/control-panel/11-edit-plans.png +0 -0
  505. package/mcps/davinci-resolve-mcp/docs/install.md +0 -208
  506. package/mcps/davinci-resolve-mcp/docs/integrations/workflow-integrations.md +0 -120
  507. package/mcps/davinci-resolve-mcp/docs/kernels/README.md +0 -28
  508. package/mcps/davinci-resolve-mcp/docs/kernels/audio-fairlight-kernel.md +0 -86
  509. package/mcps/davinci-resolve-mcp/docs/kernels/color-grade-kernel.md +0 -103
  510. package/mcps/davinci-resolve-mcp/docs/kernels/extension-authoring-kernel.md +0 -101
  511. package/mcps/davinci-resolve-mcp/docs/kernels/fusion-composition-kernel.md +0 -121
  512. package/mcps/davinci-resolve-mcp/docs/kernels/media-pool-ingest-kernel.md +0 -147
  513. package/mcps/davinci-resolve-mcp/docs/kernels/project-lifecycle-kernel.md +0 -120
  514. package/mcps/davinci-resolve-mcp/docs/kernels/render-deliver-kernel.md +0 -92
  515. package/mcps/davinci-resolve-mcp/docs/kernels/review-annotation-kernel.md +0 -110
  516. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-conform-interchange-kernel.md +0 -102
  517. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-edit-kernel.md +0 -189
  518. package/mcps/davinci-resolve-mcp/docs/notes/codec-plugin-notes.md +0 -136
  519. package/mcps/davinci-resolve-mcp/docs/notes/dctl-notes.md +0 -234
  520. package/mcps/davinci-resolve-mcp/docs/notes/fusion-template-notes.md +0 -136
  521. package/mcps/davinci-resolve-mcp/docs/notes/lut-notes.md +0 -136
  522. package/mcps/davinci-resolve-mcp/docs/notes/openfx-notes.md +0 -120
  523. package/mcps/davinci-resolve-mcp/docs/process/release-process.md +0 -180
  524. package/mcps/davinci-resolve-mcp/docs/reference/api-coverage.md +0 -521
  525. package/mcps/davinci-resolve-mcp/docs/reference/api-limitations.md +0 -259
  526. package/mcps/davinci-resolve-mcp/docs/reference/readwrite-symmetry.md +0 -25
  527. package/mcps/davinci-resolve-mcp/docs/reference/resolve_scripting_api.txt +0 -1024
  528. package/mcps/davinci-resolve-mcp/tests/_error_envelope_helpers.py +0 -35
  529. package/mcps/davinci-resolve-mcp/tests/benchmark_server.py +0 -270
  530. package/mcps/davinci-resolve-mcp/tests/create_test_timeline.py +0 -177
  531. package/mcps/davinci-resolve-mcp/tests/live_api_gap_verification.py +0 -274
  532. package/mcps/davinci-resolve-mcp/tests/live_audio_fairlight_validation.py +0 -77
  533. package/mcps/davinci-resolve-mcp/tests/live_auto_sync_settings_check.py +0 -76
  534. package/mcps/davinci-resolve-mcp/tests/live_color_grade_validation.py +0 -89
  535. package/mcps/davinci-resolve-mcp/tests/live_delete_governance_check.py +0 -71
  536. package/mcps/davinci-resolve-mcp/tests/live_duplicate_clips_validation.py +0 -831
  537. package/mcps/davinci-resolve-mcp/tests/live_edit_engine_validation.py +0 -277
  538. package/mcps/davinci-resolve-mcp/tests/live_enum_settings_check.py +0 -89
  539. package/mcps/davinci-resolve-mcp/tests/live_extension_authoring_validation.py +0 -77
  540. package/mcps/davinci-resolve-mcp/tests/live_fuse_diagnose.py +0 -230
  541. package/mcps/davinci-resolve-mcp/tests/live_fuse_smoke.py +0 -250
  542. package/mcps/davinci-resolve-mcp/tests/live_fusion_composition_validation.py +0 -82
  543. package/mcps/davinci-resolve-mcp/tests/live_fusion_keyframe_validation.py +0 -116
  544. package/mcps/davinci-resolve-mcp/tests/live_fusion_mask_title_validation.py +0 -286
  545. package/mcps/davinci-resolve-mcp/tests/live_marker_validation.py +0 -439
  546. package/mcps/davinci-resolve-mcp/tests/live_media_pool_ingest_validation.py +0 -98
  547. package/mcps/davinci-resolve-mcp/tests/live_metadata_field_inventory_validation.py +0 -379
  548. package/mcps/davinci-resolve-mcp/tests/live_metadata_publish_validation.py +0 -192
  549. package/mcps/davinci-resolve-mcp/tests/live_multicam_setup_validation.py +0 -198
  550. package/mcps/davinci-resolve-mcp/tests/live_path_probe.py +0 -119
  551. package/mcps/davinci-resolve-mcp/tests/live_project_lifecycle_validation.py +0 -77
  552. package/mcps/davinci-resolve-mcp/tests/live_render_deliver_validation.py +0 -82
  553. package/mcps/davinci-resolve-mcp/tests/live_review_annotation_validation.py +0 -91
  554. package/mcps/davinci-resolve-mcp/tests/live_script_smoke.py +0 -141
  555. package/mcps/davinci-resolve-mcp/tests/live_sync_event_validation.py +0 -165
  556. package/mcps/davinci-resolve-mcp/tests/live_timeline_conform_validation.py +0 -77
  557. package/mcps/davinci-resolve-mcp/tests/live_v233_validation.py +0 -282
  558. package/mcps/davinci-resolve-mcp/tests/test-after-restart.bat +0 -83
  559. package/mcps/davinci-resolve-mcp/tests/test-after-restart.sh +0 -87
  560. package/mcps/davinci-resolve-mcp/tests/test_action_help.py +0 -47
  561. package/mcps/davinci-resolve-mcp/tests/test_action_list_drift.py +0 -163
  562. package/mcps/davinci-resolve-mcp/tests/test_ai_console_dispatch.py +0 -91
  563. package/mcps/davinci-resolve-mcp/tests/test_analysis_caps.py +0 -210
  564. package/mcps/davinci-resolve-mcp/tests/test_analysis_runs.py +0 -157
  565. package/mcps/davinci-resolve-mcp/tests/test_analysis_store.py +0 -366
  566. package/mcps/davinci-resolve-mcp/tests/test_api_limitations_doc.py +0 -56
  567. package/mcps/davinci-resolve-mcp/tests/test_api_truth.py +0 -64
  568. package/mcps/davinci-resolve-mcp/tests/test_api_truth_mitigations.py +0 -45
  569. package/mcps/davinci-resolve-mcp/tests/test_append_clip_infos_result_handling.py +0 -679
  570. package/mcps/davinci-resolve-mcp/tests/test_audio_fairlight_probe.py +0 -216
  571. package/mcps/davinci-resolve-mcp/tests/test_auto_run.py +0 -76
  572. package/mcps/davinci-resolve-mcp/tests/test_auto_sync_audio.py +0 -171
  573. package/mcps/davinci-resolve-mcp/tests/test_batch_cli.py +0 -253
  574. package/mcps/davinci-resolve-mcp/tests/test_brain_edits.py +0 -218
  575. package/mcps/davinci-resolve-mcp/tests/test_bridge_metrics.py +0 -52
  576. package/mcps/davinci-resolve-mcp/tests/test_bulk_match_to_hero.py +0 -219
  577. package/mcps/davinci-resolve-mcp/tests/test_caps_events_and_history.py +0 -147
  578. package/mcps/davinci-resolve-mcp/tests/test_caps_integration.py +0 -315
  579. package/mcps/davinci-resolve-mcp/tests/test_cdl_and_install_config.py +0 -372
  580. package/mcps/davinci-resolve-mcp/tests/test_clip_query.py +0 -57
  581. package/mcps/davinci-resolve-mcp/tests/test_cloud_settings.py +0 -62
  582. package/mcps/davinci-resolve-mcp/tests/test_color_grade_probe.py +0 -230
  583. package/mcps/davinci-resolve-mcp/tests/test_confirm_token.py +0 -85
  584. package/mcps/davinci-resolve-mcp/tests/test_confirm_token_preferences.py +0 -22
  585. package/mcps/davinci-resolve-mcp/tests/test_contracts.py +0 -81
  586. package/mcps/davinci-resolve-mcp/tests/test_create_subtitles_settings.py +0 -111
  587. package/mcps/davinci-resolve-mcp/tests/test_custom_timeline.py +0 -137
  588. package/mcps/davinci-resolve-mcp/tests/test_cut_executor.py +0 -87
  589. package/mcps/davinci-resolve-mcp/tests/test_cut_ir.py +0 -82
  590. package/mcps/davinci-resolve-mcp/tests/test_dashboard_transport.py +0 -47
  591. package/mcps/davinci-resolve-mcp/tests/test_deep_vision.py +0 -311
  592. package/mcps/davinci-resolve-mcp/tests/test_description_xml_shape.py +0 -71
  593. package/mcps/davinci-resolve-mcp/tests/test_destructive_decorator_coverage.py +0 -92
  594. package/mcps/davinci-resolve-mcp/tests/test_destructive_hook.py +0 -245
  595. package/mcps/davinci-resolve-mcp/tests/test_destructive_registry_drift.py +0 -108
  596. package/mcps/davinci-resolve-mcp/tests/test_edit_engine.py +0 -574
  597. package/mcps/davinci-resolve-mcp/tests/test_embeddings.py +0 -302
  598. package/mcps/davinci-resolve-mcp/tests/test_entities.py +0 -225
  599. package/mcps/davinci-resolve-mcp/tests/test_error_envelope.py +0 -179
  600. package/mcps/davinci-resolve-mcp/tests/test_exhaustive_wave_a.py +0 -101
  601. package/mcps/davinci-resolve-mcp/tests/test_extension_authoring_probe.py +0 -77
  602. package/mcps/davinci-resolve-mcp/tests/test_extract_frames.py +0 -42
  603. package/mcps/davinci-resolve-mcp/tests/test_extract_source_frame_ranges.py +0 -129
  604. package/mcps/davinci-resolve-mcp/tests/test_failure_tracker.py +0 -103
  605. package/mcps/davinci-resolve-mcp/tests/test_fuse_dctl_authoring.py +0 -596
  606. package/mcps/davinci-resolve-mcp/tests/test_fusion_comp_targeting.py +0 -269
  607. package/mcps/davinci-resolve-mcp/tests/test_fusion_composition_probe.py +0 -156
  608. package/mcps/davinci-resolve-mcp/tests/test_fusion_group_settings.py +0 -284
  609. package/mcps/davinci-resolve-mcp/tests/test_fusion_mask_title.py +0 -205
  610. package/mcps/davinci-resolve-mcp/tests/test_fusion_node_ops.py +0 -212
  611. package/mcps/davinci-resolve-mcp/tests/test_governance_identity.py +0 -155
  612. package/mcps/davinci-resolve-mcp/tests/test_grade_evidence_base.py +0 -132
  613. package/mcps/davinci-resolve-mcp/tests/test_import.py +0 -153
  614. package/mcps/davinci-resolve-mcp/tests/test_improvements.py +0 -334
  615. package/mcps/davinci-resolve-mcp/tests/test_inventory_exclude_bins.py +0 -139
  616. package/mcps/davinci-resolve-mcp/tests/test_live_api.py +0 -315
  617. package/mcps/davinci-resolve-mcp/tests/test_marker_params.py +0 -234
  618. package/mcps/davinci-resolve-mcp/tests/test_mcp_prompts.py +0 -77
  619. package/mcps/davinci-resolve-mcp/tests/test_mcp_resources.py +0 -117
  620. package/mcps/davinci-resolve-mcp/tests/test_mcp_transport.py +0 -74
  621. package/mcps/davinci-resolve-mcp/tests/test_media_analysis.py +0 -4637
  622. package/mcps/davinci-resolve-mcp/tests/test_media_pool_append_verification.py +0 -153
  623. package/mcps/davinci-resolve-mcp/tests/test_media_pool_changes.py +0 -105
  624. package/mcps/davinci-resolve-mcp/tests/test_media_pool_delete_governance.py +0 -69
  625. package/mcps/davinci-resolve-mcp/tests/test_media_pool_ingest_probe.py +0 -546
  626. package/mcps/davinci-resolve-mcp/tests/test_media_pool_walk.py +0 -79
  627. package/mcps/davinci-resolve-mcp/tests/test_multicam_setup.py +0 -178
  628. package/mcps/davinci-resolve-mcp/tests/test_object_inspection.py +0 -140
  629. package/mcps/davinci-resolve-mcp/tests/test_open_control_panel.py +0 -172
  630. package/mcps/davinci-resolve-mcp/tests/test_p1_param_validation.py +0 -57
  631. package/mcps/davinci-resolve-mcp/tests/test_p1_whitelist_and_delete.py +0 -81
  632. package/mcps/davinci-resolve-mcp/tests/test_page_lock.py +0 -52
  633. package/mcps/davinci-resolve-mcp/tests/test_panel_docs_drift.py +0 -77
  634. package/mcps/davinci-resolve-mcp/tests/test_partial_success_manifest.py +0 -113
  635. package/mcps/davinci-resolve-mcp/tests/test_persistence_safety.py +0 -147
  636. package/mcps/davinci-resolve-mcp/tests/test_prefer_handle.py +0 -89
  637. package/mcps/davinci-resolve-mcp/tests/test_project_cleanup.py +0 -111
  638. package/mcps/davinci-resolve-mcp/tests/test_project_lifecycle_probe.py +0 -256
  639. package/mcps/davinci-resolve-mcp/tests/test_project_lint.py +0 -79
  640. package/mcps/davinci-resolve-mcp/tests/test_project_spec.py +0 -246
  641. package/mcps/davinci-resolve-mcp/tests/test_propose_grade.py +0 -116
  642. package/mcps/davinci-resolve-mcp/tests/test_provenance.py +0 -88
  643. package/mcps/davinci-resolve-mcp/tests/test_readback.py +0 -77
  644. package/mcps/davinci-resolve-mcp/tests/test_readwrite_audit.py +0 -43
  645. package/mcps/davinci-resolve-mcp/tests/test_reel_name_writeback.py +0 -149
  646. package/mcps/davinci-resolve-mcp/tests/test_render_deliver_probe.py +0 -250
  647. package/mcps/davinci-resolve-mcp/tests/test_resolve20_api.py +0 -282
  648. package/mcps/davinci-resolve-mcp/tests/test_resolve21_actions.py +0 -386
  649. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_governance.py +0 -92
  650. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_ledger.py +0 -89
  651. package/mcps/davinci-resolve-mcp/tests/test_resolve_busy.py +0 -134
  652. package/mcps/davinci-resolve-mcp/tests/test_review_annotation_probe.py +0 -162
  653. package/mcps/davinci-resolve-mcp/tests/test_sampling_modes.py +0 -293
  654. package/mcps/davinci-resolve-mcp/tests/test_script_plugin.py +0 -750
  655. package/mcps/davinci-resolve-mcp/tests/test_shot_relationships.py +0 -254
  656. package/mcps/davinci-resolve-mcp/tests/test_spec_lint_wiring.py +0 -311
  657. package/mcps/davinci-resolve-mcp/tests/test_static_undefined_names.py +0 -45
  658. package/mcps/davinci-resolve-mcp/tests/test_structural_diff.py +0 -67
  659. package/mcps/davinci-resolve-mcp/tests/test_sync_detection.py +0 -213
  660. package/mcps/davinci-resolve-mcp/tests/test_thumbnail_image.py +0 -55
  661. package/mcps/davinci-resolve-mcp/tests/test_timeline_brain_db.py +0 -230
  662. package/mcps/davinci-resolve-mcp/tests/test_timeline_conform_probe.py +0 -229
  663. package/mcps/davinci-resolve-mcp/tests/test_timeline_editorial_helpers.py +0 -88
  664. package/mcps/davinci-resolve-mcp/tests/test_timeline_export_enum.py +0 -59
  665. package/mcps/davinci-resolve-mcp/tests/test_timeline_kernel_probe.py +0 -70
  666. package/mcps/davinci-resolve-mcp/tests/test_timeline_title_text_utils.py +0 -64
  667. package/mcps/davinci-resolve-mcp/tests/test_timeline_versioning.py +0 -419
  668. package/mcps/davinci-resolve-mcp/tests/test_tool_choice_hint.py +0 -42
  669. package/mcps/davinci-resolve-mcp/tests/test_tool_exposure.py +0 -159
  670. package/mcps/davinci-resolve-mcp/tests/test_tool_registration.py +0 -91
  671. package/mcps/davinci-resolve-mcp/tests/test_transcript_read.py +0 -74
  672. package/mcps/davinci-resolve-mcp/tests/test_update_check.py +0 -171
  673. package/mcps/davinci-resolve-mcp/tests/test_update_hardening.py +0 -171
  674. package/mcps/davinci-resolve-mcp/tests/test_update_history.py +0 -116
  675. package/mcps/davinci-resolve-mcp/tests/test_v232_helpers.py +0 -265
  676. package/mcps/davinci-resolve-mcp/tests/test_v233_helpers.py +0 -307
  677. package/mcps/davinci-resolve-mcp/tests/test_validation_guards.py +0 -108
  678. package/mcps/davinci-resolve-mcp/tests/test_verification_stats.py +0 -32
  679. package/mcps/davinci-resolve-mcp/tests/test_waveb_p2_p3.py +0 -65
  680. package/mcps/golem-rhino-mcp/Nexus-AI-Agents.png +0 -0
  681. package/mcps/golem-rhino-mcp/docs/ARCHITECTURE.md +0 -277
  682. package/mcps/golem-rhino-mcp/docs/PROTOCOL.md +0 -247
  683. package/mcps/golem-rhino-mcp/docs/TOOL_REFERENCE.md +0 -1571
  684. package/mcps/golem-rhino-mcp/docs/TROUBLESHOOTING.md +0 -396
  685. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-20 at 18.33.06.png +0 -0
  686. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-21 at 1.43.01.png +0 -0
  687. package/mcps/golem-rhino-mcp/nexus-pngs/CAIO.png +0 -0
  688. package/mcps/golem-rhino-mcp/nexus-pngs/CEO.png +0 -0
  689. package/mcps/golem-rhino-mcp/nexus-pngs/CFO.png +0 -0
  690. package/mcps/golem-rhino-mcp/nexus-pngs/CHRO.png +0 -0
  691. package/mcps/golem-rhino-mcp/nexus-pngs/CISO.png +0 -0
  692. package/mcps/golem-rhino-mcp/nexus-pngs/CLO.png +0 -0
  693. package/mcps/golem-rhino-mcp/nexus-pngs/CMO.png +0 -0
  694. package/mcps/golem-rhino-mcp/nexus-pngs/COO.png +0 -0
  695. package/mcps/golem-rhino-mcp/nexus-pngs/CPO.png +0 -0
  696. package/mcps/golem-rhino-mcp/nexus-pngs/CRO.png +0 -0
  697. package/mcps/golem-rhino-mcp/nexus-pngs/CTO.png +0 -0
  698. package/mcps/golem-rhino-mcp/nexus-pngs/king-hippo.png +0 -0
  699. package/mcps/golem-rhino-mcp/nexus-pngs/tier-0-csuite.png +0 -0
  700. package/mcps/golem-rhino-mcp/screenshots/city_monument.png +0 -0
  701. package/mcps/golem-rhino-mcp/screenshots/city_skyline.png +0 -0
  702. package/mcps/golem-rhino-mcp/screenshots/city_street.png +0 -0
  703. package/mcps/golem-rhino-mcp/screenshots/city_wide.png +0 -0
  704. package/mcps/golem-rhino-mcp/tests/__init__.py +0 -0
  705. package/mcps/golem-rhino-mcp/tests/conftest.py +0 -150
  706. package/mcps/golem-rhino-mcp/tests/test_connection.py +0 -543
  707. package/mcps/golem-rhino-mcp/tests/test_integration.py +0 -344
  708. package/mcps/golem-rhino-mcp/tests/test_models.py +0 -749
  709. package/mcps/golem-rhino-mcp/tests/test_protocol.py +0 -334
  710. package/mcps/golem-rhino-mcp/tests/test_tools_mock.py +0 -689
  711. package/mcps/tdmcp/.github/social-preview.png +0 -0
  712. package/mcps/tdmcp/docs/.vitepress/config.ts +0 -397
  713. package/mcps/tdmcp/docs/AI_PARTY_LLM_TRAINING_PLAN.md +0 -118
  714. package/mcps/tdmcp/docs/AI_PARTY_POC.md +0 -142
  715. package/mcps/tdmcp/docs/AI_PARTY_POC_PLAN.md +0 -112
  716. package/mcps/tdmcp/docs/CREATIVE_RAG.md +0 -346
  717. package/mcps/tdmcp/docs/DEPLOYMENT.md +0 -113
  718. package/mcps/tdmcp/docs/PROJECT_RAG.md +0 -477
  719. package/mcps/tdmcp/docs/ROADMAP.md +0 -1346
  720. package/mcps/tdmcp/docs/guide/ai-controlled-party.md +0 -215
  721. package/mcps/tdmcp/docs/guide/body-tracking.md +0 -169
  722. package/mcps/tdmcp/docs/guide/codex.md +0 -107
  723. package/mcps/tdmcp/docs/guide/components.md +0 -126
  724. package/mcps/tdmcp/docs/guide/dashboard-foh.md +0 -93
  725. package/mcps/tdmcp/docs/guide/faq.md +0 -62
  726. package/mcps/tdmcp/docs/guide/first-visual.md +0 -76
  727. package/mcps/tdmcp/docs/guide/generators.md +0 -230
  728. package/mcps/tdmcp/docs/guide/glossary.md +0 -123
  729. package/mcps/tdmcp/docs/guide/install.md +0 -200
  730. package/mcps/tdmcp/docs/guide/local-copilot.md +0 -154
  731. package/mcps/tdmcp/docs/guide/lops-integration.md +0 -133
  732. package/mcps/tdmcp/docs/guide/mcp-resources.md +0 -96
  733. package/mcps/tdmcp/docs/guide/mediapipe-adapters.md +0 -90
  734. package/mcps/tdmcp/docs/guide/physical-installations.md +0 -129
  735. package/mcps/tdmcp/docs/guide/prompt-cookbook.md +0 -2285
  736. package/mcps/tdmcp/docs/guide/recipes.md +0 -72
  737. package/mcps/tdmcp/docs/guide/session-profile.md +0 -90
  738. package/mcps/tdmcp/docs/guide/shader-park.md +0 -94
  739. package/mcps/tdmcp/docs/guide/show-timelines.md +0 -125
  740. package/mcps/tdmcp/docs/guide/troubleshooting.md +0 -121
  741. package/mcps/tdmcp/docs/guide/what-is-tdmcp.md +0 -62
  742. package/mcps/tdmcp/docs/index.md +0 -49
  743. package/mcps/tdmcp/docs/privacy.md +0 -85
  744. package/mcps/tdmcp/docs/pt/CREATIVE_RAG.md +0 -370
  745. package/mcps/tdmcp/docs/pt/PROJECT_RAG.md +0 -420
  746. package/mcps/tdmcp/docs/pt/guide/ai-controlled-party.md +0 -218
  747. package/mcps/tdmcp/docs/pt/guide/body-tracking.md +0 -175
  748. package/mcps/tdmcp/docs/pt/guide/codex.md +0 -113
  749. package/mcps/tdmcp/docs/pt/guide/components.md +0 -129
  750. package/mcps/tdmcp/docs/pt/guide/dashboard-foh.md +0 -95
  751. package/mcps/tdmcp/docs/pt/guide/faq.md +0 -62
  752. package/mcps/tdmcp/docs/pt/guide/first-visual.md +0 -81
  753. package/mcps/tdmcp/docs/pt/guide/generators.md +0 -243
  754. package/mcps/tdmcp/docs/pt/guide/glossary.md +0 -127
  755. package/mcps/tdmcp/docs/pt/guide/install.md +0 -196
  756. package/mcps/tdmcp/docs/pt/guide/local-copilot.md +0 -164
  757. package/mcps/tdmcp/docs/pt/guide/lops-integration.md +0 -143
  758. package/mcps/tdmcp/docs/pt/guide/mcp-resources.md +0 -96
  759. package/mcps/tdmcp/docs/pt/guide/mediapipe-adapters.md +0 -93
  760. package/mcps/tdmcp/docs/pt/guide/physical-installations.md +0 -135
  761. package/mcps/tdmcp/docs/pt/guide/prompt-cookbook.md +0 -2342
  762. package/mcps/tdmcp/docs/pt/guide/recipes.md +0 -59
  763. package/mcps/tdmcp/docs/pt/guide/session-profile.md +0 -92
  764. package/mcps/tdmcp/docs/pt/guide/shader-park.md +0 -95
  765. package/mcps/tdmcp/docs/pt/guide/show-timelines.md +0 -128
  766. package/mcps/tdmcp/docs/pt/guide/troubleshooting.md +0 -109
  767. package/mcps/tdmcp/docs/pt/guide/what-is-tdmcp.md +0 -61
  768. package/mcps/tdmcp/docs/pt/index.md +0 -49
  769. package/mcps/tdmcp/docs/pt/privacy.md +0 -91
  770. package/mcps/tdmcp/docs/pt/reference/architecture.md +0 -178
  771. package/mcps/tdmcp/docs/pt/reference/environment.md +0 -70
  772. package/mcps/tdmcp/docs/public/favicon.svg +0 -12
  773. package/mcps/tdmcp/docs/public/logo-400.png +0 -0
  774. package/mcps/tdmcp/docs/public/og-image.jpg +0 -0
  775. package/mcps/tdmcp/docs/public/robots.txt +0 -4
  776. package/mcps/tdmcp/docs/reference/API_STABILITY.md +0 -116
  777. package/mcps/tdmcp/docs/reference/architecture.md +0 -191
  778. package/mcps/tdmcp/docs/reference/bridge-api.md +0 -155
  779. package/mcps/tdmcp/docs/reference/cli.md +0 -288
  780. package/mcps/tdmcp/docs/reference/coverage-harness.md +0 -61
  781. package/mcps/tdmcp/docs/reference/environment.md +0 -116
  782. package/mcps/tdmcp/docs/reference/packages.md +0 -98
  783. package/mcps/tdmcp/docs/reference/tool-contract.md +0 -74
  784. package/mcps/tdmcp/docs/superpowers/plans/2026-05-29-shader-park-animus-integrations.md +0 -76
  785. package/mcps/tdmcp/docs/superpowers/plans/2026-06-02-doctor-fix-textport-auto-install.md +0 -131
  786. package/mcps/tdmcp/docs/superpowers/plans/2026-06-06-body-bubbles.md +0 -138
  787. package/mcps/tdmcp/docs/superpowers/plans/2026-06-08-deep-doppelganger-implementation.md +0 -201
  788. package/mcps/tdmcp/docs/superpowers/plans/2026-06-10-ai-party-ollama-integration.md +0 -55
  789. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-calibration-wizard.md +0 -53
  790. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-external-kinect.md +0 -286
  791. package/mcps/tdmcp/docs/superpowers/specs/2026-05-31-create-vector-lines-design.md +0 -308
  792. package/mcps/tdmcp/docs/superpowers/specs/2026-06-01-ai-controlled-party-plan.md +0 -461
  793. package/mcps/tdmcp/docs/superpowers/specs/2026-06-04-ai-party-ui24r-scene-arming-design.md +0 -296
  794. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-ai-controlled-party-producer-poc.md +0 -232
  795. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-deep-doppelganger-design.md +0 -136
  796. package/mcps/tdmcp/docs/superpowers/specs/2026-06-10-hermes-ai-party-poc.md +0 -383
  797. package/mcps/tdmcp/docs/superpowers/specs/2026-06-23-kinect-wall-harp-design.md +0 -340
  798. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-environment-diagnostic-design.md +0 -151
  799. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-wall-harp-external-kinect-design.md +0 -104
  800. package/mcps/tdmcp/training/showintent/data/curated/.gitkeep +0 -1
  801. package/mcps/tdmcp/training/showintent/data/curated/curated-approved.jsonl +0 -1
  802. package/mcps/tdmcp/training/showintent/data/curation_template.csv +0 -1
  803. package/mcps/tdmcp/training/showintent/data/generated/.gitkeep +0 -1
  804. package/mcps/tdmcp/training/showintent/data/generated/showintent-synthetic.jsonl +0 -2000
  805. package/mcps/tdmcp/training/showintent/data/raw/.gitkeep +0 -1
  806. package/mcps/tdmcp/training/showintent/data/splits/.gitkeep +0 -1
  807. package/mcps/tdmcp/training/showintent/data/splits/train-compact.jsonl +0 -1800
  808. package/mcps/tdmcp/training/showintent/data/splits/train.jsonl +0 -1800
  809. package/mcps/tdmcp/training/showintent/data/splits/validation-compact.jsonl +0 -200
  810. package/mcps/tdmcp/training/showintent/data/splits/validation.jsonl +0 -200
  811. package/mcps/touchdesigner-mcp/assets/import.png +0 -0
  812. package/mcps/touchdesigner-mcp/assets/nodes_list.png +0 -0
  813. package/mcps/touchdesigner-mcp/assets/particle_on_youtube.png +0 -0
  814. package/mcps/touchdesigner-mcp/assets/textport.png +0 -0
  815. package/mcps/touchdesigner-mcp/assets/tutorial.png +0 -0
  816. package/mcps/touchdesigner-mcp/assets/tutorial_docker.png +0 -0
  817. package/mcps/touchdesigner-mcp/docs/architecture.md +0 -1245
  818. package/mcps/touchdesigner-mcp/docs/development.ja.md +0 -197
  819. package/mcps/touchdesigner-mcp/docs/development.md +0 -212
  820. package/mcps/touchdesigner-mcp/docs/installation.ja.md +0 -370
  821. package/mcps/touchdesigner-mcp/docs/installation.md +0 -406
  822. package/mcps/unreal_mcp/Public/icon.png +0 -0
  823. package/mcps/unreal_mcp/docs/Engine-API-Reference.md +0 -2251
  824. package/mcps/unreal_mcp/docs/Roadmap.md +0 -2269
  825. package/mcps/unreal_mcp/docs/editor-plugin-extension.md +0 -373
  826. package/mcps/unreal_mcp/docs/handler-mapping.md +0 -1170
  827. package/mcps/unreal_mcp/docs/native-automation-progress.md +0 -431
  828. package/mcps/unreal_mcp/docs/testing-guide.md +0 -149
  829. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Domains/Test/McpAutomationBridge_TestHandlers.cpp +0 -74
  830. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpCustomHandlerAliasTests.cpp +0 -191
  831. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpEnvironmentSnapshotSchemaTests.cpp +0 -192
  832. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpPropertyReflectionImportTests.cpp +0 -269
  833. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpClientProtocolAutomation.cpp +0 -152
  834. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.cpp +0 -136
  835. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.h +0 -49
  836. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTestDelegates.h +0 -12
  837. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTests.cpp +0 -34
  838. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.cpp +0 -116
  839. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.h +0 -15
  840. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentFakeAcpScript.cpp +0 -76
  841. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomation.h +0 -35
  842. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomationFixture.cpp +0 -118
  843. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelHistoryChecks.cpp +0 -162
  844. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelLayoutChecks.cpp +0 -158
  845. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelTranscriptChecks.cpp +0 -117
  846. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentStudioKitAutomationChecks.cpp +0 -155
  847. package/mcps/unreal_mcp/tests/AGENTS.md +0 -73
  848. package/mcps/unreal_mcp/tests/expectation-utils.mjs +0 -29
  849. package/mcps/unreal_mcp/tests/heartbeat-progress.test.mjs +0 -143
  850. package/mcps/unreal_mcp/tests/integration/get_ai_info_characterization.mjs +0 -216
  851. package/mcps/unreal_mcp/tests/integration.mjs +0 -94
  852. package/mcps/unreal_mcp/tests/mcp-tools/core/control-actor.test.mjs +0 -114
  853. package/mcps/unreal_mcp/tests/mcp-tools/core/control-editor.test.mjs +0 -86
  854. package/mcps/unreal_mcp/tests/mcp-tools/core/inspect.test.mjs +0 -85
  855. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-asset.test.mjs +0 -302
  856. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-blueprint.test.mjs +0 -331
  857. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-level.test.mjs +0 -73
  858. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-tools.test.mjs +0 -30
  859. package/mcps/unreal_mcp/tests/mcp-tools/core/system-control.test.mjs +0 -205
  860. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/animation-physics.test.mjs +0 -277
  861. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-ai.test.mjs +0 -299
  862. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-character.test.mjs +0 -85
  863. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-combat.test.mjs +0 -106
  864. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-effect.test.mjs +0 -108
  865. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-gas.test.mjs +0 -96
  866. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-interaction.test.mjs +0 -122
  867. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-inventory.test.mjs +0 -146
  868. package/mcps/unreal_mcp/tests/mcp-tools/utility/behavior-tree-get-tree.test.mjs +0 -233
  869. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-audio.test.mjs +0 -160
  870. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-behavior-tree.test.mjs +0 -223
  871. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-networking.test.mjs +0 -635
  872. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-sequence.test.mjs +0 -95
  873. package/mcps/unreal_mcp/tests/mcp-tools/world/build-environment.test.mjs +0 -282
  874. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-geometry.test.mjs +0 -130
  875. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-level-structure.test.mjs +0 -149
  876. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-pcg.test.mjs +0 -471
  877. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering-cases.cjs +0 -775
  878. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering.test.mjs +0 -15
  879. package/mcps/unreal_mcp/tests/native-mcp-parity-audit.mjs +0 -260
  880. package/mcps/unreal_mcp/tests/native-mcp-source-parser.mjs +0 -229
  881. package/mcps/unreal_mcp/tests/native-mcp-typescript-parity-parser.mjs +0 -121
  882. package/mcps/unreal_mcp/tests/parameter-audit-cli.mjs +0 -23
  883. package/mcps/unreal_mcp/tests/parameter-audit-context.mjs +0 -14
  884. package/mcps/unreal_mcp/tests/parameter-audit-coverage.mjs +0 -164
  885. package/mcps/unreal_mcp/tests/parameter-audit-schema.mjs +0 -190
  886. package/mcps/unreal_mcp/tests/parameter-audit-suites.mjs +0 -218
  887. package/mcps/unreal_mcp/tests/parameter-combination-audit.mjs +0 -37
  888. package/mcps/unreal_mcp/tests/test-runner-response-utils.mjs +0 -132
  889. package/mcps/unreal_mcp/tests/test-runner.mjs +0 -1798
  890. package/mcps/unreal_mcp/tests/unit/automation/bridge_host_validation.test.ts +0 -165
  891. package/mcps/unreal_mcp/tests/unit/config.test.ts +0 -205
  892. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_audit.test.ts +0 -281
  893. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_comment_filtering.test.ts +0 -175
  894. package/mcps/unreal_mcp/tests/unit/parameter_audit_schema.test.ts +0 -273
  895. package/mcps/unreal_mcp/tests/unit/plugin/automation_event_stream_contracts.test.ts +0 -195
  896. package/mcps/unreal_mcp/tests/unit/plugin/environment_asset_name_contracts.test.ts +0 -115
  897. package/mcps/unreal_mcp/tests/unit/plugin/environment_build_adapter_contracts.test.ts +0 -377
  898. package/mcps/unreal_mcp/tests/unit/plugin/environment_snapshot_path_contracts.test.ts +0 -122
  899. package/mcps/unreal_mcp/tests/unit/plugin/handler_routing_contracts.test.ts +0 -120
  900. package/mcps/unreal_mcp/tests/unit/plugin/level_lighting_contracts.test.ts +0 -125
  901. package/mcps/unreal_mcp/tests/unit/plugin/plugin_manifest_contracts.test.ts +0 -154
  902. package/mcps/unreal_mcp/tests/unit/plugin/plugin_packaging_contracts.test.ts +0 -124
  903. package/mcps/unreal_mcp/tests/unit/plugin/runtime_behavior_contracts.test.ts +0 -372
  904. package/mcps/unreal_mcp/tests/unit/plugin/security_contracts.test.ts +0 -81
  905. package/mcps/unreal_mcp/tests/unit/plugin/source_structure.test.ts +0 -101
  906. package/mcps/unreal_mcp/tests/unit/plugin/source_structure_contracts.test.ts +0 -103
  907. package/mcps/unreal_mcp/tests/unit/plugin/websocket_origin_contracts.test.ts +0 -25
  908. package/mcps/unreal_mcp/tests/unit/server_shutdown_contracts.test.ts +0 -33
  909. package/mcps/unreal_mcp/tests/unit/source_structure.test.ts +0 -79
  910. package/mcps/unreal_mcp/tests/unit/test_runner.test.ts +0 -342
  911. package/mcps/unreal_mcp/tests/unit/test_runner_response_utils.test.ts +0 -105
  912. package/mcps/unreal_mcp/tests/unit/tools/asset_handlers_security.test.ts +0 -246
  913. package/mcps/unreal_mcp/tests/unit/tools/behavior_tree_get_tree.test.ts +0 -20
  914. package/mcps/unreal_mcp/tests/unit/tools/blueprint_handlers.test.ts +0 -122
  915. package/mcps/unreal_mcp/tests/unit/tools/editor.test.ts +0 -56
  916. package/mcps/unreal_mcp/tests/unit/tools/handler_structure.test.ts +0 -59
  917. package/mcps/unreal_mcp/tests/unit/tools/inspect_handlers.test.ts +0 -231
  918. package/mcps/unreal_mcp/tests/unit/tools/level.test.ts +0 -56
  919. package/mcps/unreal_mcp/tests/unit/tools/level_security.test.ts +0 -45
  920. package/mcps/unreal_mcp/tests/unit/tools/lighting_timeout_propagation.test.ts +0 -123
  921. package/mcps/windows-computer-use-mcp/cua-reports/app-1781542686.png +0 -0
  922. package/mcps/windows-computer-use-mcp/cua-reports/bridge-1781542694.png +0 -0
  923. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442393.png +0 -0
  924. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442915.png +0 -0
  925. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444105.png +0 -0
  926. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444214.png +0 -0
  927. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781457035.png +0 -0
  928. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440024.png +0 -0
  929. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440234.png +0 -0
  930. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442383.png +0 -0
  931. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442906.png +0 -0
  932. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444096.png +0 -0
  933. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444209.png +0 -0
  934. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781457029.png +0 -0
  935. package/mcps/windows-computer-use-mcp/cua-reports/nav/dashboard-1781542713.png +0 -0
  936. package/mcps/windows-computer-use-mcp/cua-reports/nav/help-1781542738.png +0 -0
  937. package/mcps/windows-computer-use-mcp/cua-reports/nav/logging-1781542722.png +0 -0
  938. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781444225.png +0 -0
  939. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781457051.png +0 -0
  940. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781444245.png +0 -0
  941. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781457075.png +0 -0
  942. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781444232.png +0 -0
  943. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781457059.png +0 -0
  944. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781444239.png +0 -0
  945. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781457067.png +0 -0
  946. package/mcps/windows-computer-use-mcp/cua-reports/nav/settings-1781542730.png +0 -0
  947. package/mcps/windows-computer-use-mcp/cua-reports/nav-dashboard-1781442925.png +0 -0
  948. package/mcps/windows-computer-use-mcp/cua-reports/nav-help-1781442941.png +0 -0
  949. package/mcps/windows-computer-use-mcp/cua-reports/nav-logging-1781442930.png +0 -0
  950. package/mcps/windows-computer-use-mcp/cua-reports/nav-settings-1781442936.png +0 -0
  951. package/mcps/windows-computer-use-mcp/docs/ARCHITECTURE.md +0 -46
  952. package/mcps/windows-computer-use-mcp/docs/ASSESSMENT_BY_CURSOR_2026-06-14_CUA_NSIS.md +0 -383
  953. package/mcps/windows-computer-use-mcp/docs/AUTOMATION_ASSERT_SPEC.md +0 -202
  954. package/mcps/windows-computer-use-mcp/docs/CUA_PARITY.md +0 -39
  955. package/mcps/windows-computer-use-mcp/docs/DEVELOPMENT.md +0 -51
  956. package/mcps/windows-computer-use-mcp/docs/MEMOPS_CUA.md +0 -147
  957. package/mcps/windows-computer-use-mcp/docs/PRD.md +0 -93
  958. package/mcps/windows-computer-use-mcp/docs/README.md +0 -34
  959. package/mcps/windows-computer-use-mcp/docs/ROADMAP.md +0 -142
  960. package/mcps/windows-computer-use-mcp/docs/SAFETY.md +0 -138
  961. package/mcps/windows-computer-use-mcp/docs/TESTING.md +0 -90
  962. package/mcps/windows-computer-use-mcp/docs/TOOLS.md +0 -80
  963. package/mcps/windows-computer-use-mcp/docs/TOOL_DOCSTRING_STANDARD.md +0 -538
  964. package/mcps/windows-computer-use-mcp/docs/_stale/AHK_VS_PYWINAUTO_COMPARISON.md +0 -353
  965. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT.md +0 -54
  966. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT_2026-06-08.md +0 -309
  967. package/mcps/windows-computer-use-mcp/docs/_stale/COMPLETE_DOCUMENTATION_STRUCTURE.md +0 -5
  968. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ASSISTANT_TODO.md +0 -84
  969. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_PARITY_ROADMAP.md +0 -81
  970. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ROADMAP.md +0 -306
  971. package/mcps/windows-computer-use-mcp/docs/_stale/DESKTOP_APP.md +0 -125
  972. package/mcps/windows-computer-use-mcp/docs/_stale/DOCUMENTATION_INDEX.md +0 -59
  973. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  974. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_PLATFORM.md +0 -175
  975. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  976. package/mcps/windows-computer-use-mcp/docs/_stale/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  977. package/mcps/windows-computer-use-mcp/docs/_stale/LLM_REPO_CONTEXT.md +0 -7
  978. package/mcps/windows-computer-use-mcp/docs/_stale/MCP_PRODUCTION_CHECKLIST.md +0 -105
  979. package/mcps/windows-computer-use-mcp/docs/_stale/OFFICE_BACKGROUND_MATRIX.md +0 -19
  980. package/mcps/windows-computer-use-mcp/docs/_stale/OPERATOR_PROTOCOL.md +0 -37
  981. package/mcps/windows-computer-use-mcp/docs/_stale/ORGANIZATION_SUMMARY.md +0 -305
  982. package/mcps/windows-computer-use-mcp/docs/_stale/RENAME-TO-AUTOMATION-MCP.md +0 -191
  983. package/mcps/windows-computer-use-mcp/docs/_stale/STATUS_REPORT.md +0 -288
  984. package/mcps/windows-computer-use-mcp/docs/_stale/TARGETS_PAGE_SKETCH.md +0 -977
  985. package/mcps/windows-computer-use-mcp/docs/_stale/TOOL_DOCSTRING_MIGRATION.md +0 -365
  986. package/mcps/windows-computer-use-mcp/docs/_stale/USAGE_SCENARIOS.md +0 -697
  987. package/mcps/windows-computer-use-mcp/docs/_stale/desktop-state-tool.md +0 -464
  988. package/mcps/windows-computer-use-mcp/docs/_stale/development/README.md +0 -18
  989. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_RULES.md +0 -928
  990. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_TOOLS_COMPARISON.md +0 -364
  991. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/BULLETPROOF_MCP_GUIDE.md +0 -793
  992. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEBUGGING_LESSONS_LEARNED.md +0 -635
  993. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEVELOPMENT_PAIN_POINTS.md +0 -699
  994. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_COMPLETE.md +0 -410
  995. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_GUIDE.md +0 -575
  996. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/LINK_PARSER_FIX.md +0 -769
  997. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/MCP_SYNC_DEBUGGING_GUIDE.md +0 -512
  998. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_DEPENDENCY_HELL_FIX.md +0 -568
  999. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_SNIPPETS_USAGE_GUIDE.md +0 -717
  1000. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/README.md +0 -25
  1001. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_IMPROVEMENTS_SUMMARY.md +0 -496
  1002. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_INTEGRATION.md +0 -381
  1003. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYSTEMATIC_PROJECT_UPDATES.md +0 -532
  1004. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-prompt-templates-vs-docstrings.md +0 -657
  1005. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-docstring-best-practices.md +0 -439
  1006. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-documentation-standards.md +0 -1153
  1007. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/CI_CD_GLAMA_OPTIMIZATION_GUIDE.md +0 -850
  1008. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  1009. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_OPTIMIZATION_SUMMARY.md +0 -204
  1010. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_PLATFORM.md +0 -175
  1011. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  1012. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_GITHUB_APP_SETUP.md +0 -199
  1013. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_INTEGRATION.md +0 -181
  1014. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_RESCAN_EMAIL.txt +0 -43
  1015. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  1016. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_UPDATE_2025_10_08.md +0 -378
  1017. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/README.md +0 -632
  1018. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements-fastmcp.txt +0 -8
  1019. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements_minimal.txt +0 -4
  1020. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CLAUDE_DESKTOP_DEBUGGING.md +0 -561
  1021. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CONTAINERIZATION_GUIDELINES.md +0 -707
  1022. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MCP_PRODUCTION_CHECKLIST.md +0 -101
  1023. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MONITORING_STACK_DEPLOYMENT.md +0 -532
  1024. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/README.md +0 -266
  1025. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/TROUBLESHOOTING_FASTMCP_2.12.md +0 -670
  1026. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_BUILDING_GUIDE.md +0 -1921
  1027. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_IMPLEMENTATION_SUMMARY.md +0 -387
  1028. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/PYPI_PUBLISHING_GUIDE.md +0 -789
  1029. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/README.md +0 -404
  1030. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/COMMUNITY_AND_SUPPORT.md +0 -976
  1031. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/LANGUAGE_SERVER_PROTOCOL_EXPLAINED.md +0 -416
  1032. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/MCP_TOOL_CORRUPTION_ISSUE.md +0 -279
  1033. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_ALTERNATIVES.md +0 -308
  1034. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COLOR_FIX_2025_10_08.md +0 -187
  1035. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COMPLETE_GUIDE.md +0 -1259
  1036. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_NUCLEAR_REINSTALL_2025_10_08.md +0 -196
  1037. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NPP_WHITE_ON_WHITE_BATTLE_PLAN.md +0 -336
  1038. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/PLUGIN_ECOSYSTEM_COMPREHENSIVE.md +0 -887
  1039. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/README.md +0 -472
  1040. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BACKUP_AND_RECOVERY_GUIDE.md +0 -455
  1041. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_PROTECTION_SETTINGS.md +0 -236
  1042. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_STRATEGY_AND_AI_WORKFLOW.md +0 -616
  1043. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/README.md +0 -333
  1044. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_COPY_TO_OTHER_REPOS.md +0 -159
  1045. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_GUIDE.md +0 -632
  1046. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_INSTALL_AND_TEST.md +0 -569
  1047. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_NEXT_STEPS.md +0 -351
  1048. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_QUICK_INSTALL.md +0 -195
  1049. package/mcps/windows-computer-use-mcp/docs/_stale/state-tool-implementation.md +0 -498
  1050. package/mcps/windows-computer-use-mcp/docs/composing-with-playwright.md +0 -55
  1051. package/mcps/windows-computer-use-mcp/docs/cua-nsis-certification.md +0 -101
  1052. package/mcps/windows-computer-use-mcp/docs/ocr.md +0 -107
  1053. package/mcps/windows-computer-use-mcp/docs/py-stack.md +0 -47
  1054. package/mcps/windows-computer-use-mcp/native/icons/icon.png +0 -0
  1055. package/mcps/windows-computer-use-mcp/screenshot_demo.png +0 -0
  1056. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_complete_toast.png +0 -0
  1057. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_dialog_title.png +0 -0
  1058. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/file_dialog_path_field.png +0 -0
  1059. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/sample_tile_female.png +0 -0
  1060. package/mcps/windows-computer-use-mcp/tests/README.md +0 -155
  1061. package/mcps/windows-computer-use-mcp/tests/__init__.py +0 -1
  1062. package/mcps/windows-computer-use-mcp/tests/conftest.py +0 -281
  1063. package/mcps/windows-computer-use-mcp/tests/conftest_env.py +0 -116
  1064. package/mcps/windows-computer-use-mcp/tests/e2e/conftest.py +0 -96
  1065. package/mcps/windows-computer-use-mcp/tests/e2e/test_libreoffice_cua_loop.py +0 -72
  1066. package/mcps/windows-computer-use-mcp/tests/test_app_integration.py +0 -83
  1067. package/mcps/windows-computer-use-mcp/tests/test_app_profiles.py +0 -28
  1068. package/mcps/windows-computer-use-mcp/tests/test_automation_assert.py +0 -185
  1069. package/mcps/windows-computer-use-mcp/tests/test_automation_dialog.py +0 -43
  1070. package/mcps/windows-computer-use-mcp/tests/test_automation_elements.py +0 -138
  1071. package/mcps/windows-computer-use-mcp/tests/test_automation_keyboard.py +0 -57
  1072. package/mcps/windows-computer-use-mcp/tests/test_automation_mouse.py +0 -57
  1073. package/mcps/windows-computer-use-mcp/tests/test_automation_shortcut.py +0 -41
  1074. package/mcps/windows-computer-use-mcp/tests/test_automation_task.py +0 -115
  1075. package/mcps/windows-computer-use-mcp/tests/test_automation_windows.py +0 -105
  1076. package/mcps/windows-computer-use-mcp/tests/test_cameras_api.py +0 -43
  1077. package/mcps/windows-computer-use-mcp/tests/test_cua_parity.py +0 -51
  1078. package/mcps/windows-computer-use-mcp/tests/test_dependency_failures.py +0 -39
  1079. package/mcps/windows-computer-use-mcp/tests/test_desktop_state.py +0 -99
  1080. package/mcps/windows-computer-use-mcp/tests/test_face_recognition.py +0 -238
  1081. package/mcps/windows-computer-use-mcp/tests/test_face_recognition_api.py +0 -161
  1082. package/mcps/windows-computer-use-mcp/tests/test_images/README.md +0 -28
  1083. package/mcps/windows-computer-use-mcp/tests/test_mission.py +0 -42
  1084. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_mock.py +0 -173
  1085. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_real.py +0 -139
  1086. package/mcps/windows-computer-use-mcp/tests/test_retry.py +0 -26
  1087. package/mcps/windows-computer-use-mcp/tests/test_safety_api.py +0 -24
  1088. package/mcps/windows-computer-use-mcp/tests/test_template_library.py +0 -53
  1089. package/mcps/windows-computer-use-mcp/tests/test_utils.py +0 -185
  1090. package/mcps/windows-computer-use-mcp/web_sota/src-tauri/icons/icon.png +0 -0
  1091. package/skills/global_config/google-sheets-automation/SKILL.md +0 -150
  1092. package/skills/global_config/senior-fullstack/SKILL.md +0 -221
  1093. package/skills/global_config/senior-fullstack/references/architecture_patterns.md +0 -103
  1094. package/skills/global_config/senior-fullstack/references/development_workflows.md +0 -103
  1095. package/skills/global_config/senior-fullstack/references/tech_stack_guide.md +0 -103
  1096. package/skills/global_config/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  1097. package/skills/global_config/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  1098. package/skills/global_config/senior-fullstack/scripts/project_scaffolder.py +0 -114
@@ -1,108 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * manage_effect Tool Integration Tests
4
- * Covers all 58 actions with real optional-parameter coverage.
5
- */
6
-
7
- import { runToolTests } from '../../test-runner.mjs';
8
-
9
- const ts = Date.now();
10
- const TEST_FOLDER = `/Game/MCPTest/ManageEffect_${ts}`;
11
- const TEST_ACTOR = `TestActor_${ts}`;
12
- const EFFECT_ACTOR = `TestEffectActor_${ts}`;
13
- const SPAWNED_EFFECT_ACTOR = `TestSpawnedEffectActor_${ts}`;
14
- const SYSTEM_NAME = `Testniagara_system_${ts}`;
15
- const EMITTER_ASSET_NAME = `Testniagara_emitter_${ts}`;
16
- const SYSTEM_PATH = `${TEST_FOLDER}/${SYSTEM_NAME}.${SYSTEM_NAME}`;
17
- const EMITTER_PATH = `${TEST_FOLDER}/${EMITTER_ASSET_NAME}.${EMITTER_ASSET_NAME}`;
18
- const DEFAULT_EMITTER = '${captured:niagaraEmitterName}';
19
- const USER_PARAM = `MCPUserParam_${ts}`;
20
- const BOUND_PARAM = `MCPBoundParam_${ts}`;
21
- const EVENT_NAME = `MCPEvent_${ts}`;
22
- const STAGE_NAME = `MCPStage_${ts}`;
23
- const BASIC_MATERIAL = '/Engine/BasicShapes/BasicShapeMaterial.BasicShapeMaterial';
24
- const CUBE_MESH = '/Engine/BasicShapes/Cube.Cube';
25
-
26
- const testCases = [
27
- // === SETUP ===
28
- { scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success|already exists' },
29
- { scenario: 'Setup: spawn test actor', toolName: 'control_actor', arguments: { action: 'spawn', classPath: '/Engine/BasicShapes/Cube', actorName: TEST_ACTOR, location: { x: 0, y: 0, z: 100 } }, expected: 'success' },
30
-
31
- // === CREATE ===
32
- { scenario: 'CREATE: create_niagara_system', toolName: 'manage_effect', arguments: { action: 'create_niagara_system', name: SYSTEM_NAME, path: TEST_FOLDER, savePath: TEST_FOLDER }, expected: 'success|already exists' },
33
- { scenario: 'CREATE: create_niagara_emitter', toolName: 'manage_effect', arguments: { action: 'create_niagara_emitter', name: EMITTER_ASSET_NAME, path: TEST_FOLDER, savePath: TEST_FOLDER, emitterName: EMITTER_ASSET_NAME }, expected: 'success|already exists' },
34
- { scenario: 'ADD: add_emitter_to_system', toolName: 'manage_effect', arguments: { action: 'add_emitter_to_system', systemPath: SYSTEM_PATH, emitterPath: EMITTER_PATH, save: false }, expected: 'success|already exists', captureResult: { key: 'niagaraEmitterName', fromField: 'result.emitterName' } },
35
-
36
- // === ACTION ===
37
- { scenario: 'ACTION: particle with preset and debug options', toolName: 'manage_effect', arguments: { action: 'particle', preset: 'Default', location: { x: 0, y: 0, z: 100 }, shapeType: 'sphere', radius: 30, color: [255, 64, 32, 255], duration: 0.1, timeoutMs: 30000 }, expected: 'success', assertions: [{ path: 'structuredContent.result.shapeType', equals: 'sphere', label: 'particle preset path drew requested debug shape' }] },
38
- { scenario: 'ACTION: niagara with actor attachment', toolName: 'manage_effect', arguments: { action: 'niagara', systemPath: SYSTEM_PATH, actorName: EFFECT_ACTOR, attachToActor: TEST_ACTOR, location: { x: 0, y: 0, z: 120 } }, expected: 'success' },
39
- { scenario: 'ACTION: debug_shape alias shape', toolName: 'manage_effect', arguments: { action: 'debug_shape', shape: 'box', location: { x: 20, y: 0, z: 100 }, radius: 25, color: [0, 128, 255, 255], duration: 0.1 }, expected: 'success', assertions: [{ path: 'structuredContent.result.shapeType', equals: 'box', label: 'shape alias reached native shapeType' }] },
40
- { scenario: 'CREATE: spawn_niagara with system alias', toolName: 'manage_effect', arguments: { action: 'spawn_niagara', system: SYSTEM_PATH, actorName: SPAWNED_EFFECT_ACTOR, location: { x: 40, y: 0, z: 120 } }, expected: 'success' },
41
- { scenario: 'CREATE: create_dynamic_light with light properties', toolName: 'manage_effect', arguments: { action: 'create_dynamic_light', name: `Testdynamic_light_${ts}`, location: { x: 80, y: 0, z: 250 }, lightType: 'Point', intensity: 750, color: [1, 0.8, 0.4, 1] }, expected: 'success|already exists' },
42
- { scenario: 'CREATE: create_volumetric_fog with fog properties', toolName: 'manage_effect', arguments: { action: 'create_volumetric_fog', name: `Testvolumetric_fog_${ts}`, density: 0.02, scattering: 0.6, extinction: 0.4 }, expected: 'success|already exists' },
43
- { scenario: 'CREATE: create_particle_trail', toolName: 'manage_effect', arguments: { action: 'create_particle_trail', name: `Testparticle_trail_${ts}`, systemPath: SYSTEM_PATH, location: { x: 120, y: 0, z: 120 } }, expected: 'success|already exists' },
44
- { scenario: 'CREATE: create_environment_effect', toolName: 'manage_effect', arguments: { action: 'create_environment_effect', name: `Testenvironment_effect_${ts}`, systemPath: SYSTEM_PATH, location: { x: 160, y: 0, z: 120 } }, expected: 'success|already exists' },
45
- { scenario: 'CREATE: create_impact_effect', toolName: 'manage_effect', arguments: { action: 'create_impact_effect', name: `Testimpact_effect_${ts}`, systemPath: SYSTEM_PATH, location: { x: 200, y: 0, z: 120 } }, expected: 'success|already exists' },
46
- { scenario: 'CREATE: create_niagara_ribbon', toolName: 'manage_effect', arguments: { action: 'create_niagara_ribbon', name: `Testniagara_ribbon_${ts}`, systemPath: SYSTEM_PATH, location: { x: 240, y: 0, z: 120 } }, expected: 'success|already exists' },
47
-
48
- // === PLAYBACK ===
49
- { scenario: 'ACTION: activate', toolName: 'manage_effect', arguments: { action: 'activate', actorName: EFFECT_ACTOR, reset: false }, expected: 'success' },
50
- { scenario: 'ACTION: activate_effect by systemName', toolName: 'manage_effect', arguments: { action: 'activate_effect', systemName: EFFECT_ACTOR }, expected: 'success' },
51
- { scenario: 'ACTION: deactivate', toolName: 'manage_effect', arguments: { action: 'deactivate', actorName: EFFECT_ACTOR }, expected: 'success' },
52
- { scenario: 'ACTION: reset', toolName: 'manage_effect', arguments: { action: 'reset', actorName: EFFECT_ACTOR, reset: true }, expected: 'success' },
53
- { scenario: 'PLAYBACK: advance_simulation', toolName: 'manage_effect', arguments: { action: 'advance_simulation', actorName: EFFECT_ACTOR, deltaTime: 0.016, steps: 2 }, expected: 'success', assertions: [{ path: 'structuredContent.result.steps', equals: 2, label: 'native simulation step count applied' }] },
54
-
55
- // === GRAPH ===
56
- { scenario: 'ADD: add_niagara_module', toolName: 'manage_effect', arguments: { action: 'add_niagara_module', assetPath: SYSTEM_PATH, systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, modulePath: '/Niagara/Modules/Emitter/EmitterState.EmitterState', scriptType: 'Update', name: 'Testniagara_module' }, expected: 'success|already exists', captureResult: { key: 'niagaraModuleNodeId', fromField: 'result.nodeId' } },
57
- { scenario: 'CONNECT: connect_niagara_pins', toolName: 'manage_effect', arguments: { action: 'connect_niagara_pins', assetPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, scriptType: 'Update', autoConnect: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.connected', equals: true, label: 'real Niagara graph pins connected' }, { path: 'structuredContent.result.autoConnected', equals: true, label: 'native auto-connect path executed' }] },
58
- { scenario: 'DELETE: remove_niagara_node', toolName: 'manage_effect', arguments: { action: 'remove_niagara_node', assetPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, scriptType: 'Update', nodeId: '${captured:niagaraModuleNodeId}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.removed', equals: true, label: 'captured Niagara graph node removed' }] },
59
-
60
- // === RUNTIME PARAMETER ===
61
- { scenario: 'CONFIG: set_niagara_parameter', toolName: 'manage_effect', arguments: { action: 'set_niagara_parameter', actorName: EFFECT_ACTOR, parameterName: 'MCPParameter', parameterType: 'Float', value: 1.25 }, expected: 'success', assertions: [{ path: 'structuredContent.result.applied', equals: true, label: 'runtime Niagara parameter value applied' }] },
62
- { scenario: 'DELETE: clear_debug_shapes', toolName: 'manage_effect', arguments: { action: 'clear_debug_shapes' }, expected: 'success|not found' },
63
- { scenario: 'ACTION: cleanup with explicit filter', toolName: 'manage_effect', arguments: { action: 'cleanup', filter: `NoSuchManageEffectActor_${ts}` }, expected: 'success|not found' },
64
- { scenario: 'INFO: list_debug_shapes', toolName: 'manage_effect', arguments: { action: 'list_debug_shapes' }, expected: 'success' },
65
-
66
- // === NIAGARA AUTHORING ===
67
- { scenario: 'CONFIG: set_emitter_properties', toolName: 'manage_effect', arguments: { action: 'set_emitter_properties', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, emitterProperties: { enabled: true }, save: false }, expected: 'success' },
68
- { scenario: 'ADD: add_spawn_rate_module', toolName: 'manage_effect', arguments: { action: 'add_spawn_rate_module', systemPath: SYSTEM_PATH, emitter: DEFAULT_EMITTER, spawnRate: 123, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.spawnRate', equals: 123, label: 'spawnRate applied to native module' }] },
69
- { scenario: 'ADD: add_spawn_burst_module', toolName: 'manage_effect', arguments: { action: 'add_spawn_burst_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, burstCount: 7, burstTime: 0.25, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.burstCount', equals: 7, label: 'burstCount reached native module' }, { path: 'structuredContent.result.burstTime', equals: 0.25, label: 'burstTime reached native module' }] },
70
- { scenario: 'ADD: add_spawn_per_unit_module', toolName: 'manage_effect', arguments: { action: 'add_spawn_per_unit_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, spawnPerUnit: 2.5, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.spawnPerUnit', equals: 2.5, label: 'spawnPerUnit reached native module' }] },
71
- { scenario: 'ADD: add_initialize_particle_module', toolName: 'manage_effect', arguments: { action: 'add_initialize_particle_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, lifetime: 3, mass: 1.5, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.lifetime', equals: 3, label: 'lifetime reached native module' }, { path: 'structuredContent.result.mass', equals: 1.5, label: 'mass reached native module' }] },
72
- { scenario: 'ADD: add_particle_state_module', toolName: 'manage_effect', arguments: { action: 'add_particle_state_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, save: false }, expected: 'success|already exists' },
73
- { scenario: 'ADD: add_force_module', toolName: 'manage_effect', arguments: { action: 'add_force_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, forceType: 'Gravity', forceStrength: 456, forceVector: { x: 0, y: 0, z: -456 }, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.forceType', equals: 'Gravity', label: 'forceType reached native module' }, { path: 'structuredContent.result.forceStrength', equals: 456, label: 'forceStrength reached native module' }] },
74
- { scenario: 'ADD: add_velocity_module', toolName: 'manage_effect', arguments: { action: 'add_velocity_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, velocity: { x: 1, y: 2, z: 3 }, velocityMode: 'Linear', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.velocityMode', equals: 'Linear', label: 'velocityMode reached native module' }] },
75
- { scenario: 'ADD: add_acceleration_module', toolName: 'manage_effect', arguments: { action: 'add_acceleration_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, acceleration: { x: 0, y: 0, z: -980 }, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.parameterAdded', equals: true, label: 'acceleration parameter added to Niagara system' }] },
76
- { scenario: 'ADD: add_size_module', toolName: 'manage_effect', arguments: { action: 'add_size_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, sizeMode: 'Uniform', uniformSize: 12, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.parameterAdded', equals: true, label: 'size parameter added to Niagara system' }, { path: 'structuredContent.result.uniformSize', equals: 12, label: 'uniformSize reached native module' }] },
77
- { scenario: 'ADD: add_color_module', toolName: 'manage_effect', arguments: { action: 'add_color_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, color: { r: 1, g: 0.5, b: 0.25, a: 1 }, colorMode: 'Direct', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.parameterAdded', equals: true, label: 'color parameter added to Niagara system' }, { path: 'structuredContent.result.colorMode', equals: 'Direct', label: 'colorMode reached native module' }] },
78
- { scenario: 'ADD: add_sprite_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_sprite_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, materialPath: BASIC_MATERIAL, alignment: 'Unaligned', facingMode: 'FaceCamera', save: false }, expected: 'success|already exists' },
79
- { scenario: 'ADD: add_mesh_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_mesh_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, meshPath: CUBE_MESH, save: false }, expected: 'success|already exists' },
80
- { scenario: 'ADD: add_ribbon_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_ribbon_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, materialPath: BASIC_MATERIAL, save: false }, expected: 'success|already exists' },
81
- { scenario: 'ADD: add_light_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_light_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, lightRadius: 200, save: false }, expected: 'success|already exists' },
82
- { scenario: 'ADD: add_collision_module', toolName: 'manage_effect', arguments: { action: 'add_collision_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, collisionMode: 'SceneDepth', restitution: 0.4, friction: 0.1, dieOnCollision: true, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.moduleAdded', equals: true, label: 'collision module added to Niagara stack' }, { path: 'structuredContent.result.parameterAdded', equals: true, label: 'collision parameters added to Niagara system' }, { path: 'structuredContent.result.dieOnCollision', equals: true, label: 'dieOnCollision reached native module' }] },
83
- { scenario: 'ADD: add_kill_particles_module', toolName: 'manage_effect', arguments: { action: 'add_kill_particles_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, killCondition: 'Age', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.moduleAdded', equals: true, label: 'kill particles module added to Niagara stack' }, { path: 'structuredContent.result.killCondition', equals: 'Age', label: 'killCondition reached native module' }] },
84
- { scenario: 'ADD: add_camera_offset_module', toolName: 'manage_effect', arguments: { action: 'add_camera_offset_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, cameraOffset: 4, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.moduleAdded', equals: true, label: 'camera offset module added to Niagara stack' }, { path: 'structuredContent.result.parameterAdded', equals: true, label: 'camera offset parameter added to Niagara system' }, { path: 'structuredContent.result.cameraOffset', equals: 4, label: 'cameraOffset reached native module' }] },
85
- { scenario: 'ADD: add_user_parameter', toolName: 'manage_effect', arguments: { action: 'add_user_parameter', systemPath: SYSTEM_PATH, parameterName: USER_PARAM, parameterType: 'Float', save: false }, expected: 'success|already exists' },
86
- { scenario: 'CONFIG: set_parameter_value', toolName: 'manage_effect', arguments: { action: 'set_parameter_value', systemPath: SYSTEM_PATH, parameterName: USER_PARAM, parameterValue: 2.5, save: false }, expected: 'success' },
87
- { scenario: 'CONNECT: bind_parameter_to_source applies real assignment binding', toolName: 'manage_effect', arguments: { action: 'bind_parameter_to_source', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: BOUND_PARAM, parameterType: 'Float', sourceBinding: 'Emitter.Age', save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.bindingApplied', equals: true, label: 'real Niagara parameter binding applied' }, { path: 'structuredContent.result.assignmentModuleAdded', equals: true, label: 'assignment module added to Niagara stack' }, { path: 'structuredContent.result.niagaraDefaultSource', equals: 'Emitter Age', label: 'Emitter.Age normalized to Niagara engine constant' }] },
88
- { scenario: 'ADD: add_skeletal_mesh_data_interface', toolName: 'manage_effect', arguments: { action: 'add_skeletal_mesh_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPSkelDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'skeletal mesh data interface added to exposed parameters' }] },
89
- { scenario: 'ADD: add_static_mesh_data_interface', toolName: 'manage_effect', arguments: { action: 'add_static_mesh_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPStaticDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'static mesh data interface added to exposed parameters' }] },
90
- { scenario: 'ADD: add_spline_data_interface', toolName: 'manage_effect', arguments: { action: 'add_spline_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPSplineDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'spline data interface added to exposed parameters' }] },
91
- { scenario: 'ADD: add_audio_spectrum_data_interface', toolName: 'manage_effect', arguments: { action: 'add_audio_spectrum_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPAudioDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'audio spectrum data interface added to exposed parameters' }] },
92
- { scenario: 'ADD: add_collision_query_data_interface', toolName: 'manage_effect', arguments: { action: 'add_collision_query_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPCollisionDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'collision query data interface added to exposed parameters' }] },
93
- { scenario: 'ADD: add_event_generator', toolName: 'manage_effect', arguments: { action: 'add_event_generator', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, eventName: EVENT_NAME, eventType: 'Location', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.eventGeneratorAdded', equals: true, label: 'event generator mutation recorded' }] },
94
- { scenario: 'ADD: add_event_receiver', toolName: 'manage_effect', arguments: { action: 'add_event_receiver', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, eventName: EVENT_NAME, spawnOnEvent: true, eventSpawnCount: 2, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.eventHandlerAdded', equals: true, label: 'event handler added to Niagara emitter' }, { path: 'structuredContent.result.eventGraphCreated', equals: true, label: 'event handler output graph created' }, { path: 'structuredContent.result.spawnOnEvent', equals: true, label: 'spawnOnEvent reached native event receiver' }] },
95
- { scenario: 'CONFIG: configure_event_payload', toolName: 'manage_effect', arguments: { action: 'configure_event_payload', systemPath: SYSTEM_PATH, eventName: EVENT_NAME, eventPayload: [{ name: 'PayloadFloat', type: 'Float' }], save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.eventPayloadConfigured', equals: true, label: 'event payload parameters added' }, { path: 'structuredContent.result.payloadAttributeCount', equals: 1, label: 'eventPayload attributes reached native payload configuration' }] },
96
- { scenario: 'TOGGLE: enable_gpu_simulation', toolName: 'manage_effect', arguments: { action: 'enable_gpu_simulation', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, fixedBoundsEnabled: true, deterministicEnabled: true, save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.fixedBoundsEnabled', equals: true, label: 'fixedBoundsEnabled reached native GPU configuration' }, { path: 'structuredContent.result.deterministicEnabled', equals: true, label: 'deterministicEnabled reached native GPU configuration' }] },
97
- { scenario: 'ADD: add_simulation_stage', toolName: 'manage_effect', arguments: { action: 'add_simulation_stage', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, stageName: STAGE_NAME, stageIterationSource: 'Particles', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.simulationStageAdded', equals: true, label: 'simulation stage added to Niagara emitter' }, { path: 'structuredContent.result.simulationStageGraphCreated', equals: true, label: 'simulation stage output graph created' }, { path: 'structuredContent.result.iterationSource', equals: 'Particles', label: 'stageIterationSource reached native stage configuration' }] },
98
- { scenario: 'INFO: get_niagara_info', toolName: 'manage_effect', arguments: { action: 'get_niagara_info', assetPath: SYSTEM_PATH }, expected: 'success' },
99
- { scenario: 'ACTION: validate_niagara_system', toolName: 'manage_effect', arguments: { action: 'validate_niagara_system', system: SYSTEM_PATH }, expected: 'success' },
100
-
101
- // === CLEANUP ===
102
- { scenario: 'Cleanup: delete spawned Niagara actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: SPAWNED_EFFECT_ACTOR }, expected: 'success|not found' },
103
- { scenario: 'Cleanup: delete primary Niagara actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: EFFECT_ACTOR }, expected: 'success|not found' },
104
- { scenario: 'Cleanup: delete test actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: TEST_ACTOR }, expected: 'success|not found' },
105
- { scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' },
106
- ];
107
-
108
- runToolTests('manage-effect', testCases);
@@ -1,96 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * manage_gas Tool Integration Tests
4
- * Covers all 27 actions with real captured asset paths.
5
- */
6
-
7
- import { runToolTests } from '../../test-runner.mjs';
8
-
9
- const ts = Date.now();
10
- const TEST_FOLDER = `/Game/MCPTest/GameplayAssets/ManageGAS_${ts}`;
11
- const blueprintName = `BP_TestGAS_${ts}`;
12
- const attributeSetName = `BP_TestAttributes_${ts}`;
13
- const abilityName = `BP_TestAbility_${ts}`;
14
- const effectName = `BP_TestEffect_${ts}`;
15
- const cueName = `BP_TestCue_${ts}`;
16
- const attributeName = `Health_${ts}`;
17
- const abilityTag = `Ability.Test.${ts}`;
18
- const effectTag = `Effect.Test.${ts}`;
19
- const cueTag = `GameplayCue.Test.${ts}`;
20
-
21
- const testCases = [
22
- // === SETUP ===
23
- { scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success' },
24
- {
25
- scenario: 'Setup: create test blueprint',
26
- toolName: 'manage_blueprint',
27
- arguments: { action: 'create', name: blueprintName, path: TEST_FOLDER, parentClass: 'Actor' },
28
- expected: 'success',
29
- captureResult: { key: 'blueprintPath', fromField: 'result.assetPath' }
30
- },
31
-
32
- // === COMPONENTS / ATTRIBUTES ===
33
- { scenario: 'ADD: add_ability_system_component', toolName: 'manage_gas', arguments: { action: 'add_ability_system_component', blueprintPath: '${captured:blueprintPath}', componentName: 'AbilitySystemComponent' }, expected: 'success' },
34
- { scenario: 'CONFIG: configure_asc', toolName: 'manage_gas', arguments: { action: 'configure_asc', blueprintPath: '${captured:blueprintPath}', componentName: 'AbilitySystemComponent', replicationMode: 'Mixed' }, expected: 'success' },
35
- {
36
- scenario: 'CREATE: create_attribute_set',
37
- toolName: 'manage_gas',
38
- arguments: { action: 'create_attribute_set', name: attributeSetName, path: TEST_FOLDER },
39
- expected: 'success',
40
- captureResult: { key: 'attributeSetPath', fromField: 'result.assetPath' }
41
- },
42
- { scenario: 'ADD: add_attribute', toolName: 'manage_gas', arguments: { action: 'add_attribute', attributeSetPath: '${captured:attributeSetPath}', attributeName, attributeType: 'Custom', defaultValue: 100 }, expected: 'success' },
43
- { scenario: 'CONFIG: set_attribute_base_value', toolName: 'manage_gas', arguments: { action: 'set_attribute_base_value', attributeSetPath: '${captured:attributeSetPath}', attributeName, baseValue: 125 }, expected: 'success' },
44
- { scenario: 'CONFIG: set_attribute_clamping', toolName: 'manage_gas', arguments: { action: 'set_attribute_clamping', attributeSetPath: '${captured:attributeSetPath}', attributeName, minValue: 0, maxValue: 200, clampMode: 'MinMax' }, expected: 'success' },
45
-
46
- // === GAMEPLAY ABILITY ===
47
- {
48
- scenario: 'CREATE: create_gameplay_ability',
49
- toolName: 'manage_gas',
50
- arguments: { action: 'create_gameplay_ability', name: abilityName, path: TEST_FOLDER },
51
- expected: 'success',
52
- captureResult: { key: 'abilityPath', fromField: 'result.assetPath' }
53
- },
54
- { scenario: 'CONFIG: set_ability_tags', toolName: 'manage_gas', arguments: { action: 'set_ability_tags', abilityPath: '${captured:abilityPath}', abilityTags: [abilityTag], cancelAbilitiesWithTag: [`Ability.Cancel.${ts}`], blockAbilitiesWithTag: [`Ability.Block.${ts}`], activationRequiredTags: [`Ability.Required.${ts}`], activationBlockedTags: [`Ability.Blocked.${ts}`] }, expected: 'success' },
55
- { scenario: 'CONFIG: set_ability_targeting', toolName: 'manage_gas', arguments: { action: 'set_ability_targeting', abilityPath: '${captured:abilityPath}', targetingMode: 'AOE', targetRange: 1200, aoeRadius: 350 }, expected: 'success' },
56
- { scenario: 'ADD: add_ability_task', toolName: 'manage_gas', arguments: { action: 'add_ability_task', abilityPath: '${captured:abilityPath}', taskType: 'WaitDelay' }, expected: 'success' },
57
- { scenario: 'CONFIG: set_activation_policy', toolName: 'manage_gas', arguments: { action: 'set_activation_policy', abilityPath: '${captured:abilityPath}', activationPolicy: 'OnInputPressed' }, expected: 'success' },
58
- { scenario: 'CONFIG: set_instancing_policy', toolName: 'manage_gas', arguments: { action: 'set_instancing_policy', abilityPath: '${captured:abilityPath}', instancingPolicy: 'InstancedPerExecution' }, expected: 'success' },
59
-
60
- // === GAMEPLAY EFFECT ===
61
- {
62
- scenario: 'CREATE: create_gameplay_effect',
63
- toolName: 'manage_gas',
64
- arguments: { action: 'create_gameplay_effect', name: effectName, path: TEST_FOLDER, durationType: 'Instant' },
65
- expected: 'success',
66
- captureResult: { key: 'effectPath', fromField: 'result.assetPath' },
67
- assertions: [{ path: 'structuredContent.result.durationType', equals: 'instant', label: 'effect duration type preserved at creation' }]
68
- },
69
- { scenario: 'CONFIG: set_ability_costs', toolName: 'manage_gas', arguments: { action: 'set_ability_costs', abilityPath: '${captured:abilityPath}', costEffectPath: '${captured:effectPath}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.costEffectAssigned', equals: true, label: 'cost effect class assigned' }] },
70
- { scenario: 'CONFIG: set_ability_cooldown', toolName: 'manage_gas', arguments: { action: 'set_ability_cooldown', abilityPath: '${captured:abilityPath}', cooldownEffectPath: '${captured:effectPath}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.cooldownEffectAssigned', equals: true, label: 'cooldown effect class assigned' }] },
71
- { scenario: 'CONFIG: set_effect_duration', toolName: 'manage_gas', arguments: { action: 'set_effect_duration', effectPath: '${captured:effectPath}', durationType: 'HasDuration', duration: 5, period: 1 }, expected: 'success' },
72
- { scenario: 'ADD: add_effect_modifier', toolName: 'manage_gas', arguments: { action: 'add_effect_modifier', effectPath: '${captured:effectPath}', attributeName, modifierOperation: 'Add', modifierMagnitude: 25, targetAttribute: attributeName }, expected: 'success' },
73
- { scenario: 'CONFIG: set_modifier_magnitude', toolName: 'manage_gas', arguments: { action: 'set_modifier_magnitude', effectPath: '${captured:effectPath}', modifierIndex: 0, magnitudeCalculationType: 'SetByCaller', modifierMagnitude: 50, setByCallerTag: `Data.Damage.${ts}` }, expected: 'success' },
74
- { scenario: 'ADD: add_effect_execution_calculation', toolName: 'manage_gas', arguments: { action: 'add_effect_execution_calculation', effectPath: '${captured:effectPath}', calculationClass: '/Script/GameplayAbilities.GameplayEffectExecutionCalculation' }, expected: 'success' },
75
- { scenario: 'ADD: add_effect_cue', toolName: 'manage_gas', arguments: { action: 'add_effect_cue', effectPath: '${captured:effectPath}', cueTag }, expected: 'success' },
76
- { scenario: 'CONFIG: set_effect_stacking', toolName: 'manage_gas', arguments: { action: 'set_effect_stacking', effectPath: '${captured:effectPath}', stackingType: 'AggregateByTarget', stackLimitCount: 3, stackDurationRefreshPolicy: 'RefreshOnSuccessfulApplication', stackPeriodResetPolicy: 'ResetOnSuccessfulApplication', stackExpirationPolicy: 'RemoveSingleStackAndRefreshDuration' }, expected: 'success' },
77
- { scenario: 'CONFIG: set_effect_tags', toolName: 'manage_gas', arguments: { action: 'set_effect_tags', effectPath: '${captured:effectPath}', grantedTags: [effectTag], applicationRequiredTags: [`Effect.Required.${ts}`], removalTags: [`Effect.Remove.${ts}`], immunityTags: [`Effect.Immune.${ts}`] }, expected: 'success' },
78
-
79
- // === GAMEPLAY CUES / UTILITY ===
80
- {
81
- scenario: 'CREATE: create_gameplay_cue_notify',
82
- toolName: 'manage_gas',
83
- arguments: { action: 'create_gameplay_cue_notify', name: cueName, path: TEST_FOLDER, cueType: 'Static', cueTag },
84
- expected: 'success',
85
- captureResult: { key: 'cuePath', fromField: 'result.assetPath' }
86
- },
87
- { scenario: 'CONFIG: configure_cue_trigger', toolName: 'manage_gas', arguments: { action: 'configure_cue_trigger', cuePath: '${captured:cuePath}', triggerType: 'Executed' }, expected: 'success' },
88
- { scenario: 'CONFIG: set_cue_effects', toolName: 'manage_gas', arguments: { action: 'set_cue_effects', cuePath: '${captured:cuePath}', particleSystemPath: '/Engine/EngineResources/DefaultTexture', soundPath: '/Engine/EngineSounds/Notifications/CompileSuccess_Cue', cameraShakePath: '/Script/Engine.CameraShakeBase', decalPath: '/Engine/EngineMaterials/DefaultMaterial.DefaultMaterial' }, expected: 'success', assertions: [{ path: 'structuredContent.result.decalPath', equals: '/Engine/EngineMaterials/DefaultMaterial.DefaultMaterial', label: 'decal path applied' }, { path: 'structuredContent.result.variableCount', equals: 12, label: 'decal variables added' }] },
89
- { scenario: 'ADD: add_tag_to_asset', toolName: 'manage_gas', arguments: { action: 'add_tag_to_asset', assetPath: '${captured:abilityPath}', tagName: abilityTag }, expected: 'success' },
90
- { scenario: 'INFO: get_gas_info', toolName: 'manage_gas', arguments: { action: 'get_gas_info', assetPath: '${captured:abilityPath}' }, expected: 'success' },
91
-
92
- // === CLEANUP ===
93
- { scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' }
94
- ];
95
-
96
- runToolTests('manage-gas', testCases);
@@ -1,122 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * manage_interaction Tool Integration Tests
4
- * Covers all 22 actions with real Blueprint paths and spawned actor state.
5
- */
6
-
7
- import { runToolTests } from '../../test-runner.mjs';
8
-
9
- const ts = Date.now();
10
- const TEST_FOLDER = `/Game/MCPTest/GameplayInteraction_${ts}`;
11
- const TEST_FOLDER_ALIAS = TEST_FOLDER.slice(1);
12
- const TEST_ACTOR = `TestInteractionActor_${ts}`;
13
- const BLUEPRINT_NAME = `BP_MCP_InteractionActor_${ts}`;
14
- const INTERFACE_NAME = `BPI_MCP_Interactable_${ts}`;
15
- const DOOR_NAME = `BP_MCP_Door_${ts}`;
16
- const SWITCH_NAME = `BP_MCP_Switch_${ts}`;
17
- const CHEST_NAME = `BP_MCP_Chest_${ts}`;
18
- const LEVER_NAME = `BP_MCP_Lever_${ts}`;
19
- const TRIGGER_NAME = `BP_MCP_Trigger_${ts}`;
20
-
21
- const EXPECTED_BLUEPRINT_PATH = `${TEST_FOLDER}/${BLUEPRINT_NAME}`;
22
- const EXPECTED_INTERFACE_PATH = `${TEST_FOLDER}/${INTERFACE_NAME}.${INTERFACE_NAME}`;
23
- const EXPECTED_DOOR_PATH = `${TEST_FOLDER}/${DOOR_NAME}`;
24
- const EXPECTED_SWITCH_PATH = `${TEST_FOLDER}/${SWITCH_NAME}.${SWITCH_NAME}`;
25
- const EXPECTED_CHEST_PATH = `${TEST_FOLDER}/${CHEST_NAME}.${CHEST_NAME}`;
26
- const EXPECTED_LEVER_PATH = `${TEST_FOLDER}/${LEVER_NAME}.${LEVER_NAME}`;
27
- const EXPECTED_TRIGGER_PATH = `${TEST_FOLDER}/${TRIGGER_NAME}.${TRIGGER_NAME}`;
28
- const TEST_WIDGET_CLASS = '/Script/UMG.UserWidget';
29
- const TEST_LOOT_TABLE_PATH = `${TEST_FOLDER}/LT_MCP_Test`;
30
-
31
- const blueprintPath = '${captured:blueprintPath}';
32
- const doorPath = '${captured:doorPath}';
33
- const switchPath = '${captured:switchPath}';
34
- const chestPath = '${captured:chestPath}';
35
- const triggerPath = '${captured:triggerPath}';
36
-
37
- const testCases = [
38
- // === SETUP ===
39
- { scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success|already exists' },
40
- { scenario: 'Setup: spawn destructible target actor', toolName: 'control_actor', arguments: { action: 'spawn', classPath: '/Engine/BasicShapes/Cube', actorName: TEST_ACTOR, location: { x: 0, y: 0, z: 100 } }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destructible target actor spawned' }] },
41
- {
42
- scenario: 'Setup: create interaction actor blueprint',
43
- toolName: 'manage_blueprint',
44
- arguments: { action: 'create', name: BLUEPRINT_NAME, path: TEST_FOLDER, parentClass: 'Actor' },
45
- expected: 'success',
46
- captureResult: { key: 'blueprintPath', fromField: 'result.assetPath' },
47
- assertions: [{ path: 'structuredContent.result.assetPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction target blueprint path returned' }]
48
- },
49
-
50
- // === INTERACTION COMPONENT ===
51
- { scenario: 'CREATE: create_interaction_component', toolName: 'manage_interaction', arguments: { action: 'create_interaction_component', blueprintPath, componentName: 'InteractionComponent', traceDistance: 250 }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentAdded', equals: true, label: 'interaction component added' }, { path: 'structuredContent.result.componentName', equals: 'InteractionComponent', label: 'interaction component name returned' }, { path: 'structuredContent.result.assetPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction component target verified' }] },
52
- { scenario: 'CONFIG: configure_interaction_trace', toolName: 'manage_interaction', arguments: { action: 'configure_interaction_trace', blueprintPath, traceType: 'sphere', traceDistance: 375, traceRadius: 80 }, expected: 'success', assertions: [{ path: 'structuredContent.result.traceType', equals: 'sphere', label: 'interaction trace type configured' }, { path: 'structuredContent.result.traceDistance', equals: 375, label: 'interaction trace distance configured' }, { path: 'structuredContent.result.traceRadius', equals: 80, label: 'interaction trace radius configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'interaction trace configured flag returned' }] },
53
- { scenario: 'CONFIG: configure_interaction_widget', toolName: 'manage_interaction', arguments: { action: 'configure_interaction_widget', blueprintPath, widgetClass: TEST_WIDGET_CLASS, showOnHover: true, showPromptText: false, promptTextFormat: 'Use {Key}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.widgetClass', equals: TEST_WIDGET_CLASS, label: 'interaction widget class returned' }, { path: 'structuredContent.result.showOnHover', equals: true, label: 'interaction widget hover enabled' }, { path: 'structuredContent.result.showPromptText', equals: false, label: 'interaction widget prompt flag configured' }, { path: 'structuredContent.result.promptTextFormat', equals: 'Use {Key}', label: 'interaction widget prompt format configured' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction widget target returned' }] },
54
- { scenario: 'ADD: add_interaction_events', toolName: 'manage_interaction', arguments: { action: 'add_interaction_events', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.eventsAdded', length: 4, label: 'interaction event dispatchers added' }, { path: 'structuredContent.result.eventCount', equals: 4, label: 'interaction event count returned' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction events target returned' }] },
55
-
56
- // === INTERACTABLES ===
57
- { scenario: 'CREATE: create_interactable_interface', toolName: 'manage_interaction', arguments: { action: 'create_interactable_interface', name: INTERFACE_NAME, folder: TEST_FOLDER_ALIAS }, expected: 'success', assertions: [{ path: 'structuredContent.result.interfacePath', equals: EXPECTED_INTERFACE_PATH, label: 'interactable interface path returned' }, { path: 'structuredContent.result.created', equals: true, label: 'interactable interface created' }, { path: 'structuredContent.result.functionsAdded', length: 3, label: 'interactable interface functions added' }] },
58
- {
59
- scenario: 'CREATE: create_door_actor',
60
- toolName: 'manage_interaction',
61
- arguments: { action: 'create_door_actor', name: DOOR_NAME, folder: TEST_FOLDER, openAngle: 110, openTime: 0.75, autoClose: true, autoCloseDelay: 2.5, requiresKey: true },
62
- expected: 'success',
63
- captureResult: { key: 'doorPath', fromField: 'result.assetPath' },
64
- assertions: [{ path: 'structuredContent.result.openAngle', equals: 110, label: 'door open angle set at creation' }, { path: 'structuredContent.result.openTime', equals: 0.75, label: 'door open time set at creation' }, { path: 'structuredContent.result.autoClose', equals: true, label: 'door auto-close set at creation' }, { path: 'structuredContent.result.requiresKey', equals: true, label: 'door key requirement set at creation' }, { path: 'structuredContent.result.assetPath', equals: EXPECTED_DOOR_PATH, label: 'door asset path returned' }]
65
- },
66
- { scenario: 'CONFIG: configure_door_properties', toolName: 'manage_interaction', arguments: { action: 'configure_door_properties', doorPath, openAngle: 95, openTime: 1.25, locked: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.doorPath', equals: EXPECTED_DOOR_PATH, label: 'door config target returned' }, { path: 'structuredContent.result.openAngle', equals: 95, label: 'door config open angle applied' }, { path: 'structuredContent.result.openTime', equals: 1.25, label: 'door config open time applied' }, { path: 'structuredContent.result.locked', equals: true, label: 'door locked flag applied' }] },
67
- {
68
- scenario: 'CREATE: create_switch_actor',
69
- toolName: 'manage_interaction',
70
- arguments: { action: 'create_switch_actor', name: SWITCH_NAME, folder: TEST_FOLDER, switchType: 'lever' },
71
- expected: 'success',
72
- captureResult: { key: 'switchPath', fromField: 'result.switchPath' },
73
- assertions: [{ path: 'structuredContent.result.switchPath', equals: EXPECTED_SWITCH_PATH, label: 'switch path returned' }, { path: 'structuredContent.result.switchType', equals: 'lever', label: 'switch type set at creation' }]
74
- },
75
- { scenario: 'CONFIG: configure_switch_properties', toolName: 'manage_interaction', arguments: { action: 'configure_switch_properties', switchPath, switchType: 'pressure_plate', canToggle: false, resetTime: 3.5 }, expected: 'success', assertions: [{ path: 'structuredContent.result.switchPath', equals: EXPECTED_SWITCH_PATH, label: 'switch config target returned' }, { path: 'structuredContent.result.switchType', equals: 'pressure_plate', label: 'switch config type applied' }, { path: 'structuredContent.result.canToggle', equals: false, label: 'switch toggle flag applied' }, { path: 'structuredContent.result.resetTime', equals: 3.5, label: 'switch reset time applied' }] },
76
- {
77
- scenario: 'CREATE: create_chest_actor',
78
- toolName: 'manage_interaction',
79
- arguments: { action: 'create_chest_actor', name: CHEST_NAME, folder: TEST_FOLDER, locked: true },
80
- expected: 'success',
81
- captureResult: { key: 'chestPath', fromField: 'result.chestPath' },
82
- assertions: [{ path: 'structuredContent.result.chestPath', equals: EXPECTED_CHEST_PATH, label: 'chest path returned' }, { path: 'structuredContent.result.locked', equals: true, label: 'chest locked at creation' }]
83
- },
84
- { scenario: 'CONFIG: configure_chest_properties', toolName: 'manage_interaction', arguments: { action: 'configure_chest_properties', chestPath, locked: false, openAngle: 75, openTime: 0.6, lootTablePath: TEST_LOOT_TABLE_PATH }, expected: 'success', assertions: [{ path: 'structuredContent.result.chestPath', equals: EXPECTED_CHEST_PATH, label: 'chest config target returned' }, { path: 'structuredContent.result.locked', equals: false, label: 'chest locked flag configured' }, { path: 'structuredContent.result.openAngle', equals: 75, label: 'chest open angle configured' }, { path: 'structuredContent.result.openTime', equals: 0.6, label: 'chest open time configured' }, { path: 'structuredContent.result.lootTablePath', equals: TEST_LOOT_TABLE_PATH, label: 'chest loot table path returned' }] },
85
- {
86
- scenario: 'CREATE: create_lever_actor',
87
- toolName: 'manage_interaction',
88
- arguments: { action: 'create_lever_actor', name: LEVER_NAME, folder: TEST_FOLDER },
89
- expected: 'success',
90
- captureResult: { key: 'leverPath', fromField: 'result.leverPath' },
91
- assertions: [{ path: 'structuredContent.result.leverPath', equals: EXPECTED_LEVER_PATH, label: 'lever path returned' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_LEVER_PATH, label: 'lever blueprint path returned' }]
92
- },
93
-
94
- // === DESTRUCTIBLES ===
95
- { scenario: 'ACTION: setup_destructible_mesh', toolName: 'manage_interaction', arguments: { action: 'setup_destructible_mesh', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destructible mesh actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destructible mesh configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructibleMeshConfigured', label: 'destructible mesh actor tag added' }] },
96
- { scenario: 'CONFIG: configure_destruction_levels', toolName: 'manage_interaction', arguments: { action: 'configure_destruction_levels', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destruction levels actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destruction levels configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructionLevelsConfigured', label: 'destruction levels actor tag added' }] },
97
- { scenario: 'CONFIG: configure_destruction_effects', toolName: 'manage_interaction', arguments: { action: 'configure_destruction_effects', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destruction effects actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destruction effects configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructionEffectsConfigured', label: 'destruction effects actor tag added' }] },
98
- { scenario: 'CONFIG: configure_destruction_damage', toolName: 'manage_interaction', arguments: { action: 'configure_destruction_damage', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destruction damage actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destruction damage configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructionDamageConfigured', label: 'destruction damage actor tag added' }] },
99
- { scenario: 'ADD: add_destruction_component', toolName: 'manage_interaction', arguments: { action: 'add_destruction_component', blueprintPath, componentName: 'DestructionComponent' }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentAdded', equals: true, label: 'destruction component added' }, { path: 'structuredContent.result.componentName', equals: 'DestructionComponent', label: 'destruction component name returned' }, { path: 'structuredContent.result.variablesAdded', length: 4, label: 'destruction variables added' }] },
100
-
101
- // === TRIGGERS ===
102
- {
103
- scenario: 'CREATE: create_trigger_actor',
104
- toolName: 'manage_interaction',
105
- arguments: { action: 'create_trigger_actor', name: TRIGGER_NAME, folder: TEST_FOLDER, triggerShape: 'sphere' },
106
- expected: 'success',
107
- captureResult: { key: 'triggerPath', fromField: 'result.triggerPath' },
108
- assertions: [{ path: 'structuredContent.result.triggerPath', equals: EXPECTED_TRIGGER_PATH, label: 'trigger path returned' }, { path: 'structuredContent.result.triggerShape', equals: 'sphere', label: 'trigger shape set at creation' }]
109
- },
110
- { scenario: 'CONFIG: configure_trigger_events', toolName: 'manage_interaction', arguments: { action: 'configure_trigger_events', triggerPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.configured', equals: true, label: 'trigger events configured flag returned' }, { path: 'structuredContent.result.eventCount', equals: 3, label: 'trigger event dispatchers added' }, { path: 'structuredContent.result.eventsAdded', length: 3, label: 'trigger event names returned' }] },
111
- { scenario: 'CONFIG: configure_trigger_filter', toolName: 'manage_interaction', arguments: { action: 'configure_trigger_filter', triggerPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.triggerPath', equals: EXPECTED_TRIGGER_PATH, label: 'trigger filter target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'trigger filter configured flag returned' }, { path: 'structuredContent.result.variablesAdded', length: 2, label: 'trigger filter variables added' }] },
112
- { scenario: 'CONFIG: configure_trigger_response', toolName: 'manage_interaction', arguments: { action: 'configure_trigger_response', triggerPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.triggerPath', equals: EXPECTED_TRIGGER_PATH, label: 'trigger response target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'trigger response configured flag returned' }, { path: 'structuredContent.result.variablesAdded', length: 2, label: 'trigger response variables added' }] },
113
-
114
- // === INFO ===
115
- { scenario: 'INFO: get_interaction_info blueprint', toolName: 'manage_interaction', arguments: { action: 'get_interaction_info', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Blueprint', label: 'interaction info reports blueprint asset type' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction info returns blueprint path' }, { path: 'structuredContent.result.blueprintName', equals: BLUEPRINT_NAME, label: 'interaction info returns blueprint name' }] },
116
-
117
- // === CLEANUP ===
118
- { scenario: 'Cleanup: delete test actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: TEST_ACTOR }, expected: 'success|not found' },
119
- { scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' },
120
- ];
121
-
122
- runToolTests('manage-interaction', testCases);
@@ -1,146 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * manage_inventory Tool Integration Tests
4
- * Covers all 33 actions with real asset paths captured from setup and creation.
5
- */
6
-
7
- import { runToolTests } from '../../test-runner.mjs';
8
-
9
- const ts = Date.now();
10
- const TEST_FOLDER = `/Game/MCPTest/GameplayInventory_${ts}`;
11
- const TEST_FOLDER_ALIAS = TEST_FOLDER.slice(1);
12
- const BLUEPRINT_NAME = `BP_MCP_InventoryActor_${ts}`;
13
- const ITEM_NAME = `DA_MCP_Item_${ts}`;
14
- const CATEGORY_NAME = `DA_MCP_Category_${ts}`;
15
- const PICKUP_NAME = `BP_MCP_Pickup_${ts}`;
16
- const LOOT_TABLE_NAME = `DA_MCP_LootTable_${ts}`;
17
- const RECIPE_NAME = `DA_MCP_Recipe_${ts}`;
18
- const STATION_NAME = `BP_MCP_CraftingStation_${ts}`;
19
-
20
- const EXPECTED_BLUEPRINT_PATH = `${TEST_FOLDER}/${BLUEPRINT_NAME}`;
21
- const EXPECTED_ITEM_PATH = `${TEST_FOLDER}/${ITEM_NAME}`;
22
- const EXPECTED_CATEGORY_PATH = `${TEST_FOLDER}/${CATEGORY_NAME}`;
23
- const EXPECTED_PICKUP_PATH = `${TEST_FOLDER}/${PICKUP_NAME}`;
24
- const EXPECTED_LOOT_TABLE_PATH = `${TEST_FOLDER}/${LOOT_TABLE_NAME}`;
25
- const EXPECTED_RECIPE_PATH = `${TEST_FOLDER}/${RECIPE_NAME}`;
26
-
27
- const blueprintPath = '${captured:blueprintPath}';
28
- const itemPath = '${captured:itemPath}';
29
- const categoryPath = '${captured:categoryPath}';
30
- const pickupPath = '${captured:pickupPath}';
31
- const lootTablePath = '${captured:lootTablePath}';
32
- const recipePath = '${captured:recipePath}';
33
- const stationPath = '${captured:stationPath}';
34
-
35
- const testCases = [
36
- // === SETUP ===
37
- { scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success|already exists' },
38
- {
39
- scenario: 'Setup: create inventory actor blueprint',
40
- toolName: 'manage_blueprint',
41
- arguments: { action: 'create', name: BLUEPRINT_NAME, path: TEST_FOLDER, parentClass: 'Actor' },
42
- expected: 'success',
43
- captureResult: { key: 'blueprintPath', fromField: 'result.assetPath' },
44
- assertions: [{ path: 'structuredContent.result.existsAfter', equals: true, label: 'inventory actor blueprint exists after creation' }]
45
- },
46
-
47
- // === ITEM DATA ===
48
- {
49
- scenario: 'CREATE: create_item_data_asset',
50
- toolName: 'manage_inventory',
51
- arguments: { action: 'create_item_data_asset', name: ITEM_NAME, path: TEST_FOLDER_ALIAS },
52
- expected: 'success',
53
- captureResult: { key: 'itemPath', fromField: 'result.assetPath' },
54
- assertions: [{ path: 'structuredContent.result.assetClass', equals: 'McpGenericDataAsset', label: 'item data asset class reported' }]
55
- },
56
- { scenario: 'CONFIG: set_item_properties', toolName: 'manage_inventory', arguments: { action: 'set_item_properties', itemPath, properties: {}, save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.propertiesModified', equals: 0, label: 'generic item accepts properties payload without false modification' }, { path: 'structuredContent.result.assetPath', equals: EXPECTED_ITEM_PATH, label: 'item properties target verified' }] },
57
- { scenario: 'CONFIG: configure_item_stacking', toolName: 'manage_inventory', arguments: { action: 'configure_item_stacking', itemPath, stackable: true, maxStackSize: 25, uniqueItems: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.maxStackSize', equals: 25, label: 'stack size request returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'stacking persisted into asset data' }, { path: 'structuredContent.result.modifiedProperties', length: 3, label: 'stacking properties modified' }] },
58
- { scenario: 'CONFIG: set_item_icon', toolName: 'manage_inventory', arguments: { action: 'set_item_icon', itemPath, iconPath: '/Game/MCPTest/FakeInventoryIcon' }, expected: 'success', assertions: [{ path: 'structuredContent.result.iconPath', equals: '/Game/MCPTest/FakeInventoryIcon', label: 'icon path request returned' }, { path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'icon target item returned' }, { path: 'structuredContent.result.iconSet', equals: true, label: 'icon path persisted into asset data' }, { path: 'structuredContent.result.propertyModified', equals: 'Properties.IconPath', label: 'generic item icon storage reported' }] },
59
-
60
- // === CATEGORY ===
61
- {
62
- scenario: 'CREATE: create_item_category',
63
- toolName: 'manage_inventory',
64
- arguments: { action: 'create_item_category', name: CATEGORY_NAME, path: TEST_FOLDER },
65
- expected: 'success',
66
- captureResult: { key: 'categoryPath', fromField: 'result.categoryPath' },
67
- assertions: [{ path: 'structuredContent.result.categoryPath', equals: EXPECTED_CATEGORY_PATH, label: 'category path returned' }]
68
- },
69
- { scenario: 'CONNECT: assign_item_category', toolName: 'manage_inventory', arguments: { action: 'assign_item_category', itemPath, categoryPath, save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'category assignment item target returned' }, { path: 'structuredContent.result.categoryPath', equals: EXPECTED_CATEGORY_PATH, label: 'category assignment category target returned' }] },
70
-
71
- // === INVENTORY COMPONENT ===
72
- { scenario: 'CREATE: create_inventory_component', toolName: 'manage_inventory', arguments: { action: 'create_inventory_component', blueprintPath, componentName: 'InventoryComponent', slotCount: 12 }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentName', equals: 'InventoryComponent', label: 'inventory component name returned' }, { path: 'structuredContent.result.componentAdded', equals: true, label: 'inventory component added' }] },
73
- { scenario: 'CONFIG: configure_inventory_slots', toolName: 'manage_inventory', arguments: { action: 'configure_inventory_slots', blueprintPath, slotCount: 16 }, expected: 'success', assertions: [{ path: 'structuredContent.result.slotCount', equals: 16, label: 'inventory slot count configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'inventory slots configured flag returned' }] },
74
- { scenario: 'ADD: add_inventory_functions', toolName: 'manage_inventory', arguments: { action: 'add_inventory_functions', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.functionsAdded', length: 8, label: 'inventory helper functions/events returned' }, { path: 'structuredContent.result.variablesAdded', length: 5, label: 'inventory helper variables added' }] },
75
- { scenario: 'CONFIG: configure_inventory_events', toolName: 'manage_inventory', arguments: { action: 'configure_inventory_events', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.eventsAdded', length: 4, label: 'inventory events configured' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'inventory events target blueprint returned' }] },
76
- { scenario: 'CONFIG: set_inventory_replication', toolName: 'manage_inventory', arguments: { action: 'set_inventory_replication', blueprintPath, replicated: true, replicationCondition: 'OwnerOnly' }, expected: 'success', assertions: [{ path: 'structuredContent.result.replicated', equals: true, label: 'inventory replication enabled' }, { path: 'structuredContent.result.replicationCondition', equals: 'OwnerOnly', label: 'inventory replication condition applied' }, { path: 'structuredContent.result.modifiedVariables', length: 4, label: 'inventory variables marked for replication' }] },
77
- { scenario: 'CONFIG: configure_inventory_weight', toolName: 'manage_inventory', arguments: { action: 'configure_inventory_weight', blueprintPath, maxWeight: 125, enableWeight: true, encumberanceSystem: true, encumberanceThreshold: 0.8 }, expected: 'success', assertions: [{ path: 'structuredContent.result.maxWeight', equals: 125, label: 'max inventory weight configured' }, { path: 'structuredContent.result.encumberanceThreshold', equals: 0.8, label: 'encumberance threshold configured' }] },
78
-
79
- // === PICKUPS ===
80
- {
81
- scenario: 'CREATE: create_pickup_actor',
82
- toolName: 'manage_inventory',
83
- arguments: { action: 'create_pickup_actor', name: PICKUP_NAME, path: TEST_FOLDER },
84
- expected: 'success',
85
- captureResult: { key: 'pickupPath', fromField: 'result.pickupPath' },
86
- assertions: [{ path: 'structuredContent.result.blueprintName', equals: PICKUP_NAME, label: 'pickup blueprint name returned' }]
87
- },
88
- { scenario: 'CONFIG: configure_pickup_interaction', toolName: 'manage_inventory', arguments: { action: 'configure_pickup_interaction', pickupPath, interactionType: 'Overlap', prompt: 'Collect item' }, expected: 'success', assertions: [{ path: 'structuredContent.result.interactionType', equals: 'Overlap', label: 'pickup interaction type configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'pickup interaction configured flag returned' }] },
89
- { scenario: 'CONFIG: configure_pickup_respawn', toolName: 'manage_inventory', arguments: { action: 'configure_pickup_respawn', pickupPath, respawnable: true, respawnTime: 45 }, expected: 'success', assertions: [{ path: 'structuredContent.result.respawnable', equals: true, label: 'pickup respawn enabled' }, { path: 'structuredContent.result.respawnTime', equals: 45, label: 'pickup respawn time configured' }] },
90
- { scenario: 'CONFIG: configure_pickup_effects', toolName: 'manage_inventory', arguments: { action: 'configure_pickup_effects', pickupPath, bobbing: true, rotation: false, glowEffect: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.bobbing', equals: true, label: 'pickup bobbing configured' }, { path: 'structuredContent.result.rotation', equals: false, label: 'pickup rotation configured' }, { path: 'structuredContent.result.glowEffect', equals: true, label: 'pickup glow configured' }] },
91
-
92
- // === EQUIPMENT ===
93
- { scenario: 'CREATE: create_equipment_component', toolName: 'manage_inventory', arguments: { action: 'create_equipment_component', blueprintPath, componentName: 'EquipmentComponent' }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentName', equals: 'EquipmentComponent', label: 'equipment component name returned' }, { path: 'structuredContent.result.variablesAdded', length: 3, label: 'equipment state variables added' }] },
94
- { scenario: 'ACTION: define_equipment_slots', toolName: 'manage_inventory', arguments: { action: 'define_equipment_slots', blueprintPath, slots: ['Head', 'Weapon', 'Ring'] }, expected: 'success', assertions: [{ path: 'structuredContent.result.slotCount', equals: 3, label: 'equipment slot count configured' }, { path: 'structuredContent.result.slotsConfigured', length: 3, label: 'equipment slots returned' }] },
95
- { scenario: 'CONFIG: configure_equipment_effects', toolName: 'manage_inventory', arguments: { action: 'configure_equipment_effects', blueprintPath, statModifiers: true, abilityGrants: false, passiveEffects: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.statModifiersConfigured', equals: true, label: 'equipment stat modifiers configured' }, { path: 'structuredContent.result.abilityGrantsConfigured', equals: false, label: 'equipment ability grants configured' }, { path: 'structuredContent.result.passiveEffectsConfigured', equals: true, label: 'equipment passive effects configured' }] },
96
- { scenario: 'ADD: add_equipment_functions', toolName: 'manage_inventory', arguments: { action: 'add_equipment_functions', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.functionsAdded', length: 9, label: 'equipment helper functions/events returned' }, { path: 'structuredContent.result.variablesAdded', length: 6, label: 'equipment helper variables added' }] },
97
- { scenario: 'CONFIG: configure_equipment_visuals', toolName: 'manage_inventory', arguments: { action: 'configure_equipment_visuals', blueprintPath, attachToSocket: true, defaultSocket: 'hand_r' }, expected: 'success', assertions: [{ path: 'structuredContent.result.attachToSocket', equals: true, label: 'equipment visual socket attach enabled' }, { path: 'structuredContent.result.defaultSocket', equals: 'hand_r', label: 'equipment default socket configured' }] },
98
-
99
- // === LOOT ===
100
- {
101
- scenario: 'CREATE: create_loot_table',
102
- toolName: 'manage_inventory',
103
- arguments: { action: 'create_loot_table', name: LOOT_TABLE_NAME, path: TEST_FOLDER },
104
- expected: 'success',
105
- captureResult: { key: 'lootTablePath', fromField: 'result.lootTablePath' },
106
- assertions: [{ path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'loot table path returned' }]
107
- },
108
- { scenario: 'ADD: add_loot_entry', toolName: 'manage_inventory', arguments: { action: 'add_loot_entry', lootTablePath, itemPath, lootWeight: 2.5, minQuantity: 1, maxQuantity: 3 }, expected: 'success', assertions: [{ path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'loot entry table target returned' }, { path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'loot entry item target returned' }, { path: 'structuredContent.result.weight', equals: 2.5, label: 'loot entry weight returned' }, { path: 'structuredContent.result.added', equals: true, label: 'loot entry persisted into table data' }, { path: 'structuredContent.result.storage', equals: 'Properties', label: 'generic loot table storage reported' }] },
109
- { scenario: 'CONFIG: configure_loot_drop', toolName: 'manage_inventory', arguments: { action: 'configure_loot_drop', actorPath: blueprintPath, lootTablePath, dropCount: 2, dropRadius: 250, dropOnDeath: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.dropCount', equals: 2, label: 'loot drop count configured' }, { path: 'structuredContent.result.dropRadius', equals: 250, label: 'loot drop radius configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'loot drop configured flag returned' }] },
110
- { scenario: 'CONFIG: set_loot_quality_tiers', toolName: 'manage_inventory', arguments: { action: 'set_loot_quality_tiers', lootTablePath, tiers: [{ name: 'Common', dropWeight: 70 }, { name: 'Rare', dropWeight: 30 }] }, expected: 'success', assertions: [{ path: 'structuredContent.result.tierCount', equals: 2, label: 'loot quality tier count configured' }, { path: 'structuredContent.result.tiersConfigured', length: 2, label: 'loot quality tiers returned' }] },
111
- { scenario: 'ACTION: remove_loot_entry', toolName: 'manage_inventory', arguments: { action: 'remove_loot_entry', lootTablePath, entryIndex: 0 }, expected: 'success', assertions: [{ path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'remove loot entry table target returned' }, { path: 'structuredContent.result.removed', equals: false, label: 'generic loot table reports no removable backing array' }] },
112
-
113
- // === CRAFTING ===
114
- {
115
- scenario: 'CREATE: create_crafting_recipe',
116
- toolName: 'manage_inventory',
117
- arguments: { action: 'create_crafting_recipe', name: RECIPE_NAME, path: TEST_FOLDER, outputItemPath: itemPath, outputQuantity: 2, craftTime: 4.5 },
118
- expected: 'success',
119
- captureResult: { key: 'recipePath', fromField: 'result.recipePath' },
120
- assertions: [{ path: 'structuredContent.result.outputItemPath', equals: EXPECTED_ITEM_PATH, label: 'crafting recipe output item configured' }, { path: 'structuredContent.result.outputQuantity', equals: 2, label: 'crafting output quantity configured' }]
121
- },
122
- { scenario: 'CONFIG: configure_recipe_requirements', toolName: 'manage_inventory', arguments: { action: 'configure_recipe_requirements', recipePath, requiredLevel: 5, requiredStation: 'Workbench' }, expected: 'success', assertions: [{ path: 'structuredContent.result.recipePath', equals: EXPECTED_RECIPE_PATH, label: 'recipe requirements target returned' }, { path: 'structuredContent.result.requiredLevel', equals: 5, label: 'recipe required level configured' }, { path: 'structuredContent.result.requiredStation', equals: 'Workbench', label: 'recipe required station configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'recipe requirements persisted into asset data' }, { path: 'structuredContent.result.propertiesModified', equals: 2, label: 'recipe requirement properties modified' }] },
123
- { scenario: 'ADD: add_recipe_ingredient', toolName: 'manage_inventory', arguments: { action: 'add_recipe_ingredient', recipePath, ingredientItemPath: itemPath, quantity: 3 }, expected: 'success', assertions: [{ path: 'structuredContent.result.recipePath', equals: EXPECTED_RECIPE_PATH, label: 'recipe ingredient target returned' }, { path: 'structuredContent.result.ingredientItemPath', equals: EXPECTED_ITEM_PATH, label: 'recipe ingredient item returned' }, { path: 'structuredContent.result.quantity', equals: 3, label: 'recipe ingredient quantity returned' }, { path: 'structuredContent.result.added', equals: true, label: 'recipe ingredient persisted into recipe data' }, { path: 'structuredContent.result.storage', equals: 'Properties', label: 'generic recipe ingredient storage reported' }] },
124
- {
125
- scenario: 'CREATE: create_crafting_station',
126
- toolName: 'manage_inventory',
127
- arguments: { action: 'create_crafting_station', name: STATION_NAME, path: TEST_FOLDER, stationType: 'Workbench' },
128
- expected: 'success',
129
- captureResult: { key: 'stationPath', fromField: 'result.stationPath' },
130
- assertions: [{ path: 'structuredContent.result.stationType', equals: 'Workbench', label: 'crafting station type returned' }]
131
- },
132
- { scenario: 'ADD: add_crafting_component', toolName: 'manage_inventory', arguments: { action: 'add_crafting_component', blueprintPath, componentName: 'CraftingComponent' }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentName', equals: 'CraftingComponent', label: 'crafting component name returned' }, { path: 'structuredContent.result.componentAdded', equals: true, label: 'crafting component added' }] },
133
- { scenario: 'CONFIG: configure_station_recipes', toolName: 'manage_inventory', arguments: { action: 'configure_station_recipes', stationPath, recipePaths: [recipePath], stationType: 'Workbench', craftingSpeedMultiplier: 1.25 }, expected: 'success', assertions: [{ path: 'structuredContent.result.stationType', equals: 'Workbench', label: 'station recipe type configured' }, { path: 'structuredContent.result.recipeCount', equals: 1, label: 'station recipe count configured' }, { path: 'structuredContent.result.recipePaths', length: 1, label: 'station recipe path returned' }] },
134
-
135
- // === INFO ===
136
- { scenario: 'INFO: get_inventory_info blueprint', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Blueprint', label: 'inventory info reports blueprint asset type' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'inventory info returns blueprint path' }, { path: 'structuredContent.result.components', length: 3, label: 'inventory info reports inventory, equipment, and crafting components' }] },
137
- { scenario: 'INFO: get_inventory_info item', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', itemPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Item', label: 'inventory info reports item asset type' }, { path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'inventory info returns item path' }, { path: 'structuredContent.result.properties.bStackable', equals: 'true', label: 'item stacking flag read back from asset data' }, { path: 'structuredContent.result.properties.MaxStackSize', equals: '25', label: 'item stack size read back from asset data' }, { path: 'structuredContent.result.properties.IconPath', equals: '/Game/MCPTest/FakeInventoryIcon', label: 'item icon path read back from asset data' }] },
138
- { scenario: 'INFO: get_inventory_info loot table', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', lootTablePath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'LootTable', label: 'inventory info reports loot table asset type' }, { path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'inventory info returns loot table path' }, { path: 'structuredContent.result.properties.LootEntry_0', equals: `ItemPath=${EXPECTED_ITEM_PATH};Weight=2.5;MinQuantity=1;MaxQuantity=3`, label: 'loot entry read back from table data' }] },
139
- { scenario: 'INFO: get_inventory_info recipe', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', recipePath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Recipe', label: 'inventory info reports recipe asset type' }, { path: 'structuredContent.result.recipePath', equals: EXPECTED_RECIPE_PATH, label: 'inventory info returns recipe path' }, { path: 'structuredContent.result.properties.RequiredLevel', equals: '5', label: 'recipe required level read back from asset data' }, { path: 'structuredContent.result.properties.RequiredStation', equals: 'Workbench', label: 'recipe station read back from asset data' }, { path: 'structuredContent.result.properties.Ingredient_2', equals: `ItemPath=${EXPECTED_ITEM_PATH};Quantity=3`, label: 'recipe ingredient read back from asset data' }] },
140
- { scenario: 'INFO: get_inventory_info pickup', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', pickupPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Pickup', label: 'inventory info reports pickup asset type' }, { path: 'structuredContent.result.pickupPath', equals: EXPECTED_PICKUP_PATH, label: 'inventory info returns pickup path' }] },
141
-
142
- // === CLEANUP ===
143
- { scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' },
144
- ];
145
-
146
- runToolTests('manage-inventory', testCases);