@hybridlabor-api/aos 4.3.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 (1052) hide show
  1. package/.claude/hooks/memb-inject.mjs +121 -0
  2. package/.claude/settings.json +10 -0
  3. package/README.de.md +0 -2
  4. package/README.md +0 -2
  5. package/README.pt.md +0 -2
  6. package/THIRD_PARTY_NOTICES.md +1 -1
  7. package/docs/skills_table.md +0 -2
  8. package/installer.js +17 -6
  9. package/package.json +16 -2
  10. package/skills/global_config/aos-project-init/SKILL.md +194 -0
  11. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +56 -0
  12. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +137 -0
  13. package/skills/global_config/aos-setup/SKILL.md +222 -0
  14. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +262 -0
  15. package/skills/global_config/ask-tim/SKILL.md +2 -2
  16. package/assets/Give_AI_Agents_Control_of_Creative_Software.mp4 +0 -0
  17. package/mcps/RhinoMCP/connector/icon-dark.png +0 -3
  18. package/mcps/RhinoMCP/connector/icon-light.png +0 -3
  19. package/mcps/RhinoMCP/connector/screenshots/casa-rhino.png +0 -3
  20. package/mcps/RhinoMCP/docs/assets/css/custom.css +0 -640
  21. package/mcps/RhinoMCP/docs/content/_index.md +0 -88
  22. package/mcps/RhinoMCP/docs/content/docs/_index.md +0 -35
  23. package/mcps/RhinoMCP/docs/content/docs/advanced/_index.md +0 -37
  24. package/mcps/RhinoMCP/docs/content/docs/advanced/bulk-file-processing.md +0 -70
  25. package/mcps/RhinoMCP/docs/content/docs/advanced/headless-render-farm.md +0 -60
  26. package/mcps/RhinoMCP/docs/content/docs/advanced/make-this-parametric.md +0 -56
  27. package/mcps/RhinoMCP/docs/content/docs/advanced/sketch-to-model.md +0 -58
  28. package/mcps/RhinoMCP/docs/content/docs/advanced/upgrade-gh1-to-gh2.md +0 -51
  29. package/mcps/RhinoMCP/docs/content/docs/developers/_index.md +0 -39
  30. package/mcps/RhinoMCP/docs/content/docs/developers/dev-troubleshooting.md +0 -15
  31. package/mcps/RhinoMCP/docs/content/docs/developers/plugin-prototyping.md +0 -56
  32. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-gh1-to-gh2.md +0 -98
  33. package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-to-netcore.md +0 -53
  34. package/mcps/RhinoMCP/docs/content/docs/developers/windows-to-cross-platform.md +0 -58
  35. package/mcps/RhinoMCP/docs/content/docs/developers/wpf-to-eto.md +0 -64
  36. package/mcps/RhinoMCP/docs/content/docs/getting-started/_index.md +0 -45
  37. package/mcps/RhinoMCP/docs/content/docs/getting-started/cc-plugin.md +0 -116
  38. package/mcps/RhinoMCP/docs/content/docs/getting-started/connector.md +0 -65
  39. package/mcps/RhinoMCP/docs/content/docs/getting-started/copilot.md +0 -61
  40. package/mcps/RhinoMCP/docs/content/docs/getting-started/lm-studio.md +0 -62
  41. package/mcps/RhinoMCP/docs/content/docs/troubleshooting.md +0 -66
  42. package/mcps/RhinoMCP/docs/content/docs/try-it-out/_index.md +0 -39
  43. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/_index.md +0 -25
  44. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/build-grasshopper.md +0 -26
  45. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/generate-variations.md +0 -25
  46. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/inspect-and-report.md +0 -26
  47. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/layers.md +0 -28
  48. package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/model-from-image.md +0 -27
  49. package/mcps/RhinoMCP/docs/content/docs/try-it-out/recipes.md +0 -178
  50. package/mcps/RhinoMCP/docs/data/icons.yaml +0 -3
  51. package/mcps/RhinoMCP/docs/go.mod +0 -5
  52. package/mcps/RhinoMCP/docs/go.sum +0 -4
  53. package/mcps/RhinoMCP/docs/hugo.yaml +0 -78
  54. package/mcps/RhinoMCP/docs/layouts/_partials/sidebar.html +0 -333
  55. package/mcps/RhinoMCP/docs/layouts/docs/list.html +0 -29
  56. package/mcps/RhinoMCP/docs/layouts/docs/single.html +0 -29
  57. package/mcps/RhinoMCP/docs/layouts/partials/custom/head-end.html +0 -3
  58. package/mcps/RhinoMCP/docs/layouts/shortcodes/download-asset.html +0 -21
  59. package/mcps/RhinoMCP/docs/layouts/shortcodes/github.html +0 -21
  60. package/mcps/RhinoMCP/docs/layouts/shortcodes/prompt.html +0 -23
  61. package/mcps/RhinoMCP/docs/layouts/shortcodes/yak.html +0 -21
  62. package/mcps/RhinoMCP/docs/static/developer/sel-arc.png +0 -3
  63. package/mcps/RhinoMCP/docs/static/developer/voxelizer-gh2-conversion.png +0 -3
  64. package/mcps/RhinoMCP/docs/static/examples/ai-kettle.png +0 -3
  65. package/mcps/RhinoMCP/docs/static/examples/casa_rhino_shapes.png +0 -3
  66. package/mcps/RhinoMCP/docs/static/examples/kettle.jpg +0 -0
  67. package/mcps/RhinoMCP/docs/static/examples/raygun-layers.png +0 -3
  68. package/mcps/RhinoMCP/docs/static/examples/raygun-thumbnail.png +0 -3
  69. package/mcps/RhinoMCP/docs/static/examples/twisty-tower-gh.png +0 -3
  70. package/mcps/RhinoMCP/docs/static/favicon.svg +0 -26
  71. package/mcps/RhinoMCP/docs/static/images/landing-dark.png +0 -3
  72. package/mcps/RhinoMCP/docs/static/images/landing.png +0 -3
  73. package/mcps/RhinoMCP/docs/static/images/logo-dark.svg +0 -26
  74. package/mcps/RhinoMCP/docs/static/images/logo.svg +0 -26
  75. package/mcps/RhinoMCP/docs/static/local-llm.png +0 -3
  76. package/mcps/RhinoMCP/rhino/plugin/icon.png +0 -3
  77. package/mcps/RhinoMCP/tests/Acp.Tests/Acp.Tests.csproj +0 -29
  78. package/mcps/RhinoMCP/tests/Acp.Tests/CoverageTests.cs +0 -52
  79. package/mcps/RhinoMCP/tests/Acp.Tests/Fakes.cs +0 -90
  80. package/mcps/RhinoMCP/tests/Acp.Tests/GlobalUsings.cs +0 -1
  81. package/mcps/RhinoMCP/tests/Acp.Tests/LoopbackTests.cs +0 -59
  82. package/mcps/RhinoMCP/tests/Acp.Tests/RobustnessTests.cs +0 -124
  83. package/mcps/RhinoMCP/tests/Acp.Tests/SerializationTests.cs +0 -94
  84. package/mcps/RhinoMCP/tests/Integration.Tests/AdoptedSlotTests.cs +0 -136
  85. package/mcps/RhinoMCP/tests/Integration.Tests/AutoSpawnNotificationTests.cs +0 -63
  86. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotAgentTests.cs +0 -56
  87. package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotTests.cs +0 -37
  88. package/mcps/RhinoMCP/tests/Integration.Tests/DocLifecycleTests.cs +0 -42
  89. package/mcps/RhinoMCP/tests/Integration.Tests/GlobalUsings.cs +0 -3
  90. package/mcps/RhinoMCP/tests/Integration.Tests/GrasshopperStartTests.cs +0 -56
  91. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/ReturnResult.cs +0 -28
  92. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpFixture.cs +0 -90
  93. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpRouter.cs +0 -111
  94. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoRouterPaths.cs +0 -83
  95. package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RouterFixture.cs +0 -50
  96. package/mcps/RhinoMCP/tests/Integration.Tests/Integration.Tests.csproj +0 -31
  97. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsShapeTests.cs +0 -55
  98. package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsTests.cs +0 -19
  99. package/mcps/RhinoMCP/tests/Integration.Tests/MacSharedProcessTests.cs +0 -87
  100. package/mcps/RhinoMCP/tests/Integration.Tests/MultiRouterTests.cs +0 -74
  101. package/mcps/RhinoMCP/tests/Integration.Tests/PluginToolTests.cs +0 -115
  102. package/mcps/RhinoMCP/tests/Integration.Tests/README.md +0 -35
  103. package/mcps/RhinoMCP/tests/Integration.Tests/RhinoCrashHandlingTests.cs +0 -107
  104. package/mcps/RhinoMCP/tests/Integration.Tests/SlotReapingTests.cs +0 -84
  105. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnErrorTests.cs +0 -52
  106. package/mcps/RhinoMCP/tests/Integration.Tests/SpawnSlotTests.cs +0 -66
  107. package/mcps/RhinoMCP/tests/Integration.Tests/ToolDispatchBySlotTests.cs +0 -53
  108. package/mcps/RhinoMCP/tests/Integration.Tests/WindowsProcessIsolationTests.cs +0 -62
  109. package/mcps/RhinoMCP/tests/Router.Tests/CodegenTests.cs +0 -125
  110. package/mcps/RhinoMCP/tests/Router.Tests/ReturnResultTests.cs +0 -90
  111. package/mcps/RhinoMCP/tests/Router.Tests/RhinoCrashReportFinderTests.cs +0 -207
  112. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorOverrideTests.cs +0 -61
  113. package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorTests.cs +0 -38
  114. package/mcps/RhinoMCP/tests/Router.Tests/RhinoManagerResolutionTests.cs +0 -151
  115. package/mcps/RhinoMCP/tests/Router.Tests/Router.Tests.csproj +0 -31
  116. package/mcps/RhinoMCP/tests/Router.Tests/RouterConfigTests.cs +0 -92
  117. package/mcps/RhinoMCP/tests/Router.Tests/SlotStoreLaunchingAbsenceTests.cs +0 -70
  118. package/mcps/RhinoMCP/tests/Router.Tests/SlotStorePortReservationTests.cs +0 -92
  119. package/mcps/RhinoMCP/tests/Router.Tests/SpawnDiagnosticsTests.cs +0 -100
  120. package/mcps/RhinoMCP/tests/Router.Tests/SpawnSlotToolDiagnoseTests.cs +0 -66
  121. package/mcps/RhinoMCP/tests/Server.Tests/McpConfigEditTests.cs +0 -223
  122. package/mcps/RhinoMCP/tests/Server.Tests/ParameterBinderTests.cs +0 -208
  123. package/mcps/RhinoMCP/tests/Server.Tests/ProtocolTests.cs +0 -200
  124. package/mcps/RhinoMCP/tests/Server.Tests/ResourceRegistryTests.cs +0 -218
  125. package/mcps/RhinoMCP/tests/Server.Tests/ResultUnwrapperTests.cs +0 -53
  126. package/mcps/RhinoMCP/tests/Server.Tests/SchemaBuilderTests.cs +0 -166
  127. package/mcps/RhinoMCP/tests/Server.Tests/Server.Tests.csproj +0 -40
  128. package/mcps/RhinoMCP/tests/StreamJson.Tests/AcpMessageMapperTests.cs +0 -82
  129. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentPromptsTests.cs +0 -56
  130. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryOverlayTests.cs +0 -88
  131. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryResolutionTests.cs +0 -152
  132. package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRunnerTurnTests.cs +0 -149
  133. package/mcps/RhinoMCP/tests/StreamJson.Tests/ClaudeStreamJsonParserTests.cs +0 -118
  134. package/mcps/RhinoMCP/tests/StreamJson.Tests/CodexStreamJsonParserTests.cs +0 -100
  135. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStorePruneTests.cs +0 -94
  136. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStoreRoundTripTests.cs +0 -70
  137. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationTests.cs +0 -153
  138. package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationUsageTests.cs +0 -56
  139. package/mcps/RhinoMCP/tests/StreamJson.Tests/GlobalUsings.cs +0 -12
  140. package/mcps/RhinoMCP/tests/StreamJson.Tests/Shims.cs +0 -93
  141. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJson.Tests.csproj +0 -56
  142. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonAgentLoopbackTests.cs +0 -75
  143. package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonParserEdgeCaseTests.cs +0 -128
  144. package/mcps/RhinoMCP/tests/StreamJson.Tests/TokenUsageTests.cs +0 -40
  145. package/mcps/RhinoMCP/tests/launcher/launcher.test.mjs +0 -461
  146. package/mcps/RhinoMCP/tests/launcher/package.json +0 -8
  147. package/mcps/ae-mcp/docs/demo.png +0 -0
  148. package/mcps/ae-mcp/docs/demo1.png +0 -0
  149. package/mcps/ae-mcp/docs/demo3.png +0 -0
  150. package/mcps/ae-mcp/docs/video.png +0 -0
  151. package/mcps/after-effects-mcp/assets/MCP Auto Bridge.png +0 -0
  152. package/mcps/bdb-remoteos-mcp/tests/__init__.py +0 -1
  153. package/mcps/bdb-remoteos-mcp/tests/mock_incus.py +0 -60
  154. package/mcps/bdb-remoteos-mcp/tests/test_mcp_server.py +0 -27
  155. package/mcps/bdb-remoteos-mcp/tests/test_security_redteam.py +0 -349
  156. package/mcps/bdb-remoteos-mcp/tests/test_webhook.py +0 -61
  157. package/mcps/blender-mcp/assets/addon-instructions.png +0 -0
  158. package/mcps/blender-mcp/assets/hammer-icon.png +0 -0
  159. package/mcps/blender-mcp-server/docs/architecture.md +0 -209
  160. package/mcps/blender-mcp-server/docs/images/demo_render.png +0 -0
  161. package/mcps/blender-mcp-server/docs/python-execute-design.md +0 -515
  162. package/mcps/blender-mcp-server/tests/__init__.py +0 -0
  163. package/mcps/blender-mcp-server/tests/test_addon.py +0 -953
  164. package/mcps/blender-mcp-server/tests/test_server.py +0 -364
  165. package/mcps/davinci-mcp-professional/docs/README.md +0 -67
  166. package/mcps/davinci-mcp-professional/docs/html/README_8md.html +0 -113
  167. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.html +0 -126
  168. package/mcps/davinci-mcp-professional/docs/html/____init_____8py.js +0 -6
  169. package/mcps/davinci-mcp-professional/docs/html/____init_____8py_source.html +0 -125
  170. package/mcps/davinci-mcp-professional/docs/html/__version_8py.html +0 -130
  171. package/mcps/davinci-mcp-professional/docs/html/__version_8py.js +0 -9
  172. package/mcps/davinci-mcp-professional/docs/html/__version_8py_source.html +0 -130
  173. package/mcps/davinci-mcp-professional/docs/html/annotated.html +0 -123
  174. package/mcps/davinci-mcp-professional/docs/html/annotated_dup.js +0 -21
  175. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient-members.html +0 -131
  176. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.html +0 -706
  177. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.js +0 -26
  178. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError.html +0 -143
  179. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.map +0 -7
  180. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.md5 +0 -1
  181. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.png +0 -0
  182. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.map +0 -7
  183. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.md5 +0 -1
  184. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.png +0 -0
  185. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError.html +0 -143
  186. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.map +0 -5
  187. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.md5 +0 -1
  188. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.png +0 -0
  189. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.map +0 -9
  190. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.md5 +0 -1
  191. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.png +0 -0
  192. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError.html +0 -143
  193. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.map +0 -7
  194. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.md5 +0 -1
  195. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.png +0 -0
  196. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.map +0 -7
  197. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.md5 +0 -1
  198. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.png +0 -0
  199. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer-members.html +0 -115
  200. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.html +0 -325
  201. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.js +0 -10
  202. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool-members.html +0 -110
  203. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.html +0 -188
  204. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.js +0 -5
  205. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.map +0 -5
  206. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.md5 +0 -1
  207. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.png +0 -0
  208. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.map +0 -5
  209. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.md5 +0 -1
  210. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.png +0 -0
  211. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject-members.html +0 -113
  212. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.html +0 -248
  213. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.js +0 -8
  214. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager-members.html +0 -113
  215. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.html +0 -252
  216. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.js +0 -8
  217. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.map +0 -5
  218. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.md5 +0 -1
  219. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.png +0 -0
  220. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.map +0 -5
  221. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.md5 +0 -1
  222. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.png +0 -0
  223. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.map +0 -5
  224. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.md5 +0 -1
  225. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.png +0 -0
  226. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.map +0 -5
  227. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.md5 +0 -1
  228. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.png +0 -0
  229. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp-members.html +0 -115
  230. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.html +0 -288
  231. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.js +0 -10
  232. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.map +0 -5
  233. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.md5 +0 -1
  234. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.png +0 -0
  235. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.map +0 -5
  236. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.md5 +0 -1
  237. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.png +0 -0
  238. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline-members.html +0 -110
  239. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.html +0 -188
  240. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.js +0 -5
  241. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.map +0 -5
  242. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.md5 +0 -1
  243. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.png +0 -0
  244. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.map +0 -5
  245. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.md5 +0 -1
  246. package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.png +0 -0
  247. package/mcps/davinci-mcp-professional/docs/html/classes.html +0 -111
  248. package/mcps/davinci-mcp-professional/docs/html/cli_8py.html +0 -135
  249. package/mcps/davinci-mcp-professional/docs/html/cli_8py.js +0 -11
  250. package/mcps/davinci-mcp-professional/docs/html/cli_8py_source.html +0 -249
  251. package/mcps/davinci-mcp-professional/docs/html/clipboard.js +0 -61
  252. package/mcps/davinci-mcp-professional/docs/html/cookie.js +0 -58
  253. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.html +0 -127
  254. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.js +0 -4
  255. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.map +0 -4
  256. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.md5 +0 -1
  257. package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.png +0 -0
  258. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.html +0 -128
  259. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.js +0 -5
  260. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.map +0 -4
  261. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.md5 +0 -1
  262. package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.png +0 -0
  263. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.html +0 -127
  264. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.js +0 -4
  265. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.map +0 -4
  266. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.md5 +0 -1
  267. package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.png +0 -0
  268. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.html +0 -129
  269. package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.js +0 -12
  270. package/mcps/davinci-mcp-professional/docs/html/doxygen.css +0 -2540
  271. package/mcps/davinci-mcp-professional/docs/html/doxygen.svg +0 -28
  272. package/mcps/davinci-mcp-professional/docs/html/doxygen_crawl.html +0 -170
  273. package/mcps/davinci-mcp-professional/docs/html/dynsections.js +0 -198
  274. package/mcps/davinci-mcp-professional/docs/html/files.html +0 -123
  275. package/mcps/davinci-mcp-professional/docs/html/files_dup.js +0 -4
  276. package/mcps/davinci-mcp-professional/docs/html/functions.html +0 -190
  277. package/mcps/davinci-mcp-professional/docs/html/functions_func.html +0 -184
  278. package/mcps/davinci-mcp-professional/docs/html/functions_vars.html +0 -110
  279. package/mcps/davinci-mcp-professional/docs/html/graph_legend.html +0 -165
  280. package/mcps/davinci-mcp-professional/docs/html/graph_legend.md5 +0 -1
  281. package/mcps/davinci-mcp-professional/docs/html/graph_legend.png +0 -0
  282. package/mcps/davinci-mcp-professional/docs/html/hierarchy.html +0 -123
  283. package/mcps/davinci-mcp-professional/docs/html/hierarchy.js +0 -18
  284. package/mcps/davinci-mcp-professional/docs/html/index.html +0 -200
  285. package/mcps/davinci-mcp-professional/docs/html/index.js +0 -9
  286. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.map +0 -3
  287. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.md5 +0 -1
  288. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.png +0 -0
  289. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.map +0 -3
  290. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.md5 +0 -1
  291. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.png +0 -0
  292. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.map +0 -9
  293. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.md5 +0 -1
  294. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.png +0 -0
  295. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.map +0 -13
  296. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.md5 +0 -1
  297. package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.png +0 -0
  298. package/mcps/davinci-mcp-professional/docs/html/inherits.html +0 -145
  299. package/mcps/davinci-mcp-professional/docs/html/jquery.js +0 -204
  300. package/mcps/davinci-mcp-professional/docs/html/menu.js +0 -131
  301. package/mcps/davinci-mcp-professional/docs/html/menudata.js +0 -73
  302. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.html +0 -209
  303. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.js +0 -34
  304. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1__version.html +0 -260
  305. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1cli.html +0 -303
  306. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.html +0 -147
  307. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.js +0 -8
  308. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resources.html +0 -140
  309. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.html +0 -144
  310. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.js +0 -5
  311. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1tools.html +0 -140
  312. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.html +0 -216
  313. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.js +0 -13
  314. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.html +0 -155
  315. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.js +0 -11
  316. package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils_1_1platform.html +0 -232
  317. package/mcps/davinci-mcp-professional/docs/html/namespacemembers.html +0 -173
  318. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_func.html +0 -114
  319. package/mcps/davinci-mcp-professional/docs/html/namespacemembers_vars.html +0 -121
  320. package/mcps/davinci-mcp-professional/docs/html/namespaces.html +0 -119
  321. package/mcps/davinci-mcp-professional/docs/html/namespaces_dup.js +0 -4
  322. package/mcps/davinci-mcp-professional/docs/html/navtree.css +0 -327
  323. package/mcps/davinci-mcp-professional/docs/html/navtree.js +0 -901
  324. package/mcps/davinci-mcp-professional/docs/html/navtreedata.js +0 -68
  325. package/mcps/davinci-mcp-professional/docs/html/navtreeindex0.js +0 -212
  326. package/mcps/davinci-mcp-professional/docs/html/platform_8py.html +0 -130
  327. package/mcps/davinci-mcp-professional/docs/html/platform_8py.js +0 -8
  328. package/mcps/davinci-mcp-professional/docs/html/platform_8py_source.html +0 -245
  329. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.html +0 -132
  330. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.js +0 -8
  331. package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py_source.html +0 -501
  332. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.html +0 -125
  333. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.js +0 -4
  334. package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py_source.html +0 -169
  335. package/mcps/davinci-mcp-professional/docs/html/search/all_0.js +0 -22
  336. package/mcps/davinci-mcp-professional/docs/html/search/all_1.js +0 -4
  337. package/mcps/davinci-mcp-professional/docs/html/search/all_10.js +0 -4
  338. package/mcps/davinci-mcp-professional/docs/html/search/all_11.js +0 -4
  339. package/mcps/davinci-mcp-professional/docs/html/search/all_12.js +0 -4
  340. package/mcps/davinci-mcp-professional/docs/html/search/all_13.js +0 -4
  341. package/mcps/davinci-mcp-professional/docs/html/search/all_2.js +0 -4
  342. package/mcps/davinci-mcp-professional/docs/html/search/all_3.js +0 -15
  343. package/mcps/davinci-mcp-professional/docs/html/search/all_4.js +0 -26
  344. package/mcps/davinci-mcp-professional/docs/html/search/all_5.js +0 -4
  345. package/mcps/davinci-mcp-professional/docs/html/search/all_6.js +0 -6
  346. package/mcps/davinci-mcp-professional/docs/html/search/all_7.js +0 -25
  347. package/mcps/davinci-mcp-professional/docs/html/search/all_8.js +0 -7
  348. package/mcps/davinci-mcp-professional/docs/html/search/all_9.js +0 -9
  349. package/mcps/davinci-mcp-professional/docs/html/search/all_a.js +0 -6
  350. package/mcps/davinci-mcp-professional/docs/html/search/all_b.js +0 -6
  351. package/mcps/davinci-mcp-professional/docs/html/search/all_c.js +0 -9
  352. package/mcps/davinci-mcp-professional/docs/html/search/all_d.js +0 -10
  353. package/mcps/davinci-mcp-professional/docs/html/search/all_e.js +0 -11
  354. package/mcps/davinci-mcp-professional/docs/html/search/all_f.js +0 -5
  355. package/mcps/davinci-mcp-professional/docs/html/search/classes_0.js +0 -13
  356. package/mcps/davinci-mcp-professional/docs/html/search/files_0.js +0 -5
  357. package/mcps/davinci-mcp-professional/docs/html/search/files_1.js +0 -4
  358. package/mcps/davinci-mcp-professional/docs/html/search/files_2.js +0 -4
  359. package/mcps/davinci-mcp-professional/docs/html/search/files_3.js +0 -5
  360. package/mcps/davinci-mcp-professional/docs/html/search/files_4.js +0 -4
  361. package/mcps/davinci-mcp-professional/docs/html/search/files_5.js +0 -4
  362. package/mcps/davinci-mcp-professional/docs/html/search/functions_0.js +0 -9
  363. package/mcps/davinci-mcp-professional/docs/html/search/functions_1.js +0 -4
  364. package/mcps/davinci-mcp-professional/docs/html/search/functions_2.js +0 -10
  365. package/mcps/davinci-mcp-professional/docs/html/search/functions_3.js +0 -4
  366. package/mcps/davinci-mcp-professional/docs/html/search/functions_4.js +0 -25
  367. package/mcps/davinci-mcp-professional/docs/html/search/functions_5.js +0 -6
  368. package/mcps/davinci-mcp-professional/docs/html/search/functions_6.js +0 -7
  369. package/mcps/davinci-mcp-professional/docs/html/search/functions_7.js +0 -4
  370. package/mcps/davinci-mcp-professional/docs/html/search/functions_8.js +0 -5
  371. package/mcps/davinci-mcp-professional/docs/html/search/functions_9.js +0 -4
  372. package/mcps/davinci-mcp-professional/docs/html/search/functions_a.js +0 -4
  373. package/mcps/davinci-mcp-professional/docs/html/search/functions_b.js +0 -6
  374. package/mcps/davinci-mcp-professional/docs/html/search/namespaces_0.js +0 -13
  375. package/mcps/davinci-mcp-professional/docs/html/search/pages_0.js +0 -4
  376. package/mcps/davinci-mcp-professional/docs/html/search/pages_1.js +0 -6
  377. package/mcps/davinci-mcp-professional/docs/html/search/pages_2.js +0 -5
  378. package/mcps/davinci-mcp-professional/docs/html/search/pages_3.js +0 -4
  379. package/mcps/davinci-mcp-professional/docs/html/search/pages_4.js +0 -5
  380. package/mcps/davinci-mcp-professional/docs/html/search/pages_5.js +0 -4
  381. package/mcps/davinci-mcp-professional/docs/html/search/pages_6.js +0 -4
  382. package/mcps/davinci-mcp-professional/docs/html/search/pages_7.js +0 -4
  383. package/mcps/davinci-mcp-professional/docs/html/search/pages_8.js +0 -5
  384. package/mcps/davinci-mcp-professional/docs/html/search/pages_9.js +0 -5
  385. package/mcps/davinci-mcp-professional/docs/html/search/pages_a.js +0 -6
  386. package/mcps/davinci-mcp-professional/docs/html/search/pages_b.js +0 -4
  387. package/mcps/davinci-mcp-professional/docs/html/search/pages_c.js +0 -4
  388. package/mcps/davinci-mcp-professional/docs/html/search/pages_d.js +0 -4
  389. package/mcps/davinci-mcp-professional/docs/html/search/search.css +0 -377
  390. package/mcps/davinci-mcp-professional/docs/html/search/search.js +0 -708
  391. package/mcps/davinci-mcp-professional/docs/html/search/searchdata.js +0 -33
  392. package/mcps/davinci-mcp-professional/docs/html/search/variables_0.js +0 -14
  393. package/mcps/davinci-mcp-professional/docs/html/search/variables_1.js +0 -4
  394. package/mcps/davinci-mcp-professional/docs/html/search/variables_2.js +0 -4
  395. package/mcps/davinci-mcp-professional/docs/html/search/variables_3.js +0 -5
  396. package/mcps/davinci-mcp-professional/docs/html/search/variables_4.js +0 -4
  397. package/mcps/davinci-mcp-professional/docs/html/search/variables_5.js +0 -5
  398. package/mcps/davinci-mcp-professional/docs/html/search/variables_6.js +0 -5
  399. package/mcps/davinci-mcp-professional/docs/html/search/variables_7.js +0 -4
  400. package/mcps/davinci-mcp-professional/docs/html/search/variables_8.js +0 -4
  401. package/mcps/davinci-mcp-professional/docs/html/search/variables_9.js +0 -4
  402. package/mcps/davinci-mcp-professional/docs/html/server_8py.html +0 -129
  403. package/mcps/davinci-mcp-professional/docs/html/server_8py.js +0 -5
  404. package/mcps/davinci-mcp-professional/docs/html/server_8py_source.html +0 -318
  405. package/mcps/davinci-mcp-professional/docs/html/tabs.css +0 -1
  406. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.html +0 -125
  407. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.js +0 -4
  408. package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py_source.html +0 -253
  409. package/mcps/davinci-mcp-professional/docs/html/types_8py.html +0 -137
  410. package/mcps/davinci-mcp-professional/docs/html/types_8py.js +0 -13
  411. package/mcps/davinci-mcp-professional/docs/html/types_8py_source.html +0 -309
  412. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.html +0 -125
  413. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.js +0 -4
  414. package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py_source.html +0 -123
  415. package/mcps/davinci-mcp-professional/tests/README.md +0 -49
  416. package/mcps/davinci-mcp-professional/tests/__init__.py +0 -1
  417. package/mcps/davinci-mcp-professional/tests/conftest.py +0 -75
  418. package/mcps/davinci-mcp-professional/tests/test_security.py +0 -251
  419. package/mcps/davinci-resolve-mcp/docs/README.md +0 -56
  420. package/mcps/davinci-resolve-mcp/docs/SKILL.md +0 -1635
  421. package/mcps/davinci-resolve-mcp/docs/authoring/fuse-dctl-authoring.md +0 -242
  422. package/mcps/davinci-resolve-mcp/docs/authoring/script-plugin-authoring.md +0 -195
  423. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/README.md +0 -152
  424. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/category-patterns.md +0 -780
  425. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/controls.md +0 -259
  426. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/format.md +0 -568
  427. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/gotchas.md +0 -168
  428. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/thumbnails.md +0 -106
  429. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Blur.setting +0 -46
  430. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Color Tint.setting +0 -78
  431. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Cross Dissolve.setting +0 -57
  432. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Fade Title.setting +0 -111
  433. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Glow.setting +0 -55
  434. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Gradient.setting +0 -52
  435. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Iris.setting +0 -127
  436. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Lower Third.setting +0 -192
  437. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Noise.setting +0 -74
  438. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Solid Color.setting +0 -55
  439. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Title.setting +0 -105
  440. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Vignette.setting +0 -98
  441. package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Wipe.setting +0 -98
  442. package/mcps/davinci-resolve-mcp/docs/contributing.md +0 -82
  443. package/mcps/davinci-resolve-mcp/docs/guides/color-decision-guide.md +0 -427
  444. package/mcps/davinci-resolve-mcp/docs/guides/control-panel.md +0 -234
  445. package/mcps/davinci-resolve-mcp/docs/guides/editorial-decision-guide.md +0 -165
  446. package/mcps/davinci-resolve-mcp/docs/guides/media-analysis-guide.md +0 -763
  447. package/mcps/davinci-resolve-mcp/docs/guides/multicam-setup-guide.md +0 -138
  448. package/mcps/davinci-resolve-mcp/docs/images/control-panel/01-overview.png +0 -0
  449. package/mcps/davinci-resolve-mcp/docs/images/control-panel/02-review-bin-grid.png +0 -0
  450. package/mcps/davinci-resolve-mcp/docs/images/control-panel/03-clip-detail.png +0 -0
  451. package/mcps/davinci-resolve-mcp/docs/images/control-panel/04-transcript.png +0 -0
  452. package/mcps/davinci-resolve-mcp/docs/images/control-panel/05-shot-detail.png +0 -0
  453. package/mcps/davinci-resolve-mcp/docs/images/control-panel/06-inventory.png +0 -0
  454. package/mcps/davinci-resolve-mcp/docs/images/control-panel/07-diagnostics-resolve.png +0 -0
  455. package/mcps/davinci-resolve-mcp/docs/images/control-panel/08-preferences-analysis.png +0 -0
  456. package/mcps/davinci-resolve-mcp/docs/images/control-panel/09-ai-console.png +0 -0
  457. package/mcps/davinci-resolve-mcp/docs/images/control-panel/10-history.png +0 -0
  458. package/mcps/davinci-resolve-mcp/docs/images/control-panel/11-edit-plans.png +0 -0
  459. package/mcps/davinci-resolve-mcp/docs/install.md +0 -208
  460. package/mcps/davinci-resolve-mcp/docs/integrations/workflow-integrations.md +0 -120
  461. package/mcps/davinci-resolve-mcp/docs/kernels/README.md +0 -28
  462. package/mcps/davinci-resolve-mcp/docs/kernels/audio-fairlight-kernel.md +0 -86
  463. package/mcps/davinci-resolve-mcp/docs/kernels/color-grade-kernel.md +0 -103
  464. package/mcps/davinci-resolve-mcp/docs/kernels/extension-authoring-kernel.md +0 -101
  465. package/mcps/davinci-resolve-mcp/docs/kernels/fusion-composition-kernel.md +0 -121
  466. package/mcps/davinci-resolve-mcp/docs/kernels/media-pool-ingest-kernel.md +0 -147
  467. package/mcps/davinci-resolve-mcp/docs/kernels/project-lifecycle-kernel.md +0 -120
  468. package/mcps/davinci-resolve-mcp/docs/kernels/render-deliver-kernel.md +0 -92
  469. package/mcps/davinci-resolve-mcp/docs/kernels/review-annotation-kernel.md +0 -110
  470. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-conform-interchange-kernel.md +0 -102
  471. package/mcps/davinci-resolve-mcp/docs/kernels/timeline-edit-kernel.md +0 -189
  472. package/mcps/davinci-resolve-mcp/docs/notes/codec-plugin-notes.md +0 -136
  473. package/mcps/davinci-resolve-mcp/docs/notes/dctl-notes.md +0 -234
  474. package/mcps/davinci-resolve-mcp/docs/notes/fusion-template-notes.md +0 -136
  475. package/mcps/davinci-resolve-mcp/docs/notes/lut-notes.md +0 -136
  476. package/mcps/davinci-resolve-mcp/docs/notes/openfx-notes.md +0 -120
  477. package/mcps/davinci-resolve-mcp/docs/process/release-process.md +0 -180
  478. package/mcps/davinci-resolve-mcp/docs/reference/api-coverage.md +0 -521
  479. package/mcps/davinci-resolve-mcp/docs/reference/api-limitations.md +0 -259
  480. package/mcps/davinci-resolve-mcp/docs/reference/readwrite-symmetry.md +0 -25
  481. package/mcps/davinci-resolve-mcp/docs/reference/resolve_scripting_api.txt +0 -1024
  482. package/mcps/davinci-resolve-mcp/tests/_error_envelope_helpers.py +0 -35
  483. package/mcps/davinci-resolve-mcp/tests/benchmark_server.py +0 -270
  484. package/mcps/davinci-resolve-mcp/tests/create_test_timeline.py +0 -177
  485. package/mcps/davinci-resolve-mcp/tests/live_api_gap_verification.py +0 -274
  486. package/mcps/davinci-resolve-mcp/tests/live_audio_fairlight_validation.py +0 -77
  487. package/mcps/davinci-resolve-mcp/tests/live_auto_sync_settings_check.py +0 -76
  488. package/mcps/davinci-resolve-mcp/tests/live_color_grade_validation.py +0 -89
  489. package/mcps/davinci-resolve-mcp/tests/live_delete_governance_check.py +0 -71
  490. package/mcps/davinci-resolve-mcp/tests/live_duplicate_clips_validation.py +0 -831
  491. package/mcps/davinci-resolve-mcp/tests/live_edit_engine_validation.py +0 -277
  492. package/mcps/davinci-resolve-mcp/tests/live_enum_settings_check.py +0 -89
  493. package/mcps/davinci-resolve-mcp/tests/live_extension_authoring_validation.py +0 -77
  494. package/mcps/davinci-resolve-mcp/tests/live_fuse_diagnose.py +0 -230
  495. package/mcps/davinci-resolve-mcp/tests/live_fuse_smoke.py +0 -250
  496. package/mcps/davinci-resolve-mcp/tests/live_fusion_composition_validation.py +0 -82
  497. package/mcps/davinci-resolve-mcp/tests/live_fusion_keyframe_validation.py +0 -116
  498. package/mcps/davinci-resolve-mcp/tests/live_fusion_mask_title_validation.py +0 -286
  499. package/mcps/davinci-resolve-mcp/tests/live_marker_validation.py +0 -439
  500. package/mcps/davinci-resolve-mcp/tests/live_media_pool_ingest_validation.py +0 -98
  501. package/mcps/davinci-resolve-mcp/tests/live_metadata_field_inventory_validation.py +0 -379
  502. package/mcps/davinci-resolve-mcp/tests/live_metadata_publish_validation.py +0 -192
  503. package/mcps/davinci-resolve-mcp/tests/live_multicam_setup_validation.py +0 -198
  504. package/mcps/davinci-resolve-mcp/tests/live_path_probe.py +0 -119
  505. package/mcps/davinci-resolve-mcp/tests/live_project_lifecycle_validation.py +0 -77
  506. package/mcps/davinci-resolve-mcp/tests/live_render_deliver_validation.py +0 -82
  507. package/mcps/davinci-resolve-mcp/tests/live_review_annotation_validation.py +0 -91
  508. package/mcps/davinci-resolve-mcp/tests/live_script_smoke.py +0 -141
  509. package/mcps/davinci-resolve-mcp/tests/live_sync_event_validation.py +0 -165
  510. package/mcps/davinci-resolve-mcp/tests/live_timeline_conform_validation.py +0 -77
  511. package/mcps/davinci-resolve-mcp/tests/live_v233_validation.py +0 -282
  512. package/mcps/davinci-resolve-mcp/tests/test-after-restart.bat +0 -83
  513. package/mcps/davinci-resolve-mcp/tests/test-after-restart.sh +0 -87
  514. package/mcps/davinci-resolve-mcp/tests/test_action_help.py +0 -47
  515. package/mcps/davinci-resolve-mcp/tests/test_action_list_drift.py +0 -163
  516. package/mcps/davinci-resolve-mcp/tests/test_ai_console_dispatch.py +0 -91
  517. package/mcps/davinci-resolve-mcp/tests/test_analysis_caps.py +0 -210
  518. package/mcps/davinci-resolve-mcp/tests/test_analysis_runs.py +0 -157
  519. package/mcps/davinci-resolve-mcp/tests/test_analysis_store.py +0 -366
  520. package/mcps/davinci-resolve-mcp/tests/test_api_limitations_doc.py +0 -56
  521. package/mcps/davinci-resolve-mcp/tests/test_api_truth.py +0 -64
  522. package/mcps/davinci-resolve-mcp/tests/test_api_truth_mitigations.py +0 -45
  523. package/mcps/davinci-resolve-mcp/tests/test_append_clip_infos_result_handling.py +0 -679
  524. package/mcps/davinci-resolve-mcp/tests/test_audio_fairlight_probe.py +0 -216
  525. package/mcps/davinci-resolve-mcp/tests/test_auto_run.py +0 -76
  526. package/mcps/davinci-resolve-mcp/tests/test_auto_sync_audio.py +0 -171
  527. package/mcps/davinci-resolve-mcp/tests/test_batch_cli.py +0 -253
  528. package/mcps/davinci-resolve-mcp/tests/test_brain_edits.py +0 -218
  529. package/mcps/davinci-resolve-mcp/tests/test_bridge_metrics.py +0 -52
  530. package/mcps/davinci-resolve-mcp/tests/test_bulk_match_to_hero.py +0 -219
  531. package/mcps/davinci-resolve-mcp/tests/test_caps_events_and_history.py +0 -147
  532. package/mcps/davinci-resolve-mcp/tests/test_caps_integration.py +0 -315
  533. package/mcps/davinci-resolve-mcp/tests/test_cdl_and_install_config.py +0 -372
  534. package/mcps/davinci-resolve-mcp/tests/test_clip_query.py +0 -57
  535. package/mcps/davinci-resolve-mcp/tests/test_cloud_settings.py +0 -62
  536. package/mcps/davinci-resolve-mcp/tests/test_color_grade_probe.py +0 -230
  537. package/mcps/davinci-resolve-mcp/tests/test_confirm_token.py +0 -85
  538. package/mcps/davinci-resolve-mcp/tests/test_confirm_token_preferences.py +0 -22
  539. package/mcps/davinci-resolve-mcp/tests/test_contracts.py +0 -81
  540. package/mcps/davinci-resolve-mcp/tests/test_create_subtitles_settings.py +0 -111
  541. package/mcps/davinci-resolve-mcp/tests/test_custom_timeline.py +0 -137
  542. package/mcps/davinci-resolve-mcp/tests/test_cut_executor.py +0 -87
  543. package/mcps/davinci-resolve-mcp/tests/test_cut_ir.py +0 -82
  544. package/mcps/davinci-resolve-mcp/tests/test_dashboard_transport.py +0 -47
  545. package/mcps/davinci-resolve-mcp/tests/test_deep_vision.py +0 -311
  546. package/mcps/davinci-resolve-mcp/tests/test_description_xml_shape.py +0 -71
  547. package/mcps/davinci-resolve-mcp/tests/test_destructive_decorator_coverage.py +0 -92
  548. package/mcps/davinci-resolve-mcp/tests/test_destructive_hook.py +0 -245
  549. package/mcps/davinci-resolve-mcp/tests/test_destructive_registry_drift.py +0 -108
  550. package/mcps/davinci-resolve-mcp/tests/test_edit_engine.py +0 -574
  551. package/mcps/davinci-resolve-mcp/tests/test_embeddings.py +0 -302
  552. package/mcps/davinci-resolve-mcp/tests/test_entities.py +0 -225
  553. package/mcps/davinci-resolve-mcp/tests/test_error_envelope.py +0 -179
  554. package/mcps/davinci-resolve-mcp/tests/test_exhaustive_wave_a.py +0 -101
  555. package/mcps/davinci-resolve-mcp/tests/test_extension_authoring_probe.py +0 -77
  556. package/mcps/davinci-resolve-mcp/tests/test_extract_frames.py +0 -42
  557. package/mcps/davinci-resolve-mcp/tests/test_extract_source_frame_ranges.py +0 -129
  558. package/mcps/davinci-resolve-mcp/tests/test_failure_tracker.py +0 -103
  559. package/mcps/davinci-resolve-mcp/tests/test_fuse_dctl_authoring.py +0 -596
  560. package/mcps/davinci-resolve-mcp/tests/test_fusion_comp_targeting.py +0 -269
  561. package/mcps/davinci-resolve-mcp/tests/test_fusion_composition_probe.py +0 -156
  562. package/mcps/davinci-resolve-mcp/tests/test_fusion_group_settings.py +0 -284
  563. package/mcps/davinci-resolve-mcp/tests/test_fusion_mask_title.py +0 -205
  564. package/mcps/davinci-resolve-mcp/tests/test_fusion_node_ops.py +0 -212
  565. package/mcps/davinci-resolve-mcp/tests/test_governance_identity.py +0 -155
  566. package/mcps/davinci-resolve-mcp/tests/test_grade_evidence_base.py +0 -132
  567. package/mcps/davinci-resolve-mcp/tests/test_import.py +0 -153
  568. package/mcps/davinci-resolve-mcp/tests/test_improvements.py +0 -334
  569. package/mcps/davinci-resolve-mcp/tests/test_inventory_exclude_bins.py +0 -139
  570. package/mcps/davinci-resolve-mcp/tests/test_live_api.py +0 -315
  571. package/mcps/davinci-resolve-mcp/tests/test_marker_params.py +0 -234
  572. package/mcps/davinci-resolve-mcp/tests/test_mcp_prompts.py +0 -77
  573. package/mcps/davinci-resolve-mcp/tests/test_mcp_resources.py +0 -117
  574. package/mcps/davinci-resolve-mcp/tests/test_mcp_transport.py +0 -74
  575. package/mcps/davinci-resolve-mcp/tests/test_media_analysis.py +0 -4637
  576. package/mcps/davinci-resolve-mcp/tests/test_media_pool_append_verification.py +0 -153
  577. package/mcps/davinci-resolve-mcp/tests/test_media_pool_changes.py +0 -105
  578. package/mcps/davinci-resolve-mcp/tests/test_media_pool_delete_governance.py +0 -69
  579. package/mcps/davinci-resolve-mcp/tests/test_media_pool_ingest_probe.py +0 -546
  580. package/mcps/davinci-resolve-mcp/tests/test_media_pool_walk.py +0 -79
  581. package/mcps/davinci-resolve-mcp/tests/test_multicam_setup.py +0 -178
  582. package/mcps/davinci-resolve-mcp/tests/test_object_inspection.py +0 -140
  583. package/mcps/davinci-resolve-mcp/tests/test_open_control_panel.py +0 -172
  584. package/mcps/davinci-resolve-mcp/tests/test_p1_param_validation.py +0 -57
  585. package/mcps/davinci-resolve-mcp/tests/test_p1_whitelist_and_delete.py +0 -81
  586. package/mcps/davinci-resolve-mcp/tests/test_page_lock.py +0 -52
  587. package/mcps/davinci-resolve-mcp/tests/test_panel_docs_drift.py +0 -77
  588. package/mcps/davinci-resolve-mcp/tests/test_partial_success_manifest.py +0 -113
  589. package/mcps/davinci-resolve-mcp/tests/test_persistence_safety.py +0 -147
  590. package/mcps/davinci-resolve-mcp/tests/test_prefer_handle.py +0 -89
  591. package/mcps/davinci-resolve-mcp/tests/test_project_cleanup.py +0 -111
  592. package/mcps/davinci-resolve-mcp/tests/test_project_lifecycle_probe.py +0 -256
  593. package/mcps/davinci-resolve-mcp/tests/test_project_lint.py +0 -79
  594. package/mcps/davinci-resolve-mcp/tests/test_project_spec.py +0 -246
  595. package/mcps/davinci-resolve-mcp/tests/test_propose_grade.py +0 -116
  596. package/mcps/davinci-resolve-mcp/tests/test_provenance.py +0 -88
  597. package/mcps/davinci-resolve-mcp/tests/test_readback.py +0 -77
  598. package/mcps/davinci-resolve-mcp/tests/test_readwrite_audit.py +0 -43
  599. package/mcps/davinci-resolve-mcp/tests/test_reel_name_writeback.py +0 -149
  600. package/mcps/davinci-resolve-mcp/tests/test_render_deliver_probe.py +0 -250
  601. package/mcps/davinci-resolve-mcp/tests/test_resolve20_api.py +0 -282
  602. package/mcps/davinci-resolve-mcp/tests/test_resolve21_actions.py +0 -386
  603. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_governance.py +0 -92
  604. package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_ledger.py +0 -89
  605. package/mcps/davinci-resolve-mcp/tests/test_resolve_busy.py +0 -134
  606. package/mcps/davinci-resolve-mcp/tests/test_review_annotation_probe.py +0 -162
  607. package/mcps/davinci-resolve-mcp/tests/test_sampling_modes.py +0 -293
  608. package/mcps/davinci-resolve-mcp/tests/test_script_plugin.py +0 -750
  609. package/mcps/davinci-resolve-mcp/tests/test_shot_relationships.py +0 -254
  610. package/mcps/davinci-resolve-mcp/tests/test_spec_lint_wiring.py +0 -311
  611. package/mcps/davinci-resolve-mcp/tests/test_static_undefined_names.py +0 -45
  612. package/mcps/davinci-resolve-mcp/tests/test_structural_diff.py +0 -67
  613. package/mcps/davinci-resolve-mcp/tests/test_sync_detection.py +0 -213
  614. package/mcps/davinci-resolve-mcp/tests/test_thumbnail_image.py +0 -55
  615. package/mcps/davinci-resolve-mcp/tests/test_timeline_brain_db.py +0 -230
  616. package/mcps/davinci-resolve-mcp/tests/test_timeline_conform_probe.py +0 -229
  617. package/mcps/davinci-resolve-mcp/tests/test_timeline_editorial_helpers.py +0 -88
  618. package/mcps/davinci-resolve-mcp/tests/test_timeline_export_enum.py +0 -59
  619. package/mcps/davinci-resolve-mcp/tests/test_timeline_kernel_probe.py +0 -70
  620. package/mcps/davinci-resolve-mcp/tests/test_timeline_title_text_utils.py +0 -64
  621. package/mcps/davinci-resolve-mcp/tests/test_timeline_versioning.py +0 -419
  622. package/mcps/davinci-resolve-mcp/tests/test_tool_choice_hint.py +0 -42
  623. package/mcps/davinci-resolve-mcp/tests/test_tool_exposure.py +0 -159
  624. package/mcps/davinci-resolve-mcp/tests/test_tool_registration.py +0 -91
  625. package/mcps/davinci-resolve-mcp/tests/test_transcript_read.py +0 -74
  626. package/mcps/davinci-resolve-mcp/tests/test_update_check.py +0 -171
  627. package/mcps/davinci-resolve-mcp/tests/test_update_hardening.py +0 -171
  628. package/mcps/davinci-resolve-mcp/tests/test_update_history.py +0 -116
  629. package/mcps/davinci-resolve-mcp/tests/test_v232_helpers.py +0 -265
  630. package/mcps/davinci-resolve-mcp/tests/test_v233_helpers.py +0 -307
  631. package/mcps/davinci-resolve-mcp/tests/test_validation_guards.py +0 -108
  632. package/mcps/davinci-resolve-mcp/tests/test_verification_stats.py +0 -32
  633. package/mcps/davinci-resolve-mcp/tests/test_waveb_p2_p3.py +0 -65
  634. package/mcps/golem-rhino-mcp/Nexus-AI-Agents.png +0 -0
  635. package/mcps/golem-rhino-mcp/docs/ARCHITECTURE.md +0 -277
  636. package/mcps/golem-rhino-mcp/docs/PROTOCOL.md +0 -247
  637. package/mcps/golem-rhino-mcp/docs/TOOL_REFERENCE.md +0 -1571
  638. package/mcps/golem-rhino-mcp/docs/TROUBLESHOOTING.md +0 -396
  639. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-20 at 18.33.06.png +0 -0
  640. package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-21 at 1.43.01.png +0 -0
  641. package/mcps/golem-rhino-mcp/nexus-pngs/CAIO.png +0 -0
  642. package/mcps/golem-rhino-mcp/nexus-pngs/CEO.png +0 -0
  643. package/mcps/golem-rhino-mcp/nexus-pngs/CFO.png +0 -0
  644. package/mcps/golem-rhino-mcp/nexus-pngs/CHRO.png +0 -0
  645. package/mcps/golem-rhino-mcp/nexus-pngs/CISO.png +0 -0
  646. package/mcps/golem-rhino-mcp/nexus-pngs/CLO.png +0 -0
  647. package/mcps/golem-rhino-mcp/nexus-pngs/CMO.png +0 -0
  648. package/mcps/golem-rhino-mcp/nexus-pngs/COO.png +0 -0
  649. package/mcps/golem-rhino-mcp/nexus-pngs/CPO.png +0 -0
  650. package/mcps/golem-rhino-mcp/nexus-pngs/CRO.png +0 -0
  651. package/mcps/golem-rhino-mcp/nexus-pngs/CTO.png +0 -0
  652. package/mcps/golem-rhino-mcp/nexus-pngs/king-hippo.png +0 -0
  653. package/mcps/golem-rhino-mcp/nexus-pngs/tier-0-csuite.png +0 -0
  654. package/mcps/golem-rhino-mcp/screenshots/city_monument.png +0 -0
  655. package/mcps/golem-rhino-mcp/screenshots/city_skyline.png +0 -0
  656. package/mcps/golem-rhino-mcp/screenshots/city_street.png +0 -0
  657. package/mcps/golem-rhino-mcp/screenshots/city_wide.png +0 -0
  658. package/mcps/golem-rhino-mcp/tests/__init__.py +0 -0
  659. package/mcps/golem-rhino-mcp/tests/conftest.py +0 -150
  660. package/mcps/golem-rhino-mcp/tests/test_connection.py +0 -543
  661. package/mcps/golem-rhino-mcp/tests/test_integration.py +0 -344
  662. package/mcps/golem-rhino-mcp/tests/test_models.py +0 -749
  663. package/mcps/golem-rhino-mcp/tests/test_protocol.py +0 -334
  664. package/mcps/golem-rhino-mcp/tests/test_tools_mock.py +0 -689
  665. package/mcps/tdmcp/.github/social-preview.png +0 -0
  666. package/mcps/tdmcp/docs/.vitepress/config.ts +0 -397
  667. package/mcps/tdmcp/docs/AI_PARTY_LLM_TRAINING_PLAN.md +0 -118
  668. package/mcps/tdmcp/docs/AI_PARTY_POC.md +0 -142
  669. package/mcps/tdmcp/docs/AI_PARTY_POC_PLAN.md +0 -112
  670. package/mcps/tdmcp/docs/CREATIVE_RAG.md +0 -346
  671. package/mcps/tdmcp/docs/DEPLOYMENT.md +0 -113
  672. package/mcps/tdmcp/docs/PROJECT_RAG.md +0 -477
  673. package/mcps/tdmcp/docs/ROADMAP.md +0 -1346
  674. package/mcps/tdmcp/docs/guide/ai-controlled-party.md +0 -215
  675. package/mcps/tdmcp/docs/guide/body-tracking.md +0 -169
  676. package/mcps/tdmcp/docs/guide/codex.md +0 -107
  677. package/mcps/tdmcp/docs/guide/components.md +0 -126
  678. package/mcps/tdmcp/docs/guide/dashboard-foh.md +0 -93
  679. package/mcps/tdmcp/docs/guide/faq.md +0 -62
  680. package/mcps/tdmcp/docs/guide/first-visual.md +0 -76
  681. package/mcps/tdmcp/docs/guide/generators.md +0 -230
  682. package/mcps/tdmcp/docs/guide/glossary.md +0 -123
  683. package/mcps/tdmcp/docs/guide/install.md +0 -200
  684. package/mcps/tdmcp/docs/guide/local-copilot.md +0 -154
  685. package/mcps/tdmcp/docs/guide/lops-integration.md +0 -133
  686. package/mcps/tdmcp/docs/guide/mcp-resources.md +0 -96
  687. package/mcps/tdmcp/docs/guide/mediapipe-adapters.md +0 -90
  688. package/mcps/tdmcp/docs/guide/physical-installations.md +0 -129
  689. package/mcps/tdmcp/docs/guide/prompt-cookbook.md +0 -2285
  690. package/mcps/tdmcp/docs/guide/recipes.md +0 -72
  691. package/mcps/tdmcp/docs/guide/session-profile.md +0 -90
  692. package/mcps/tdmcp/docs/guide/shader-park.md +0 -94
  693. package/mcps/tdmcp/docs/guide/show-timelines.md +0 -125
  694. package/mcps/tdmcp/docs/guide/troubleshooting.md +0 -121
  695. package/mcps/tdmcp/docs/guide/what-is-tdmcp.md +0 -62
  696. package/mcps/tdmcp/docs/index.md +0 -49
  697. package/mcps/tdmcp/docs/privacy.md +0 -85
  698. package/mcps/tdmcp/docs/pt/CREATIVE_RAG.md +0 -370
  699. package/mcps/tdmcp/docs/pt/PROJECT_RAG.md +0 -420
  700. package/mcps/tdmcp/docs/pt/guide/ai-controlled-party.md +0 -218
  701. package/mcps/tdmcp/docs/pt/guide/body-tracking.md +0 -175
  702. package/mcps/tdmcp/docs/pt/guide/codex.md +0 -113
  703. package/mcps/tdmcp/docs/pt/guide/components.md +0 -129
  704. package/mcps/tdmcp/docs/pt/guide/dashboard-foh.md +0 -95
  705. package/mcps/tdmcp/docs/pt/guide/faq.md +0 -62
  706. package/mcps/tdmcp/docs/pt/guide/first-visual.md +0 -81
  707. package/mcps/tdmcp/docs/pt/guide/generators.md +0 -243
  708. package/mcps/tdmcp/docs/pt/guide/glossary.md +0 -127
  709. package/mcps/tdmcp/docs/pt/guide/install.md +0 -196
  710. package/mcps/tdmcp/docs/pt/guide/local-copilot.md +0 -164
  711. package/mcps/tdmcp/docs/pt/guide/lops-integration.md +0 -143
  712. package/mcps/tdmcp/docs/pt/guide/mcp-resources.md +0 -96
  713. package/mcps/tdmcp/docs/pt/guide/mediapipe-adapters.md +0 -93
  714. package/mcps/tdmcp/docs/pt/guide/physical-installations.md +0 -135
  715. package/mcps/tdmcp/docs/pt/guide/prompt-cookbook.md +0 -2342
  716. package/mcps/tdmcp/docs/pt/guide/recipes.md +0 -59
  717. package/mcps/tdmcp/docs/pt/guide/session-profile.md +0 -92
  718. package/mcps/tdmcp/docs/pt/guide/shader-park.md +0 -95
  719. package/mcps/tdmcp/docs/pt/guide/show-timelines.md +0 -128
  720. package/mcps/tdmcp/docs/pt/guide/troubleshooting.md +0 -109
  721. package/mcps/tdmcp/docs/pt/guide/what-is-tdmcp.md +0 -61
  722. package/mcps/tdmcp/docs/pt/index.md +0 -49
  723. package/mcps/tdmcp/docs/pt/privacy.md +0 -91
  724. package/mcps/tdmcp/docs/pt/reference/architecture.md +0 -178
  725. package/mcps/tdmcp/docs/pt/reference/environment.md +0 -70
  726. package/mcps/tdmcp/docs/public/favicon.svg +0 -12
  727. package/mcps/tdmcp/docs/public/logo-400.png +0 -0
  728. package/mcps/tdmcp/docs/public/og-image.jpg +0 -0
  729. package/mcps/tdmcp/docs/public/robots.txt +0 -4
  730. package/mcps/tdmcp/docs/reference/API_STABILITY.md +0 -116
  731. package/mcps/tdmcp/docs/reference/architecture.md +0 -191
  732. package/mcps/tdmcp/docs/reference/bridge-api.md +0 -155
  733. package/mcps/tdmcp/docs/reference/cli.md +0 -288
  734. package/mcps/tdmcp/docs/reference/coverage-harness.md +0 -61
  735. package/mcps/tdmcp/docs/reference/environment.md +0 -116
  736. package/mcps/tdmcp/docs/reference/packages.md +0 -98
  737. package/mcps/tdmcp/docs/reference/tool-contract.md +0 -74
  738. package/mcps/tdmcp/docs/superpowers/plans/2026-05-29-shader-park-animus-integrations.md +0 -76
  739. package/mcps/tdmcp/docs/superpowers/plans/2026-06-02-doctor-fix-textport-auto-install.md +0 -131
  740. package/mcps/tdmcp/docs/superpowers/plans/2026-06-06-body-bubbles.md +0 -138
  741. package/mcps/tdmcp/docs/superpowers/plans/2026-06-08-deep-doppelganger-implementation.md +0 -201
  742. package/mcps/tdmcp/docs/superpowers/plans/2026-06-10-ai-party-ollama-integration.md +0 -55
  743. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-calibration-wizard.md +0 -53
  744. package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-external-kinect.md +0 -286
  745. package/mcps/tdmcp/docs/superpowers/specs/2026-05-31-create-vector-lines-design.md +0 -308
  746. package/mcps/tdmcp/docs/superpowers/specs/2026-06-01-ai-controlled-party-plan.md +0 -461
  747. package/mcps/tdmcp/docs/superpowers/specs/2026-06-04-ai-party-ui24r-scene-arming-design.md +0 -296
  748. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-ai-controlled-party-producer-poc.md +0 -232
  749. package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-deep-doppelganger-design.md +0 -136
  750. package/mcps/tdmcp/docs/superpowers/specs/2026-06-10-hermes-ai-party-poc.md +0 -383
  751. package/mcps/tdmcp/docs/superpowers/specs/2026-06-23-kinect-wall-harp-design.md +0 -340
  752. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-environment-diagnostic-design.md +0 -151
  753. package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-wall-harp-external-kinect-design.md +0 -104
  754. package/mcps/tdmcp/training/showintent/data/curated/.gitkeep +0 -1
  755. package/mcps/tdmcp/training/showintent/data/curated/curated-approved.jsonl +0 -1
  756. package/mcps/tdmcp/training/showintent/data/curation_template.csv +0 -1
  757. package/mcps/tdmcp/training/showintent/data/generated/.gitkeep +0 -1
  758. package/mcps/tdmcp/training/showintent/data/generated/showintent-synthetic.jsonl +0 -2000
  759. package/mcps/tdmcp/training/showintent/data/raw/.gitkeep +0 -1
  760. package/mcps/tdmcp/training/showintent/data/splits/.gitkeep +0 -1
  761. package/mcps/tdmcp/training/showintent/data/splits/train-compact.jsonl +0 -1800
  762. package/mcps/tdmcp/training/showintent/data/splits/train.jsonl +0 -1800
  763. package/mcps/tdmcp/training/showintent/data/splits/validation-compact.jsonl +0 -200
  764. package/mcps/tdmcp/training/showintent/data/splits/validation.jsonl +0 -200
  765. package/mcps/touchdesigner-mcp/assets/import.png +0 -0
  766. package/mcps/touchdesigner-mcp/assets/nodes_list.png +0 -0
  767. package/mcps/touchdesigner-mcp/assets/particle_on_youtube.png +0 -0
  768. package/mcps/touchdesigner-mcp/assets/textport.png +0 -0
  769. package/mcps/touchdesigner-mcp/assets/tutorial.png +0 -0
  770. package/mcps/touchdesigner-mcp/assets/tutorial_docker.png +0 -0
  771. package/mcps/touchdesigner-mcp/docs/architecture.md +0 -1245
  772. package/mcps/touchdesigner-mcp/docs/development.ja.md +0 -197
  773. package/mcps/touchdesigner-mcp/docs/development.md +0 -212
  774. package/mcps/touchdesigner-mcp/docs/installation.ja.md +0 -370
  775. package/mcps/touchdesigner-mcp/docs/installation.md +0 -406
  776. package/mcps/unreal_mcp/Public/icon.png +0 -0
  777. package/mcps/unreal_mcp/docs/Engine-API-Reference.md +0 -2251
  778. package/mcps/unreal_mcp/docs/Roadmap.md +0 -2269
  779. package/mcps/unreal_mcp/docs/editor-plugin-extension.md +0 -373
  780. package/mcps/unreal_mcp/docs/handler-mapping.md +0 -1170
  781. package/mcps/unreal_mcp/docs/native-automation-progress.md +0 -431
  782. package/mcps/unreal_mcp/docs/testing-guide.md +0 -149
  783. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Domains/Test/McpAutomationBridge_TestHandlers.cpp +0 -74
  784. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpCustomHandlerAliasTests.cpp +0 -191
  785. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpEnvironmentSnapshotSchemaTests.cpp +0 -192
  786. package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpPropertyReflectionImportTests.cpp +0 -269
  787. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpClientProtocolAutomation.cpp +0 -152
  788. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.cpp +0 -136
  789. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.h +0 -49
  790. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTestDelegates.h +0 -12
  791. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTests.cpp +0 -34
  792. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.cpp +0 -116
  793. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.h +0 -15
  794. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentFakeAcpScript.cpp +0 -76
  795. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomation.h +0 -35
  796. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomationFixture.cpp +0 -118
  797. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelHistoryChecks.cpp +0 -162
  798. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelLayoutChecks.cpp +0 -158
  799. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelTranscriptChecks.cpp +0 -117
  800. package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentStudioKitAutomationChecks.cpp +0 -155
  801. package/mcps/unreal_mcp/tests/AGENTS.md +0 -73
  802. package/mcps/unreal_mcp/tests/expectation-utils.mjs +0 -29
  803. package/mcps/unreal_mcp/tests/heartbeat-progress.test.mjs +0 -143
  804. package/mcps/unreal_mcp/tests/integration/get_ai_info_characterization.mjs +0 -216
  805. package/mcps/unreal_mcp/tests/integration.mjs +0 -94
  806. package/mcps/unreal_mcp/tests/mcp-tools/core/control-actor.test.mjs +0 -114
  807. package/mcps/unreal_mcp/tests/mcp-tools/core/control-editor.test.mjs +0 -86
  808. package/mcps/unreal_mcp/tests/mcp-tools/core/inspect.test.mjs +0 -85
  809. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-asset.test.mjs +0 -302
  810. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-blueprint.test.mjs +0 -331
  811. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-level.test.mjs +0 -73
  812. package/mcps/unreal_mcp/tests/mcp-tools/core/manage-tools.test.mjs +0 -30
  813. package/mcps/unreal_mcp/tests/mcp-tools/core/system-control.test.mjs +0 -205
  814. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/animation-physics.test.mjs +0 -277
  815. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-ai.test.mjs +0 -299
  816. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-character.test.mjs +0 -85
  817. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-combat.test.mjs +0 -106
  818. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-effect.test.mjs +0 -108
  819. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-gas.test.mjs +0 -96
  820. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-interaction.test.mjs +0 -122
  821. package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-inventory.test.mjs +0 -146
  822. package/mcps/unreal_mcp/tests/mcp-tools/utility/behavior-tree-get-tree.test.mjs +0 -233
  823. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-audio.test.mjs +0 -160
  824. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-behavior-tree.test.mjs +0 -223
  825. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-networking.test.mjs +0 -635
  826. package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-sequence.test.mjs +0 -95
  827. package/mcps/unreal_mcp/tests/mcp-tools/world/build-environment.test.mjs +0 -282
  828. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-geometry.test.mjs +0 -130
  829. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-level-structure.test.mjs +0 -149
  830. package/mcps/unreal_mcp/tests/mcp-tools/world/manage-pcg.test.mjs +0 -471
  831. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering-cases.cjs +0 -775
  832. package/mcps/unreal_mcp/tests/mcp-tools/world/rendering.test.mjs +0 -15
  833. package/mcps/unreal_mcp/tests/native-mcp-parity-audit.mjs +0 -260
  834. package/mcps/unreal_mcp/tests/native-mcp-source-parser.mjs +0 -229
  835. package/mcps/unreal_mcp/tests/native-mcp-typescript-parity-parser.mjs +0 -121
  836. package/mcps/unreal_mcp/tests/parameter-audit-cli.mjs +0 -23
  837. package/mcps/unreal_mcp/tests/parameter-audit-context.mjs +0 -14
  838. package/mcps/unreal_mcp/tests/parameter-audit-coverage.mjs +0 -164
  839. package/mcps/unreal_mcp/tests/parameter-audit-schema.mjs +0 -190
  840. package/mcps/unreal_mcp/tests/parameter-audit-suites.mjs +0 -218
  841. package/mcps/unreal_mcp/tests/parameter-combination-audit.mjs +0 -37
  842. package/mcps/unreal_mcp/tests/test-runner-response-utils.mjs +0 -132
  843. package/mcps/unreal_mcp/tests/test-runner.mjs +0 -1798
  844. package/mcps/unreal_mcp/tests/unit/automation/bridge_host_validation.test.ts +0 -165
  845. package/mcps/unreal_mcp/tests/unit/config.test.ts +0 -205
  846. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_audit.test.ts +0 -281
  847. package/mcps/unreal_mcp/tests/unit/native_mcp_parity_comment_filtering.test.ts +0 -175
  848. package/mcps/unreal_mcp/tests/unit/parameter_audit_schema.test.ts +0 -273
  849. package/mcps/unreal_mcp/tests/unit/plugin/automation_event_stream_contracts.test.ts +0 -195
  850. package/mcps/unreal_mcp/tests/unit/plugin/environment_asset_name_contracts.test.ts +0 -115
  851. package/mcps/unreal_mcp/tests/unit/plugin/environment_build_adapter_contracts.test.ts +0 -377
  852. package/mcps/unreal_mcp/tests/unit/plugin/environment_snapshot_path_contracts.test.ts +0 -122
  853. package/mcps/unreal_mcp/tests/unit/plugin/handler_routing_contracts.test.ts +0 -120
  854. package/mcps/unreal_mcp/tests/unit/plugin/level_lighting_contracts.test.ts +0 -125
  855. package/mcps/unreal_mcp/tests/unit/plugin/plugin_manifest_contracts.test.ts +0 -154
  856. package/mcps/unreal_mcp/tests/unit/plugin/plugin_packaging_contracts.test.ts +0 -124
  857. package/mcps/unreal_mcp/tests/unit/plugin/runtime_behavior_contracts.test.ts +0 -372
  858. package/mcps/unreal_mcp/tests/unit/plugin/security_contracts.test.ts +0 -81
  859. package/mcps/unreal_mcp/tests/unit/plugin/source_structure.test.ts +0 -101
  860. package/mcps/unreal_mcp/tests/unit/plugin/source_structure_contracts.test.ts +0 -103
  861. package/mcps/unreal_mcp/tests/unit/plugin/websocket_origin_contracts.test.ts +0 -25
  862. package/mcps/unreal_mcp/tests/unit/server_shutdown_contracts.test.ts +0 -33
  863. package/mcps/unreal_mcp/tests/unit/source_structure.test.ts +0 -79
  864. package/mcps/unreal_mcp/tests/unit/test_runner.test.ts +0 -342
  865. package/mcps/unreal_mcp/tests/unit/test_runner_response_utils.test.ts +0 -105
  866. package/mcps/unreal_mcp/tests/unit/tools/asset_handlers_security.test.ts +0 -246
  867. package/mcps/unreal_mcp/tests/unit/tools/behavior_tree_get_tree.test.ts +0 -20
  868. package/mcps/unreal_mcp/tests/unit/tools/blueprint_handlers.test.ts +0 -122
  869. package/mcps/unreal_mcp/tests/unit/tools/editor.test.ts +0 -56
  870. package/mcps/unreal_mcp/tests/unit/tools/handler_structure.test.ts +0 -59
  871. package/mcps/unreal_mcp/tests/unit/tools/inspect_handlers.test.ts +0 -231
  872. package/mcps/unreal_mcp/tests/unit/tools/level.test.ts +0 -56
  873. package/mcps/unreal_mcp/tests/unit/tools/level_security.test.ts +0 -45
  874. package/mcps/unreal_mcp/tests/unit/tools/lighting_timeout_propagation.test.ts +0 -123
  875. package/mcps/windows-computer-use-mcp/cua-reports/app-1781542686.png +0 -0
  876. package/mcps/windows-computer-use-mcp/cua-reports/bridge-1781542694.png +0 -0
  877. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442393.png +0 -0
  878. package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442915.png +0 -0
  879. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444105.png +0 -0
  880. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444214.png +0 -0
  881. package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781457035.png +0 -0
  882. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440024.png +0 -0
  883. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440234.png +0 -0
  884. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442383.png +0 -0
  885. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442906.png +0 -0
  886. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444096.png +0 -0
  887. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444209.png +0 -0
  888. package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781457029.png +0 -0
  889. package/mcps/windows-computer-use-mcp/cua-reports/nav/dashboard-1781542713.png +0 -0
  890. package/mcps/windows-computer-use-mcp/cua-reports/nav/help-1781542738.png +0 -0
  891. package/mcps/windows-computer-use-mcp/cua-reports/nav/logging-1781542722.png +0 -0
  892. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781444225.png +0 -0
  893. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781457051.png +0 -0
  894. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781444245.png +0 -0
  895. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781457075.png +0 -0
  896. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781444232.png +0 -0
  897. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781457059.png +0 -0
  898. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781444239.png +0 -0
  899. package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781457067.png +0 -0
  900. package/mcps/windows-computer-use-mcp/cua-reports/nav/settings-1781542730.png +0 -0
  901. package/mcps/windows-computer-use-mcp/cua-reports/nav-dashboard-1781442925.png +0 -0
  902. package/mcps/windows-computer-use-mcp/cua-reports/nav-help-1781442941.png +0 -0
  903. package/mcps/windows-computer-use-mcp/cua-reports/nav-logging-1781442930.png +0 -0
  904. package/mcps/windows-computer-use-mcp/cua-reports/nav-settings-1781442936.png +0 -0
  905. package/mcps/windows-computer-use-mcp/docs/ARCHITECTURE.md +0 -46
  906. package/mcps/windows-computer-use-mcp/docs/ASSESSMENT_BY_CURSOR_2026-06-14_CUA_NSIS.md +0 -383
  907. package/mcps/windows-computer-use-mcp/docs/AUTOMATION_ASSERT_SPEC.md +0 -202
  908. package/mcps/windows-computer-use-mcp/docs/CUA_PARITY.md +0 -39
  909. package/mcps/windows-computer-use-mcp/docs/DEVELOPMENT.md +0 -51
  910. package/mcps/windows-computer-use-mcp/docs/MEMOPS_CUA.md +0 -147
  911. package/mcps/windows-computer-use-mcp/docs/PRD.md +0 -93
  912. package/mcps/windows-computer-use-mcp/docs/README.md +0 -34
  913. package/mcps/windows-computer-use-mcp/docs/ROADMAP.md +0 -142
  914. package/mcps/windows-computer-use-mcp/docs/SAFETY.md +0 -138
  915. package/mcps/windows-computer-use-mcp/docs/TESTING.md +0 -90
  916. package/mcps/windows-computer-use-mcp/docs/TOOLS.md +0 -80
  917. package/mcps/windows-computer-use-mcp/docs/TOOL_DOCSTRING_STANDARD.md +0 -538
  918. package/mcps/windows-computer-use-mcp/docs/_stale/AHK_VS_PYWINAUTO_COMPARISON.md +0 -353
  919. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT.md +0 -54
  920. package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT_2026-06-08.md +0 -309
  921. package/mcps/windows-computer-use-mcp/docs/_stale/COMPLETE_DOCUMENTATION_STRUCTURE.md +0 -5
  922. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ASSISTANT_TODO.md +0 -84
  923. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_PARITY_ROADMAP.md +0 -81
  924. package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ROADMAP.md +0 -306
  925. package/mcps/windows-computer-use-mcp/docs/_stale/DESKTOP_APP.md +0 -125
  926. package/mcps/windows-computer-use-mcp/docs/_stale/DOCUMENTATION_INDEX.md +0 -59
  927. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  928. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_PLATFORM.md +0 -175
  929. package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  930. package/mcps/windows-computer-use-mcp/docs/_stale/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  931. package/mcps/windows-computer-use-mcp/docs/_stale/LLM_REPO_CONTEXT.md +0 -7
  932. package/mcps/windows-computer-use-mcp/docs/_stale/MCP_PRODUCTION_CHECKLIST.md +0 -105
  933. package/mcps/windows-computer-use-mcp/docs/_stale/OFFICE_BACKGROUND_MATRIX.md +0 -19
  934. package/mcps/windows-computer-use-mcp/docs/_stale/OPERATOR_PROTOCOL.md +0 -37
  935. package/mcps/windows-computer-use-mcp/docs/_stale/ORGANIZATION_SUMMARY.md +0 -305
  936. package/mcps/windows-computer-use-mcp/docs/_stale/RENAME-TO-AUTOMATION-MCP.md +0 -191
  937. package/mcps/windows-computer-use-mcp/docs/_stale/STATUS_REPORT.md +0 -288
  938. package/mcps/windows-computer-use-mcp/docs/_stale/TARGETS_PAGE_SKETCH.md +0 -977
  939. package/mcps/windows-computer-use-mcp/docs/_stale/TOOL_DOCSTRING_MIGRATION.md +0 -365
  940. package/mcps/windows-computer-use-mcp/docs/_stale/USAGE_SCENARIOS.md +0 -697
  941. package/mcps/windows-computer-use-mcp/docs/_stale/desktop-state-tool.md +0 -464
  942. package/mcps/windows-computer-use-mcp/docs/_stale/development/README.md +0 -18
  943. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_RULES.md +0 -928
  944. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_TOOLS_COMPARISON.md +0 -364
  945. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/BULLETPROOF_MCP_GUIDE.md +0 -793
  946. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEBUGGING_LESSONS_LEARNED.md +0 -635
  947. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEVELOPMENT_PAIN_POINTS.md +0 -699
  948. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_COMPLETE.md +0 -410
  949. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_GUIDE.md +0 -575
  950. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/LINK_PARSER_FIX.md +0 -769
  951. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/MCP_SYNC_DEBUGGING_GUIDE.md +0 -512
  952. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_DEPENDENCY_HELL_FIX.md +0 -568
  953. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_SNIPPETS_USAGE_GUIDE.md +0 -717
  954. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/README.md +0 -25
  955. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_IMPROVEMENTS_SUMMARY.md +0 -496
  956. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_INTEGRATION.md +0 -381
  957. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYSTEMATIC_PROJECT_UPDATES.md +0 -532
  958. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-prompt-templates-vs-docstrings.md +0 -657
  959. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-docstring-best-practices.md +0 -439
  960. package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-documentation-standards.md +0 -1153
  961. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/CI_CD_GLAMA_OPTIMIZATION_GUIDE.md +0 -850
  962. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
  963. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_OPTIMIZATION_SUMMARY.md +0 -204
  964. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_PLATFORM.md +0 -175
  965. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_RESCAN_GUIDE.md +0 -216
  966. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_GITHUB_APP_SETUP.md +0 -199
  967. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_INTEGRATION.md +0 -181
  968. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_RESCAN_EMAIL.txt +0 -43
  969. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_ACHIEVEMENT.md +0 -197
  970. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_UPDATE_2025_10_08.md +0 -378
  971. package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/README.md +0 -632
  972. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements-fastmcp.txt +0 -8
  973. package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements_minimal.txt +0 -4
  974. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CLAUDE_DESKTOP_DEBUGGING.md +0 -561
  975. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CONTAINERIZATION_GUIDELINES.md +0 -707
  976. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MCP_PRODUCTION_CHECKLIST.md +0 -101
  977. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MONITORING_STACK_DEPLOYMENT.md +0 -532
  978. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/README.md +0 -266
  979. package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/TROUBLESHOOTING_FASTMCP_2.12.md +0 -670
  980. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_BUILDING_GUIDE.md +0 -1921
  981. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_IMPLEMENTATION_SUMMARY.md +0 -387
  982. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/PYPI_PUBLISHING_GUIDE.md +0 -789
  983. package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/README.md +0 -404
  984. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/COMMUNITY_AND_SUPPORT.md +0 -976
  985. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/LANGUAGE_SERVER_PROTOCOL_EXPLAINED.md +0 -416
  986. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/MCP_TOOL_CORRUPTION_ISSUE.md +0 -279
  987. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_ALTERNATIVES.md +0 -308
  988. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COLOR_FIX_2025_10_08.md +0 -187
  989. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COMPLETE_GUIDE.md +0 -1259
  990. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_NUCLEAR_REINSTALL_2025_10_08.md +0 -196
  991. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NPP_WHITE_ON_WHITE_BATTLE_PLAN.md +0 -336
  992. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/PLUGIN_ECOSYSTEM_COMPREHENSIVE.md +0 -887
  993. package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/README.md +0 -472
  994. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BACKUP_AND_RECOVERY_GUIDE.md +0 -455
  995. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_PROTECTION_SETTINGS.md +0 -236
  996. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_STRATEGY_AND_AI_WORKFLOW.md +0 -616
  997. package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/README.md +0 -333
  998. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_COPY_TO_OTHER_REPOS.md +0 -159
  999. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_GUIDE.md +0 -632
  1000. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_INSTALL_AND_TEST.md +0 -569
  1001. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_NEXT_STEPS.md +0 -351
  1002. package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_QUICK_INSTALL.md +0 -195
  1003. package/mcps/windows-computer-use-mcp/docs/_stale/state-tool-implementation.md +0 -498
  1004. package/mcps/windows-computer-use-mcp/docs/composing-with-playwright.md +0 -55
  1005. package/mcps/windows-computer-use-mcp/docs/cua-nsis-certification.md +0 -101
  1006. package/mcps/windows-computer-use-mcp/docs/ocr.md +0 -107
  1007. package/mcps/windows-computer-use-mcp/docs/py-stack.md +0 -47
  1008. package/mcps/windows-computer-use-mcp/native/icons/icon.png +0 -0
  1009. package/mcps/windows-computer-use-mcp/screenshot_demo.png +0 -0
  1010. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_complete_toast.png +0 -0
  1011. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_dialog_title.png +0 -0
  1012. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/file_dialog_path_field.png +0 -0
  1013. package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/sample_tile_female.png +0 -0
  1014. package/mcps/windows-computer-use-mcp/tests/README.md +0 -155
  1015. package/mcps/windows-computer-use-mcp/tests/__init__.py +0 -1
  1016. package/mcps/windows-computer-use-mcp/tests/conftest.py +0 -281
  1017. package/mcps/windows-computer-use-mcp/tests/conftest_env.py +0 -116
  1018. package/mcps/windows-computer-use-mcp/tests/e2e/conftest.py +0 -96
  1019. package/mcps/windows-computer-use-mcp/tests/e2e/test_libreoffice_cua_loop.py +0 -72
  1020. package/mcps/windows-computer-use-mcp/tests/test_app_integration.py +0 -83
  1021. package/mcps/windows-computer-use-mcp/tests/test_app_profiles.py +0 -28
  1022. package/mcps/windows-computer-use-mcp/tests/test_automation_assert.py +0 -185
  1023. package/mcps/windows-computer-use-mcp/tests/test_automation_dialog.py +0 -43
  1024. package/mcps/windows-computer-use-mcp/tests/test_automation_elements.py +0 -138
  1025. package/mcps/windows-computer-use-mcp/tests/test_automation_keyboard.py +0 -57
  1026. package/mcps/windows-computer-use-mcp/tests/test_automation_mouse.py +0 -57
  1027. package/mcps/windows-computer-use-mcp/tests/test_automation_shortcut.py +0 -41
  1028. package/mcps/windows-computer-use-mcp/tests/test_automation_task.py +0 -115
  1029. package/mcps/windows-computer-use-mcp/tests/test_automation_windows.py +0 -105
  1030. package/mcps/windows-computer-use-mcp/tests/test_cameras_api.py +0 -43
  1031. package/mcps/windows-computer-use-mcp/tests/test_cua_parity.py +0 -51
  1032. package/mcps/windows-computer-use-mcp/tests/test_dependency_failures.py +0 -39
  1033. package/mcps/windows-computer-use-mcp/tests/test_desktop_state.py +0 -99
  1034. package/mcps/windows-computer-use-mcp/tests/test_face_recognition.py +0 -238
  1035. package/mcps/windows-computer-use-mcp/tests/test_face_recognition_api.py +0 -161
  1036. package/mcps/windows-computer-use-mcp/tests/test_images/README.md +0 -28
  1037. package/mcps/windows-computer-use-mcp/tests/test_mission.py +0 -42
  1038. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_mock.py +0 -173
  1039. package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_real.py +0 -139
  1040. package/mcps/windows-computer-use-mcp/tests/test_retry.py +0 -26
  1041. package/mcps/windows-computer-use-mcp/tests/test_safety_api.py +0 -24
  1042. package/mcps/windows-computer-use-mcp/tests/test_template_library.py +0 -53
  1043. package/mcps/windows-computer-use-mcp/tests/test_utils.py +0 -185
  1044. package/mcps/windows-computer-use-mcp/web_sota/src-tauri/icons/icon.png +0 -0
  1045. package/skills/global_config/google-sheets-automation/SKILL.md +0 -150
  1046. package/skills/global_config/senior-fullstack/SKILL.md +0 -221
  1047. package/skills/global_config/senior-fullstack/references/architecture_patterns.md +0 -103
  1048. package/skills/global_config/senior-fullstack/references/development_workflows.md +0 -103
  1049. package/skills/global_config/senior-fullstack/references/tech_stack_guide.md +0 -103
  1050. package/skills/global_config/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  1051. package/skills/global_config/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  1052. package/skills/global_config/senior-fullstack/scripts/project_scaffolder.py +0 -114
@@ -1,750 +0,0 @@
1
- """Offline contract tests for the v2.5.0 script_plugin authoring tool.
2
-
3
- Covers:
4
- - Template-generator option validation (positive and negative)
5
- - MCP-tool action dispatch (every documented action, every error path)
6
- - Lua compilation of media_rules and scaffold templates (luac -p)
7
- - Python compilation of media_rules and scaffold templates (compile())
8
- - Filesystem round-trip (install → list → read → remove) on a temp directory
9
- - Per-category install routing (Edit, Color, Deliver, Comp, Tool, Utility, Views)
10
- - Per-language ext routing (.lua vs .py)
11
- - list_templates symmetry
12
- - DSL coverage spot-checks (engine functions are present in generated source)
13
- """
14
-
15
- import os
16
- import subprocess
17
- import sys
18
- import tempfile
19
- import unittest
20
- from unittest.mock import patch
21
-
22
- sys.modules.setdefault('DaVinciResolveScript', type(sys)('DaVinciResolveScript'))
23
-
24
- PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
25
- if PROJECT_ROOT not in sys.path:
26
- sys.path.insert(0, PROJECT_ROOT)
27
-
28
- from src.utils import script_templates # noqa: E402
29
- from src.server import script_plugin # noqa: E402
30
-
31
-
32
- def _luac_path():
33
- for cmd in ('luac', 'luac5.4', 'luac5.3', 'luac5.1'):
34
- try:
35
- subprocess.run([cmd, '-v'], capture_output=True, check=True, timeout=5)
36
- return cmd
37
- except (FileNotFoundError, subprocess.CalledProcessError, subprocess.TimeoutExpired):
38
- continue
39
- return None
40
-
41
-
42
- LUAC = _luac_path()
43
-
44
-
45
- # ─── Template generators ─────────────────────────────────────────────────────
46
-
47
- class TestScriptTemplateGenerators(unittest.TestCase):
48
-
49
- def test_registry_has_2_kinds(self):
50
- self.assertEqual(set(script_templates.TEMPLATES.keys()),
51
- {"scaffold", "media_rules"})
52
-
53
- def test_scaffold_lua(self):
54
- src = script_templates.scaffold("X", {"language": "lua"})
55
- self.assertIn("@mcp-script", src)
56
- self.assertIn("Resolve()", src)
57
- self.assertIn("function main()", src)
58
-
59
- def test_scaffold_python(self):
60
- src = script_templates.scaffold("X", {"language": "py"})
61
- self.assertIn("@mcp-script", src)
62
- self.assertIn("dvr_script.scriptapp", src)
63
- self.assertIn("def main()", src)
64
-
65
- def test_scaffold_rejects_unknown_language(self):
66
- with self.assertRaises(ValueError):
67
- script_templates.scaffold("X", {"language": "ruby"})
68
-
69
- def test_media_rules_lua_includes_engine(self):
70
- src = script_templates.media_rules("X", {"language": "lua"})
71
- self.assertIn("VARIABLES = {", src)
72
- self.assertIn("RULES = {", src)
73
- self.assertIn("function run_engine", src)
74
- # Engine elements
75
- self.assertIn("DRY_RUN", src)
76
- self.assertIn("EXTERNAL_DATA", src)
77
- self.assertIn("LOG_LEVEL", src)
78
- self.assertIn("DATE_PATTERN", src)
79
- self.assertIn("REEL_PATTERN", src)
80
- self.assertIn("SCENE_PATTERN", src)
81
-
82
- def test_media_rules_py_includes_engine(self):
83
- src = script_templates.media_rules("X", {"language": "py"})
84
- self.assertIn("VARIABLES = {", src)
85
- self.assertIn("RULES = [", src)
86
- self.assertIn("def run_engine", src)
87
- self.assertIn("DRY_RUN", src)
88
- self.assertIn("EXTERNAL_DATA", src)
89
- self.assertIn("LOG_LEVEL", src)
90
- self.assertIn("DATE_PATTERN", src)
91
-
92
- def test_media_rules_rejects_unknown_language(self):
93
- with self.assertRaises(ValueError):
94
- script_templates.media_rules("X", {"language": "ruby"})
95
-
96
- def test_media_rules_dry_run_flag(self):
97
- # Lua
98
- src = script_templates.media_rules("X", {"language": "lua", "dry_run": True})
99
- self.assertIn("local DRY_RUN = true", src)
100
- # Python
101
- src = script_templates.media_rules("X", {"language": "py", "dry_run": True})
102
- self.assertIn("DRY_RUN = True", src)
103
-
104
-
105
- # ─── DSL coverage ─────────────────────────────────────────────────────────────
106
-
107
- class TestDSLCoverage(unittest.TestCase):
108
- """Verify the embedded engine handles every documented source/action/target/transform."""
109
-
110
- @classmethod
111
- def setUpClass(cls):
112
- cls.lua = script_templates.media_rules("X", {"language": "lua"})
113
- cls.py = script_templates.media_rules("X", {"language": "py"})
114
-
115
- def _both(self, marker):
116
- return marker in self.lua and marker in self.py
117
-
118
- def test_sources_covered(self):
119
- for marker in ("file_path", "filename", "dirname", "parent_dir",
120
- "grandparent_dir", "file_extension",
121
- "clip_property:", "metadata:", "embedded_metadata:",
122
- "camera_metadata:", "previous_capture:", "static_value",
123
- "bin_name", "media_pool_path",
124
- "clip_duration", "clip_resolution", "frame_rate", "codec",
125
- "audio_channels", "audio_format",
126
- "start_tc", "end_tc", "creation_time", "modification_time"):
127
- with self.subTest(source=marker):
128
- self.assertTrue(self._both(marker), f"{marker} not in both engines")
129
-
130
- def test_actions_covered(self):
131
- for marker in ("set_metadata", "set_clip_property", "rename_clip",
132
- "move_to_bin", "set_clip_color", "flag_clip",
133
- "add_keyword", "add_marker", "apply_lut", "set_in_out",
134
- "tag_for_review"):
135
- with self.subTest(action=marker):
136
- self.assertTrue(self._both(f'"{marker}"'),
137
- f"{marker} not in both engines")
138
-
139
- def test_targets_covered(self):
140
- for marker in ("media_pool_clips", "current_bin_clips", "bin_path:",
141
- "selected_clips", "timeline_items",
142
- "selected_timeline_items",
143
- "timeline_items_in_track:"):
144
- with self.subTest(target=marker):
145
- self.assertTrue(self._both(marker), f"{marker} not in both engines")
146
-
147
- def test_transforms_covered(self):
148
- # The transform names appear in apply_pipe/_apply_pipe
149
- for marker in ("upper", "lower", "title", "slug", "pad",
150
- "lookup", "add", "sub", "mul", "div"):
151
- with self.subTest(transform=marker):
152
- self.assertTrue(self._both(f'"{marker}"'),
153
- f"transform {marker} not in both engines")
154
-
155
- def test_engine_globals_covered(self):
156
- for marker in ("DRY_RUN", "LOG_LEVEL", "LIMIT_TO_FIRST_N",
157
- "EXTERNAL_DATA", "BACKUP_BEFORE_RUN"):
158
- with self.subTest(global_=marker):
159
- self.assertTrue(self._both(marker), f"{marker} not in both engines")
160
-
161
- def test_external_data_strategies(self):
162
- for strategy in ("exact", "regex", "fuzzy"):
163
- with self.subTest(strategy=strategy):
164
- self.assertTrue(self._both(f'"{strategy}"'),
165
- f"strategy {strategy} not in both engines")
166
-
167
- def test_csv_and_json_loaders(self):
168
- # Lua engine has load_csv and load_json
169
- self.assertIn("load_csv", self.lua)
170
- self.assertIn("load_json", self.lua)
171
- # Python engine has _load_csv and _load_json
172
- self.assertIn("_load_csv", self.py)
173
- self.assertIn("_load_json", self.py)
174
-
175
-
176
- # ─── Compile checks ──────────────────────────────────────────────────────────
177
-
178
- class TestPythonCompiles(unittest.TestCase):
179
- """Every Python template must pass compile()."""
180
-
181
- def _compile(self, source):
182
- try:
183
- compile(source, "<test>", "exec")
184
- return True, None
185
- except SyntaxError as e:
186
- return False, f"line {e.lineno}: {e.msg}"
187
-
188
- def test_scaffold_compiles(self):
189
- src = script_templates.scaffold("X", {"language": "py"})
190
- ok, err = self._compile(src)
191
- self.assertTrue(ok, err)
192
-
193
- def test_media_rules_compiles(self):
194
- src = script_templates.media_rules("X", {"language": "py"})
195
- ok, err = self._compile(src)
196
- self.assertTrue(ok, err)
197
-
198
- def test_media_rules_with_dry_run_compiles(self):
199
- src = script_templates.media_rules("X", {"language": "py", "dry_run": True})
200
- ok, err = self._compile(src)
201
- self.assertTrue(ok, err)
202
-
203
-
204
- @unittest.skipIf(LUAC is None, "luac not installed")
205
- class TestLuaCompiles(unittest.TestCase):
206
- """Every Lua template must pass luac -p."""
207
-
208
- def _compile(self, source):
209
- with tempfile.NamedTemporaryFile(mode='w', suffix='.lua',
210
- delete=False, encoding='utf-8') as f:
211
- f.write(source); tmp = f.name
212
- try:
213
- r = subprocess.run([LUAC, '-p', tmp], capture_output=True,
214
- text=True, timeout=10)
215
- return r.returncode == 0, r.stderr
216
- finally:
217
- try:
218
- os.unlink(tmp)
219
- except OSError:
220
- pass
221
-
222
- def test_scaffold_compiles(self):
223
- src = script_templates.scaffold("X", {"language": "lua"})
224
- ok, err = self._compile(src)
225
- self.assertTrue(ok, err)
226
-
227
- def test_media_rules_compiles(self):
228
- src = script_templates.media_rules("X", {"language": "lua"})
229
- ok, err = self._compile(src)
230
- self.assertTrue(ok, err)
231
-
232
- def test_media_rules_with_dry_run_compiles(self):
233
- src = script_templates.media_rules("X", {"language": "lua", "dry_run": True})
234
- ok, err = self._compile(src)
235
- self.assertTrue(ok, err)
236
-
237
-
238
- # ─── MCP tool surface ─────────────────────────────────────────────────────────
239
-
240
- class TestScriptPluginAction(unittest.TestCase):
241
-
242
- def test_unknown_action(self):
243
- r = script_plugin('not-a-real-action')
244
- self.assertIn('error', r)
245
- self.assertIn('list_templates', (r["error"].get("message","") if isinstance(r["error"], dict) else r["error"]))
246
-
247
- def test_categories(self):
248
- r = script_plugin('categories')
249
- self.assertEqual(set(r['categories']),
250
- {'Edit', 'Color', 'Deliver', 'Comp',
251
- 'Tool', 'Utility', 'Views'})
252
-
253
- def test_list_templates(self):
254
- r = script_plugin('list_templates')
255
- self.assertEqual(set(r['kinds']), {'scaffold', 'media_rules'})
256
-
257
- def test_path_each_category(self):
258
- for cat in ('Edit', 'Color', 'Deliver', 'Comp', 'Tool', 'Utility', 'Views'):
259
- with self.subTest(category=cat):
260
- r = script_plugin('path', {'category': cat})
261
- self.assertEqual(r['category'], cat)
262
- self.assertTrue(r['scripts_dir'].endswith(cat))
263
-
264
- def test_path_invalid_category(self):
265
- r = script_plugin('path', {'category': 'Nope'})
266
- self.assertIn('error', r)
267
-
268
- def test_path_missing_category(self):
269
- r = script_plugin('path')
270
- self.assertIn('error', r)
271
-
272
- def test_template_unknown_kind(self):
273
- r = script_plugin('template', {'kind': 'nope', 'name': 'X'})
274
- self.assertIn('error', r)
275
-
276
- def test_template_each_kind_each_language(self):
277
- for kind in ('scaffold', 'media_rules'):
278
- for lang in ('lua', 'py'):
279
- with self.subTest(kind=kind, language=lang):
280
- r = script_plugin('template', {
281
- 'kind': kind, 'name': 'McpTest',
282
- 'options': {'language': lang},
283
- })
284
- self.assertIn('source', r)
285
- self.assertEqual(r['language'], lang)
286
- self.assertGreater(len(r['source']), 100)
287
-
288
- def test_template_invalid_language(self):
289
- r = script_plugin('template', {'kind': 'scaffold', 'name': 'X',
290
- 'options': {'language': 'ruby'}})
291
- self.assertIn('error', r)
292
-
293
- def test_install_invalid_name(self):
294
- r = script_plugin('install', {'name': '../bad', 'source': 'x',
295
- 'category': 'Edit'})
296
- self.assertIn('error', r)
297
-
298
- def test_install_empty_source(self):
299
- r = script_plugin('install', {'name': 'X', 'source': '',
300
- 'category': 'Edit'})
301
- self.assertIn('error', r)
302
-
303
- def test_install_invalid_category(self):
304
- r = script_plugin('install', {'name': 'X', 'source': 'x',
305
- 'category': 'Nope'})
306
- self.assertIn('error', r)
307
-
308
- def test_install_invalid_language(self):
309
- r = script_plugin('install', {'name': 'X', 'source': 'x',
310
- 'category': 'Edit', 'language': 'ruby'})
311
- self.assertIn('error', r)
312
-
313
- def test_install_missing_category(self):
314
- r = script_plugin('install', {'name': 'X', 'source': 'x'})
315
- self.assertIn('error', r)
316
-
317
- def test_validate_python_good(self):
318
- r = script_plugin('validate', {'source': 'def f(): return 1',
319
- 'language': 'py'})
320
- self.assertTrue(r['valid'])
321
-
322
- def test_validate_python_alias_good(self):
323
- r = script_plugin('validate', {'source': 'def f(): return 1',
324
- 'language': 'python'})
325
- self.assertTrue(r['valid'])
326
- self.assertEqual(r['checker'], 'python-compile')
327
-
328
- def test_template_python_alias_normalizes_to_py(self):
329
- r = script_plugin('template', {'kind': 'scaffold',
330
- 'name': 'AliasPy',
331
- 'options': {'language': 'python'}})
332
- self.assertEqual(r['language'], 'py')
333
- self.assertIn('@mcp-script', r['source'])
334
-
335
- def test_validate_python_bad(self):
336
- r = script_plugin('validate', {'source': 'def f(:\n pass',
337
- 'language': 'py'})
338
- self.assertFalse(r['valid'])
339
-
340
- def test_validate_lua_good(self):
341
- r = script_plugin('validate', {'source': 'function f() return 1 end',
342
- 'language': 'lua'})
343
- # If luac is available it returns valid=True; otherwise valid=True with
344
- # checker='unavailable'
345
- self.assertIn('valid', r)
346
- self.assertIn('checker', r)
347
-
348
- def test_validate_invalid_language(self):
349
- r = script_plugin('validate', {'source': 'x', 'language': 'ruby'})
350
- self.assertIn('error', r)
351
-
352
-
353
- # ─── Filesystem round-trip ───────────────────────────────────────────────────
354
-
355
- class TestRoundtripFilesystem(unittest.TestCase):
356
- """install → list → read → remove on a hermetic tempdir.
357
-
358
- Patches get_resolve_plugin_paths to point at a tempdir so the test
359
- leaves no traces in the user's real Resolve directories.
360
- """
361
-
362
- @classmethod
363
- def setUpClass(cls):
364
- cls.tmpdir = tempfile.mkdtemp(prefix="mcp-script-test-")
365
- cls.fake_paths = {
366
- 'fuses_dir': os.path.join(cls.tmpdir, 'Fuses'),
367
- 'dctl_dir': os.path.join(cls.tmpdir, 'LUT'),
368
- 'aces_idt_dir': os.path.join(cls.tmpdir, 'ACES', 'IDT'),
369
- 'aces_odt_dir': os.path.join(cls.tmpdir, 'ACES', 'ODT'),
370
- 'scripts_root': os.path.join(cls.tmpdir, 'Scripts'),
371
- 'scripts_categories': ('Edit', 'Color', 'Deliver', 'Comp',
372
- 'Tool', 'Utility', 'Views'),
373
- }
374
- cls._patcher = patch('src.server.get_resolve_plugin_paths',
375
- return_value=cls.fake_paths)
376
- cls._patcher.start()
377
-
378
- @classmethod
379
- def tearDownClass(cls):
380
- cls._patcher.stop()
381
- import shutil
382
- shutil.rmtree(cls.tmpdir, ignore_errors=True)
383
-
384
- def test_lua_roundtrip_in_edit(self):
385
- gen = script_plugin('template', {'kind': 'media_rules',
386
- 'name': 'RtLua',
387
- 'options': {'language': 'lua'}})
388
- r = script_plugin('install', {
389
- 'name': 'RtLua', 'source': gen['source'],
390
- 'category': 'Edit', 'language': 'lua', 'overwrite': True,
391
- })
392
- self.assertTrue(r.get('success'))
393
- self.assertTrue(os.path.isfile(r['path']))
394
- self.assertTrue(r['path'].endswith('RtLua.lua'))
395
-
396
- rd = script_plugin('read', {'name': 'RtLua', 'category': 'Edit',
397
- 'language': 'lua'})
398
- self.assertEqual(rd['source'], gen['source'])
399
-
400
- # overwrite=false errors
401
- r2 = script_plugin('install', {
402
- 'name': 'RtLua', 'source': gen['source'],
403
- 'category': 'Edit', 'language': 'lua',
404
- })
405
- self.assertIn('error', r2)
406
-
407
- rm = script_plugin('remove', {'name': 'RtLua', 'category': 'Edit',
408
- 'language': 'lua'})
409
- self.assertTrue(rm.get('success'))
410
-
411
- def test_py_roundtrip_in_color(self):
412
- gen = script_plugin('template', {'kind': 'scaffold',
413
- 'name': 'RtPy',
414
- 'options': {'language': 'py'}})
415
- r = script_plugin('install', {
416
- 'name': 'RtPy', 'source': gen['source'],
417
- 'category': 'Color', 'language': 'py', 'overwrite': True,
418
- })
419
- self.assertTrue(r.get('success'))
420
- self.assertTrue(r['path'].endswith('RtPy.py'))
421
- rm = script_plugin('remove', {'name': 'RtPy', 'category': 'Color',
422
- 'language': 'py'})
423
- self.assertTrue(rm.get('success'))
424
-
425
- def test_list_filters_to_mcp_managed(self):
426
- # Drop a non-MCP file; it should not appear in default list
427
- os.makedirs(self.fake_paths['scripts_root'], exist_ok=True)
428
- edit_dir = os.path.join(self.fake_paths['scripts_root'], 'Edit')
429
- os.makedirs(edit_dir, exist_ok=True)
430
- foreign = os.path.join(edit_dir, 'Foreign.lua')
431
- with open(foreign, 'w') as f:
432
- f.write("-- not authored by MCP\nprint('hi')\n")
433
-
434
- try:
435
- default = script_plugin('list', {'category': 'Edit'})
436
- names = [s['name'] for s in default['scripts']]
437
- self.assertNotIn('Foreign', names)
438
-
439
- with_all = script_plugin('list', {'category': 'Edit', 'all': True})
440
- names_all = [s['name'] for s in with_all['scripts']]
441
- self.assertIn('Foreign', names_all)
442
- finally:
443
- os.unlink(foreign)
444
-
445
- def test_list_language_filter(self):
446
- # Install one .lua and one .py
447
- for lang, name in (('lua', 'FilterLua'), ('py', 'FilterPy')):
448
- gen = script_plugin('template', {
449
- 'kind': 'scaffold', 'name': name,
450
- 'options': {'language': lang},
451
- })
452
- script_plugin('install', {
453
- 'name': name, 'source': gen['source'],
454
- 'category': 'Utility', 'language': lang, 'overwrite': True,
455
- })
456
-
457
- try:
458
- r_lua = script_plugin('list', {'category': 'Utility', 'language': 'lua'})
459
- self.assertEqual(len(r_lua['scripts']), 1)
460
- self.assertEqual(r_lua['scripts'][0]['language'], 'lua')
461
-
462
- r_py = script_plugin('list', {'category': 'Utility', 'language': 'py'})
463
- self.assertEqual(len(r_py['scripts']), 1)
464
- self.assertEqual(r_py['scripts'][0]['language'], 'py')
465
-
466
- r_all = script_plugin('list', {'category': 'Utility'})
467
- self.assertEqual(len(r_all['scripts']), 2)
468
- finally:
469
- for lang, name in (('lua', 'FilterLua'), ('py', 'FilterPy')):
470
- script_plugin('remove', {'name': name, 'category': 'Utility',
471
- 'language': lang})
472
-
473
- def test_list_all_categories(self):
474
- # Install in two categories, list with no category filter
475
- for cat in ('Edit', 'Color'):
476
- gen = script_plugin('template', {
477
- 'kind': 'scaffold', 'name': f'Multi{cat}',
478
- 'options': {'language': 'lua'},
479
- })
480
- script_plugin('install', {
481
- 'name': f'Multi{cat}', 'source': gen['source'],
482
- 'category': cat, 'language': 'lua', 'overwrite': True,
483
- })
484
-
485
- try:
486
- r = script_plugin('list')
487
- names = sorted(s['name'] for s in r['scripts']
488
- if s['name'].startswith('Multi'))
489
- self.assertEqual(names, ['MultiColor', 'MultiEdit'])
490
- finally:
491
- for cat in ('Edit', 'Color'):
492
- script_plugin('remove', {'name': f'Multi{cat}', 'category': cat,
493
- 'language': 'lua'})
494
-
495
-
496
- # ─── execute / run_inline ────────────────────────────────────────────────────
497
-
498
- class TestScriptExecution(unittest.TestCase):
499
- """Tests for execute and run_inline actions.
500
-
501
- Python execution is tested with real subprocesses against a synthetic
502
- minimal script (no Resolve dependency). Lua execution paths are tested
503
- via mocking since they require a real Resolve handle.
504
- """
505
-
506
- @classmethod
507
- def setUpClass(cls):
508
- cls.tmpdir = tempfile.mkdtemp(prefix="mcp-script-exec-")
509
- cls.fake_paths = {
510
- 'fuses_dir': os.path.join(cls.tmpdir, 'Fuses'),
511
- 'dctl_dir': os.path.join(cls.tmpdir, 'LUT'),
512
- 'aces_idt_dir': os.path.join(cls.tmpdir, 'ACES', 'IDT'),
513
- 'aces_odt_dir': os.path.join(cls.tmpdir, 'ACES', 'ODT'),
514
- 'scripts_root': os.path.join(cls.tmpdir, 'Scripts'),
515
- 'scripts_categories': ('Edit', 'Color', 'Deliver', 'Comp',
516
- 'Tool', 'Utility', 'Views'),
517
- }
518
- cls._patcher = patch('src.server.get_resolve_plugin_paths',
519
- return_value=cls.fake_paths)
520
- cls._patcher.start()
521
- # Don't try to launch Resolve from these tests
522
- cls._resolve_patcher = patch('src.server.get_resolve',
523
- return_value=None)
524
- cls._resolve_patcher.start()
525
-
526
- @classmethod
527
- def tearDownClass(cls):
528
- cls._patcher.stop()
529
- cls._resolve_patcher.stop()
530
- import shutil
531
- shutil.rmtree(cls.tmpdir, ignore_errors=True)
532
-
533
- def _install_script(self, name: str, category: str, language: str,
534
- source: str) -> str:
535
- """Helper: write a script file directly (bypassing the install action
536
- so we can install scripts that don't import DaVinciResolveScript)."""
537
- target_dir = os.path.join(self.fake_paths['scripts_root'], category)
538
- os.makedirs(target_dir, exist_ok=True)
539
- path = os.path.join(target_dir, f"{name}.{language}")
540
- with open(path, 'w') as f:
541
- f.write(source)
542
- return path
543
-
544
- # ── execute Python ─────────────────────────────────────────────────────
545
-
546
- def test_execute_python_captures_stdout(self):
547
- path = self._install_script(
548
- 'EchoTest', 'Utility', 'py',
549
- "print('hello from script')\nprint('line 2')\n",
550
- )
551
- r = script_plugin('execute', {
552
- 'name': 'EchoTest', 'category': 'Utility', 'language': 'py',
553
- })
554
- self.assertTrue(r.get('success'), r)
555
- self.assertIn('hello from script', r['stdout'])
556
- self.assertIn('line 2', r['stdout'])
557
- self.assertEqual(r['exit_code'], 0)
558
-
559
- def test_execute_python_captures_stderr(self):
560
- self._install_script(
561
- 'StderrTest', 'Utility', 'py',
562
- "import sys\nsys.stderr.write('oops\\n')\nsys.exit(2)\n",
563
- )
564
- r = script_plugin('execute', {
565
- 'name': 'StderrTest', 'category': 'Utility', 'language': 'py',
566
- })
567
- self.assertFalse(r.get('success'))
568
- self.assertIn('oops', r['stderr'])
569
- self.assertEqual(r['exit_code'], 2)
570
-
571
- def test_execute_python_with_args(self):
572
- self._install_script(
573
- 'ArgsTest', 'Utility', 'py',
574
- "import sys\nprint('|'.join(sys.argv[1:]))\n",
575
- )
576
- r = script_plugin('execute', {
577
- 'name': 'ArgsTest', 'category': 'Utility', 'language': 'py',
578
- 'args': ['alpha', 'beta', 'gamma'],
579
- })
580
- self.assertTrue(r.get('success'))
581
- self.assertIn('alpha|beta|gamma', r['stdout'])
582
-
583
- def test_execute_python_timeout(self):
584
- self._install_script(
585
- 'SleepTest', 'Utility', 'py',
586
- "import time\ntime.sleep(5)\n",
587
- )
588
- r = script_plugin('execute', {
589
- 'name': 'SleepTest', 'category': 'Utility', 'language': 'py',
590
- 'timeout': 1,
591
- })
592
- self.assertIn('error', r)
593
- self.assertIn('timed out', (r["error"].get("message","") if isinstance(r["error"], dict) else r["error"]))
594
-
595
- def test_execute_missing_script(self):
596
- r = script_plugin('execute', {
597
- 'name': 'DoesNotExist', 'category': 'Utility', 'language': 'py',
598
- })
599
- self.assertIn('error', r)
600
-
601
- def test_execute_invalid_name(self):
602
- r = script_plugin('execute', {
603
- 'name': '../bad', 'category': 'Utility', 'language': 'py',
604
- })
605
- self.assertIn('error', r)
606
-
607
- def test_execute_invalid_category(self):
608
- r = script_plugin('execute', {
609
- 'name': 'X', 'category': 'Nope', 'language': 'py',
610
- })
611
- self.assertIn('error', r)
612
-
613
- def test_execute_invalid_language(self):
614
- r = script_plugin('execute', {
615
- 'name': 'X', 'category': 'Utility', 'language': 'ruby',
616
- })
617
- self.assertIn('error', r)
618
-
619
- def test_execute_args_must_be_list(self):
620
- path = self._install_script(
621
- 'ArgsCheckTest', 'Utility', 'py', "print('ok')\n",
622
- )
623
- r = script_plugin('execute', {
624
- 'name': 'ArgsCheckTest', 'category': 'Utility', 'language': 'py',
625
- 'args': 'not-a-list',
626
- })
627
- self.assertIn('error', r)
628
-
629
- # ── execute Lua (mocked) ────────────────────────────────────────────────
630
-
631
- def test_execute_lua_calls_runscript(self):
632
- # Create the Lua file
633
- path = self._install_script(
634
- 'LuaTest', 'Utility', 'lua', "print('hi')\n",
635
- )
636
-
637
- # Mock a Resolve handle whose Fusion().RunScript returns True
638
- mock_fusion = type(sys)('fusion_mock')
639
- mock_fusion.RunScript = lambda p: True
640
- mock_resolve = type(sys)('resolve_mock')
641
- mock_resolve.Fusion = lambda: mock_fusion
642
-
643
- with patch('src.server.get_resolve', return_value=mock_resolve):
644
- r = script_plugin('execute', {
645
- 'name': 'LuaTest', 'category': 'Utility', 'language': 'lua',
646
- })
647
- self.assertTrue(r.get('success'))
648
- self.assertEqual(r['language'], 'lua')
649
- self.assertIn('output_note', r)
650
-
651
- def test_execute_lua_runscript_returns_false(self):
652
- self._install_script('LuaFail', 'Utility', 'lua', "error('nope')\n")
653
-
654
- mock_fusion = type(sys)('fusion_mock')
655
- mock_fusion.RunScript = lambda p: False
656
- mock_resolve = type(sys)('resolve_mock')
657
- mock_resolve.Fusion = lambda: mock_fusion
658
-
659
- with patch('src.server.get_resolve', return_value=mock_resolve):
660
- r = script_plugin('execute', {
661
- 'name': 'LuaFail', 'category': 'Utility', 'language': 'lua',
662
- })
663
- self.assertFalse(r.get('success'))
664
-
665
- def test_execute_lua_no_resolve(self):
666
- self._install_script('LuaNoResolve', 'Utility', 'lua', "print('hi')\n")
667
- # get_resolve already patched to return None at class level
668
- r = script_plugin('execute', {
669
- 'name': 'LuaNoResolve', 'category': 'Utility', 'language': 'lua',
670
- })
671
- self.assertIn('error', r)
672
- self.assertIn("isn't running", (r["error"].get("message","") if isinstance(r["error"], dict) else r["error"]))
673
-
674
- # ── run_inline Python ──────────────────────────────────────────────────
675
-
676
- def test_run_inline_python_captures_stdout(self):
677
- r = script_plugin('run_inline', {
678
- 'source': "print('inline says hi')\n", 'language': 'py',
679
- })
680
- # Note: subprocess will fail to import DaVinciResolveScript without
681
- # Resolve env, but our test patch makes get_resolve a no-op. The
682
- # boilerplate at the top of inline scripts handles a missing handle
683
- # gracefully, but DaVinciResolveScript import itself will succeed if
684
- # the env var is set. We just check that the subprocess produced
685
- # output OR an importable error — the framework works either way.
686
- self.assertIn('inline says hi', r.get('stdout', ''))
687
-
688
- def test_run_inline_python_can_compute(self):
689
- r = script_plugin('run_inline', {
690
- 'source': "print(2 + 3)\n", 'language': 'py',
691
- })
692
- self.assertIn('5', r.get('stdout', ''))
693
-
694
- def test_run_inline_empty_source_errors(self):
695
- r = script_plugin('run_inline', {'source': '', 'language': 'py'})
696
- self.assertIn('error', r)
697
- r = script_plugin('run_inline', {'source': ' ', 'language': 'lua'})
698
- self.assertIn('error', r)
699
-
700
- def test_run_inline_invalid_language(self):
701
- r = script_plugin('run_inline', {
702
- 'source': 'x = 1', 'language': 'ruby',
703
- })
704
- self.assertIn('error', r)
705
-
706
- # ── run_inline Lua (mocked) ────────────────────────────────────────────
707
-
708
- def test_run_inline_lua_uses_runscript_and_setdata_channel(self):
709
- """Mock the RunScript+SetData pattern that _run_inline_lua actually uses.
710
-
711
- Real implementation: write wrapped Lua to temp file, RunScript(path),
712
- poll SetData for completion sentinel, return captured stdout/result.
713
- """
714
- state = {}
715
-
716
- class MockFusion:
717
- def SetData(self_inner, key, val):
718
- state[key] = val
719
- def GetData(self_inner, key):
720
- return state.get(key, "")
721
- def RunScript(self_inner, path):
722
- # Simulate the wrapper completing successfully
723
- state["__mcp_stdout__"] = "captured stdout"
724
- state["__mcp_result__"] = "42"
725
- state["__mcp_error__"] = ""
726
- state["__mcp_done__"] = "1"
727
- return None
728
-
729
- class MockResolve:
730
- def Fusion(self_inner): return MockFusion()
731
-
732
- with patch('src.server.get_resolve', return_value=MockResolve()):
733
- r = script_plugin('run_inline', {
734
- 'source': 'return 42', 'language': 'lua',
735
- })
736
- self.assertTrue(r.get('success'))
737
- self.assertEqual(r.get('result'), '42')
738
- self.assertIn('captured stdout', r.get('stdout', ''))
739
- self.assertEqual(r['language'], 'lua')
740
-
741
- def test_run_inline_lua_no_resolve(self):
742
- # get_resolve already patched to return None at class level
743
- r = script_plugin('run_inline', {
744
- 'source': 'return 1', 'language': 'lua',
745
- })
746
- self.assertIn('error', r)
747
-
748
-
749
- if __name__ == '__main__':
750
- unittest.main()