@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,1635 +0,0 @@
1
- # DaVinci Resolve MCP Server — AI Skill Reference
2
-
3
- This document gives AI assistants the context needed to use the DaVinci Resolve
4
- MCP server effectively. It covers the tool landscape, page prerequisites,
5
- common workflow patterns, error recovery, and known gotchas.
6
-
7
- ---
8
-
9
- ## What This Server Does
10
-
11
- The DaVinci Resolve MCP server bridges AI assistants to DaVinci Resolve Studio
12
- via its official Scripting API. You can control every aspect of a post-production
13
- session — projects, timelines, clips, color grading, Fusion compositions, audio,
14
- render queues, and more — through natural language.
15
-
16
- DaVinci Resolve must be running with **Preferences > General > "External scripting
17
- using"** set to **Local**. The server auto-launches Resolve if it is not running,
18
- but that first connection can take up to 60 seconds.
19
-
20
- Workflow Integration plugins/scripts are a separate Resolve-hosted UI mechanism.
21
- They are not required for this MCP server, but `docs/integrations/workflow-integrations.md`
22
- summarizes when they are useful for optional in-Resolve panels, UIManager
23
- scripts, and render callback companions.
24
-
25
- OpenFX plugins are native C++ image-effect plugins, not an MCP control surface.
26
- Use `docs/notes/openfx-notes.md` when diagnosing `insert_ofx_generator` failures or
27
- discussing optional OFX plugin development.
28
-
29
- LUT files are directly relevant to Color-page graph actions. Use
30
- `docs/notes/lut-notes.md` when diagnosing `graph.set_lut` failures, validating `.cube`
31
- files, or explaining `project_settings.refresh_luts`.
32
-
33
- Fusion templates are relevant to Edit/Cut page insertion actions. Use
34
- `docs/notes/fusion-template-notes.md` when diagnosing `insert_fusion_generator` or
35
- `insert_fusion_title` failures, template paths, `.setting` files, or `.drfx`
36
- bundles.
37
-
38
- DCTL files are programmable color transforms/effects adjacent to LUT and OpenFX
39
- workflows. Use `docs/notes/dctl-notes.md` when diagnosing `.dctl`/`.dctle` discovery,
40
- ResolveFX DCTL plugin behavior, ACES DCTL IDT/ODT setup, or DCTL-as-LUT usage.
41
-
42
- Codec plugins are native IO encode plugins that extend Deliver-page render
43
- formats/codecs. Use `docs/notes/codec-plugin-notes.md` when diagnosing missing custom
44
- render formats/codecs, `.dvcp.bundle` packaging, or IOPlugins install paths.
45
-
46
- The `fuse_plugin`, `dctl`, and `script_plugin` compound tools (v2.5.0+) write
47
- Fuse plugin source, DCTL files, and Lua/Python scripts into Resolve's install
48
- directories. They are *authoring* tools — every other tool in this server wraps
49
- Resolve's scripting API, while these three emit and install plugin/script
50
- source. Status: lifecycle-verified in DaVinci Resolve Studio 20.3.2.9 for
51
- MCP-marked install/read/list/remove, regular DCTL `refresh_luts`, ACES/Fuse
52
- restart-required classification, Python installed-script execution, and
53
- Python/Lua `run_inline`. Use `docs/kernels/extension-authoring-kernel.md` for the
54
- kernel boundary map, `docs/authoring/fuse-dctl-authoring.md` for the Fuse + DCTL coverage
55
- matrix, and `docs/authoring/script-plugin-authoring.md` for the script DSL spec and the
56
- conversational-execution model. For hand-authoring `.setting` template files
57
- (Edit effects/transitions/titles/generators and Fusion macros) — the format,
58
- control catalog, thumbnail conventions, install paths, and gotchas, plus copyable
59
- starter templates — see `docs/authoring/setting-files/`.
60
-
61
- Extension Authoring kernel actions (v2.16.0+) are exposed through
62
- `script_plugin`:
63
-
64
- - `extension_capabilities`
65
- - `probe_fuse_lifecycle(name?, kind?, install?, cleanup?)`
66
- - `probe_dctl_lifecycle(name?, kind?, category?, install?, refresh_luts?, cleanup?)`
67
- - `probe_script_lifecycle(name?, language?, category?, install?, execute?, cleanup?)`
68
- - `safe_install_extension(extension_type, name, source?|kind?, dry_run?)`
69
- - `safe_remove_extension(extension_type, name, dry_run?)`
70
- - `refresh_or_restart_required(extension_type, category?)`
71
- - `extension_boundary_report(include_template_matrix?)`
72
-
73
- Key behavioral notes for `script_plugin`:
74
- - `run_inline(source, language)` runs ad-hoc Lua/Python in Resolve and returns
75
- stdout + result — use this for one-off conversational queries against the
76
- Resolve API instead of building+installing a script.
77
- - `language` accepts `lua`, `py`, or the human-facing aliases `python` and
78
- `python3`.
79
- - `execute(name, category, language)` runs an installed script; Python stdout
80
- and stderr are captured, while installed Lua execution can return false from
81
- the Python bridge even when install/read/list/remove worked.
82
- - Lua scripts: `fusion.Execute()` from the Python bridge is a no-op in
83
- Resolve 20.x — `_run_inline_lua` works around this with `RunScript` against
84
- a temp file plus completion-sentinel polling on `app:SetData/GetData`.
85
- - Fuse install path on macOS is `…/DaVinci Resolve/Fusion/Fuses/` (NOT
86
- `Support/Fusion/Fuses/` as the SDK doc lists). The MCP path helpers handle
87
- this; if you're staging files manually, use the path the implementation
88
- emits.
89
- - Resolve picks up new scripts without a restart; new Fuses need a restart
90
- to register; new DCTLs need `project_settings(action='refresh_luts')`
91
- (regular LUT category) or a restart (ACES IDT/ODT category).
92
-
93
- Tool metadata (v2.17.1+) includes MCP `ToolAnnotations` for read-only,
94
- destructive, idempotent, and external-resource hints. Treat compound tool
95
- annotations as conservative because a single compound tool may expose both probe
96
- and mutation actions behind its `action` parameter. Continue to prefer
97
- `safe_*`, `dry_run`, `probe_*`, `capabilities`, and `boundary_report` actions
98
- before mutating Resolve state.
99
-
100
- ---
101
-
102
- ## Two Server Modes
103
-
104
- | Mode | Entry point | Tool count | Use when |
105
- |---|---|---|---|
106
- | Compound (default) | `src/server.py` | 32 tools | Most workflows — keeps context lean |
107
- | Granular (full) | `src/server.py --full` | 341 tools | Power users needing one tool per API method |
108
-
109
- This skill document covers the **compound server** (the default). Each compound
110
- tool accepts an `action` string and an optional `params` object.
111
-
112
- The compound server also registers MCP prompts. Use `davinci_resolve_workflow`
113
- as the compact operating brief, and use `analyze_media` as a slash-command style
114
- entry point for source-safe project, selected-clip, bin, file, or sequence
115
- analysis. The Analyze Media prompt executes directly by default, persists
116
- inspectable reports/artifacts under the project analysis root, requests
117
- `host_chat_paths` visual analysis (frames are extracted to disk and the host
118
- chat finalizes each clip via `media_analysis(action="commit_vision", ...)`),
119
- runs local transcription through the configured backend, and writes metadata
120
- plus source-time Media Pool markers back to the Resolve project unless the
121
- user opts out.
122
-
123
- Anti-regression rule: do not silently downgrade media analysis. Source-safe
124
- means source media stays untouched; it does not mean no visuals, no transcript,
125
- no persisted report, no metadata writeback, or no Media Pool markers. Do not
126
- add `include_visuals=false`, `include_transcription=false`,
127
- `publish_metadata=false`, `timed_markers=no`, `session_only=true`, or
128
- `dry_run=true` unless the user explicitly asks for that opt-out, the target is a
129
- raw file path that cannot receive Resolve project writeback. The host_chat_paths
130
- vision protocol is: `analyze_*` returns a deferred payload with absolute
131
- `frame_paths` and a JSON schema; you must read those frames as images (Claude
132
- Code's Read tool handles JPG/PNG natively), produce the JSON, and call
133
- `commit_vision` for each clip. Skipping `commit_vision` leaves the run in
134
- `pending_host_vision_analysis` — surface that explicitly; do not call the
135
- analysis complete.
136
-
137
- The deferred payload also includes a `host_tool_choice_hint` block. Hosts that
138
- respect this hint pass it as `tool_choice={type:"tool", name:"media_analysis"}`
139
- on the next API turn, hard-locking the agent into the correct next call. Hosts
140
- that don't recognize the field ignore it — the flow is unchanged for them.
141
-
142
- ## Local Control Panel
143
-
144
- If the user asks to open, launch, or inspect the Resolve MCP control panel, run
145
- this from the repository root:
146
-
147
- ```bash
148
- venv/bin/python -m src.control_panel
149
- ```
150
-
151
- The command starts the local control panel and opens the default browser. Use
152
- `--no-open` when running in a headless context, then give the user the printed
153
- localhost URL. The panel is local and single-user; it is an operational surface
154
- for server status, Resolve clips, source-safe analysis jobs, preferences, and
155
- diagnostics as those sections are added.
156
-
157
- The **Review tab → History** button opens the timeline-history surface:
158
- per-timeline version chain, brain-edit deltas, manual archive, and rollback.
159
- Backed by `timeline_versioning` MCP actions; see that tool's section below for
160
- the underlying primitives.
161
-
162
- ---
163
-
164
- ## Editorial Memory And Decision-Making
165
-
166
- When the user asks for cutting, pacing, story shape, suspense, comedy timing, or
167
- tonal reframing, operate like an editor, not just a metadata scanner. Use
168
- `docs/guides/editorial-decision-guide.md` as the project-owned craft reference. The
169
- short version: emotion and story come first, then clarity, rhythm, eye trace,
170
- screen geography, continuity, and coverage variety.
171
-
172
- Before analyzing or rebuilding anything, check whether the active project already
173
- contains useful evidence:
174
-
175
- - `media_analysis(action="coverage_report", params={"target": {...}})` — the
176
- pre-flight contract. Pure read; never triggers analysis. Returns per-clip
177
- state (analyzed / stale / missing / reuse_blocked / superseded_by_relink),
178
- layer presence, `source_trust` tier, and a `recommended_action`. The response
179
- carries an `evidence_base` summary string — **lead any editorial or color
180
- recommendation with that line, before the creative answer.**
181
- - `media_analysis(action="summarize")` for project-wide rollup of warnings,
182
- motion distribution, and signed-report counts.
183
- - `media_analysis(action="get_report")` when a manifest or report path is known.
184
- - `timeline(action="list")`
185
- - `timeline(action="get_current")`
186
- - `timeline(action="probe_timeline_structure")`
187
- - `timeline(action="source_range_report")`
188
- - `timeline_markers(action="get_all")`
189
- - `media_analysis(action="review_timeline_markers")` when marker imagery matters
190
-
191
- Reuse prior analysis unless it is stale, incomplete, missing a modality, or
192
- flagged `superseded_by_relink` because Resolve's source clip was replaced after
193
- analysis ran. Coverage_report surfaces all of these in one read. Do not re-run
194
- visual analysis just because the edit task is new if a current report already
195
- has keyframes, motion variance, and usable visual descriptions. Add
196
- transcription, host_chat_paths vision (followed by commit_vision), marker
197
- review, or source range checks only when that missing evidence changes the
198
- decision. Use `force_refresh=true` only when the user asks for a fresh read or
199
- when cache signatures show the source, prompt, depth, or requested modality has
200
- changed.
201
-
202
- Source-trust filtering: `coverage_report` accepts `min_source_trust` (one of
203
- `auto`, `filename`, `low`, `medium`, `high`). Clips below the threshold appear
204
- in `summary.clips_needs_higher_trust` and are reported with
205
- `below_min_source_trust=true`. Use `medium` for routine work, `high` for
206
- shot-matching or look-development passes where confident scene/identity reads
207
- matter.
208
-
209
- For finished-video editorial work, scene detection and motion variance are
210
- guardrails, not story. Use them to avoid black frames, flash frames, corrupt
211
- ranges, and accidental cut points. Let transcript, sound events, complete
212
- thoughts, reactions, and decisive visual frames drive the actual edit.
213
-
214
- After creating or modifying a timeline variant, do a second pass before calling
215
- the work done:
216
-
217
- - `timeline(action="detect_gaps_overlaps")`
218
- - `timeline(action="source_range_report")`
219
- - `timeline_markers(action="get_thumbnail_image")` at important markers and cuts
220
- - Compare each marker name against the Resolve-rendered frame; revise the marker
221
- or edit if the image contradicts the plan.
222
-
223
- Do not depend on personal, external, or workstation-specific editorial context.
224
- For this project, keep the editorial craft reference self-contained in
225
- `docs/guides/editorial-decision-guide.md` and keep this `SKILL.md` focused on
226
- operational use of the MCP.
227
-
228
- ---
229
-
230
- ## Color Memory And Decision-Making
231
-
232
- When the user asks for color correction, shot matching, look development, LUTs,
233
- DCTLs, DRX grades, Gallery stills, or color-group workflows, use
234
- `docs/guides/color-decision-guide.md` as the project-owned color reference.
235
-
236
- Be explicit about the API boundary:
237
-
238
- - Directly creatable/control surfaces: CDL values on an existing node, grade
239
- versions, color-group assignment, LUT assignment on existing nodes, node
240
- enable/cache state, LUT/DCTL assets, Gallery still import/export, and grade
241
- copy/export helpers.
242
- - Opaque full-grade surfaces: copied grades, imported/exported `.drx` stills,
243
- and manually built Resolve node graphs. These can carry full grades, but the
244
- MCP applies or copies them as packages.
245
- - Not directly creatable from structured params: new node trees, Lift/Gamma/Gain
246
- wheel values, log/HDR palette values, curves, qualifiers, power windows,
247
- tracking, Color Warper, and detailed ResolveFX/OFX parameter edits.
248
-
249
- Before any color recommendation, run
250
- `media_analysis(action="coverage_report", params={"target": {...},
251
- "min_source_trust": "medium"})` (use `"high"` for shot-matching or
252
- look-development passes). Lead the response with the returned `evidence_base`
253
- line before the grade plan. Coverage_report surfaces relink-superseded clips
254
- that must be re-analyzed before being graded from prior visual descriptions.
255
-
256
- For safe color work, start with `timeline_item_color(action="grade_boundary_report")`,
257
- `timeline_item_color(action="grade_version_snapshot")`,
258
- `timeline_item_color(action="probe_node_graph")`, and a Resolve-rendered frame
259
- reference for the target shot or shots. Use thumbnails, contact sheets, Gallery
260
- stills, marker frames, or existing visual analysis reports before writing a
261
- grade, and cite the inspected frames in the response. When the API can safely
262
- provide them, compare matched untreated/bypass, current, and after frames at the
263
- same timecodes, then restore the previous active version or node-enabled state
264
- after any temporary bypass capture. Treat untreated frames as diagnostic
265
- evidence, not as permission to discard an existing creative grade.
266
-
267
- Prefer `safe_set_cdl` for small reversible primary corrections. Use DRX/stills
268
- or grade copy only when the user accepts whole-grade replacement/transfer
269
- semantics. Use DCTL/LUT authoring only for reusable mathematical transforms, not
270
- as a substitute for hand-built windows, qualifiers, or tracked secondaries. Do
271
- not apply blind/global grades unless the user explicitly asks for that. When the
272
- user asks to build on or adjust an existing grade, preserve the current
273
- grade/version as the starting point, create or switch to a recoverable
274
- adjustment version, and apply only incremental changes through supported
275
- controls. Do not reset grades, replace graphs, or apply DRX/copy-grade
276
- whole-grade artifacts unless replacement or transfer semantics are explicitly
277
- accepted. Distinguish Resolve's default one-node graph from an existing creative
278
- grade; only describe a creative grade when active tools, LUTs, or other grade
279
- state are present.
280
-
281
- For sequence-wide looks, prefer a duplicated timeline, batch creation of
282
- reference/current/look versions across all target clips, and one bulk Resolve
283
- script for repeated version, group, or CDL operations. Use color groups for shared
284
- scene-level intent only when they fit the work: group pre-clip for shared
285
- normalization, clip versions for shot-specific matching, and group post-clip for
286
- the creative look. Sampling can guide a first pass, but final handoff should
287
- state the reviewed scope; short sequences should be checked shot by shot.
288
-
289
- ---
290
-
291
- ## Page Context Requirements
292
-
293
- DaVinci Resolve is a page-based application. Certain operations only work on
294
- specific pages. Always confirm or switch pages before calling page-sensitive tools.
295
-
296
- | Operation category | Required page | How to switch |
297
- |---|---|---|
298
- | Color grading, node graphs, CDL | Color | `resolve_control(action="open_page", params={"page": "color"})` |
299
- | Gallery stills export, `grab_and_export` | Color, Gallery panel open | `resolve_control` + open Gallery panel in Workspace menu |
300
- | Fusion compositions (page comp) | Fusion | `resolve_control(action="open_page", params={"page": "fusion"})` |
301
- | Timeline editing, track operations | Edit or Cut | `resolve_control(action="open_page", params={"page": "edit"})` |
302
- | Fairlight audio | Fairlight | `resolve_control(action="open_page", params={"page": "fairlight"})` |
303
- | Render / deliver | Deliver | `resolve_control(action="open_page", params={"page": "deliver"})` |
304
- | Media import, storage browsing | Media | `resolve_control(action="open_page", params={"page": "media"})` |
305
-
306
- When a tool returns an unexpected `False` or an error about context, check whether
307
- you are on the correct page first.
308
-
309
- ---
310
-
311
- ## Tool Map
312
-
313
- ### App Control
314
-
315
- **`resolve_control`** — App-level operations.
316
-
317
- Key actions:
318
- - `launch` — connect to or start Resolve; call this first if any tool returns a
319
- "Not connected" error
320
- - `get_version` — returns `{product, version, version_string}`
321
- - `api_truth(query?)` — look up behaviorally-verified facts about quirky/unreliable
322
- Resolve API behavior (no connection needed); filter by substring
323
- - `verification_stats` — readback-verification tally (verified/contradicted/
324
- unverified) since server start (no connection needed)
325
- - `get_page` / `open_page(page)` — read or switch the active page
326
- - `get_keyframe_mode` / `set_keyframe_mode(mode)`
327
- - `get_fairlight_presets` — Resolve 20.2.2+; returns available Fairlight
328
- preset names
329
- - `quit` — terminates Resolve (destructive; confirm with user first)
330
-
331
- **`layout_presets`** — Save, load, export, import, delete UI layout presets.
332
-
333
- **`render_presets`** — Import and export render and burn-in presets.
334
-
335
- ---
336
-
337
- ### Project Management
338
-
339
- **`project_manager`** — CRUD on projects.
340
-
341
- Key actions: `list`, `get_current`, `create(name, media_location_path?)`,
342
- `load(name)`, `save`, `close`,
343
- `delete(name)`, `import_project(path)`, `export_project(name, path)`, `archive`,
344
- `restore`
345
-
346
- Project / Database / Archive kernel actions (v2.15.0+) add guarded project
347
- lifecycle, settings, database, preset, and archive boundary helpers:
348
-
349
- - `project_capabilities`
350
- - `probe_project_lifecycle`
351
- - `probe_project_settings(keys?, try_write?, dry_run?)`
352
- - `safe_project_create(name, media_location_path?, dry_run?)`
353
- - `safe_project_export(name, path, with_stills_and_luts?, dry_run?)`
354
- - `safe_project_import(path, name, dry_run?)`
355
- - `safe_project_archive(name, path, src_media=false, render_cache=false, proxy_media=false, dry_run?)`
356
- - `safe_project_restore(path, name, dry_run?)`
357
- - `safe_project_delete(name, close_current?, dry_run?)`
358
- - `safe_set_project_settings(settings, restore?, dry_run?)`
359
- - `project_settings_snapshot(name?)`
360
- - `database_capabilities`
361
- - `safe_set_current_database(db_info, dry_run?, allow_switch?)`
362
- - `preset_lifecycle_probe`
363
- - `project_boundary_report`
364
-
365
- Health check and declarative spec (v2.28.0+):
366
-
367
- - `lint` — graded project health pre-flight returning `{ok, counts, issues}`.
368
- Issues (error / warning / info) cover: no project, no current timeline, mixed
369
- frame rates across timelines, empty timeline, render format unset, color
370
- science unmanaged, offline media, and unanalyzed clips. Composed from existing
371
- probes; safe read-only.
372
- - `diff_to_spec(spec_path | spec)` — preview drift between a declarative spec and
373
- the live project WITHOUT mutating. Returns `{actions, diff, change_count}`.
374
- - `plan_spec(spec_path | spec)` — the ordered action list as a dry run.
375
- - `apply_spec(spec_path | spec, dry_run?, run_hooks?, continue_on_error?)` —
376
- reconcile the project toward the spec. Idempotent (re-runs are no-ops); color/
377
- HDR settings apply in dependency order; markers added only when absent; explicit
378
- `settings` override a named `color_preset`; before/after shell hooks run only
379
- with `run_hooks=true`. The spec is YAML or JSON:
380
- `{project, color_preset?, settings?, timelines:[{name, fps?, settings?, markers?}], hooks?}`.
381
- Note: `apply_spec` reconciles the **currently open or already-existing** project;
382
- creating a brand-new project from a spec depends on Resolve's `CreateProject`
383
- succeeding (it can return None when an unsaved project blocks the switch).
384
-
385
- Safe project actions require `_mcp_` names and temp paths by default. Database
386
- switching dry-runs by default because Resolve closes open projects when
387
- switching databases. Archive source media/cache/proxy flags are rejected unless
388
- explicitly opted in.
389
-
390
- **`project_manager_folders`** — Navigate project folders.
391
-
392
- Key actions: `list`, `get_current`, `create(name)`, `open(name)`, `goto_root`,
393
- `goto_parent`
394
-
395
- **`project_manager_database`** — Switch databases.
396
-
397
- Key actions: `get_current`, `list`, `set_current(db_info)`
398
-
399
- **`project_manager_cloud`** — Cloud projects (requires Resolve cloud
400
- infrastructure; most users will not have this).
401
-
402
- **`project_settings`** — Project metadata, settings, color groups, and misc
403
- operations on the open project.
404
-
405
- Key actions: `get_name`, `set_name(name)`, `get_setting(name?)`,
406
- `set_setting(name, value)`, `get_color_groups`, `add_color_group(name)`,
407
- `delete_color_group(name)`, `export_frame_as_still(path)`,
408
- `load_burnin_preset(name)`, `insert_audio(media_path, ...)`,
409
- `apply_fairlight_preset(preset_name)`,
410
- `project_summary(include_clips?, clip_limit?)` — live structural readout
411
- (current page, timeline count, media-pool inventory by type)
412
-
413
- ---
414
-
415
- ### Media
416
-
417
- **`media_storage`** — Browse mounted volumes and import files.
418
-
419
- Key actions: `get_volumes`, `get_subfolders(path)`, `get_files(path)`,
420
- `import_to_pool(items)` — `items` is a list of file path strings
421
-
422
- **`media_pool`** — Full Media Pool management.
423
-
424
- Key actions: `get_root_folder`, `get_current_folder`, `set_current_folder(path)`,
425
- `add_subfolder(name)`, `create_timeline(name)`, `import_timeline(path, options?)`,
426
- `import_media(paths)`, `delete_clips(clip_ids)`, `move_clips(clip_ids, target_path)`,
427
- `setup_multicam_timeline(name, clip_ids|angles, sync_mode?, include_audio?, dry_run?)`,
428
- `get_selected`, `set_selected(clip_id)`, `export_metadata(path, clip_ids?)`
429
-
430
- Media Pool / Ingest kernel actions (v2.8.0+) add safer agent-facing workflows:
431
- `ingest_capabilities`, `probe_media_pool`, `probe_ingest_item`,
432
- `safe_import_media`, `safe_import_sequence`, `safe_import_folder`,
433
- `organize_clips`, `copy_metadata`, `normalize_metadata`,
434
- `probe_clip_properties`, `metadata_field_inventory`, `safe_relink`,
435
- `safe_unlink`, `link_proxy_checked`, `link_full_resolution_checked`,
436
- `set_clip_marks`, `clear_clip_marks`, `copy_clip_annotations`,
437
- `setup_multicam_timeline`, and
438
- `media_pool_boundary_report`. See
439
- `docs/kernels/media-pool-ingest-kernel.md` for the live-tested support map.
440
-
441
- `setup_multicam_timeline` is a helper, not a native multicam API wrapper. It
442
- creates a source-safe stacked prep timeline with one angle per video track,
443
- optional matching audio tracks, and `stack_start`, `source_timecode`, or
444
- explicit `record_frame` placement. Native multicam clip creation, angle
445
- switching, and flattening remain Resolve UI workflows; see
446
- `docs/guides/multicam-setup-guide.md`.
447
-
448
- Note: `folder path` arguments use slash notation like `"Master/SubFolder"`.
449
- `"Master"` or `"/"` refers to the root folder.
450
-
451
- **`folder`** — Operations on a specific Media Pool folder.
452
-
453
- Key actions: `get_clips(path?)`, `get_subfolders(path?)`, `export(path?, export_path)`,
454
- `transcribe_audio(path?, use_speaker_detection?)`, `clear_transcription(path?)`,
455
- `perform_audio_classification(path?)`, `analyze_for_intellisearch(path?, identify_faces?, is_better_mode?)`,
456
- `analyze_for_slate(path?, marker_color?)`, `remove_motion_blur(path?, deblur_option?)` (Resolve 21+;
457
- the last three need AI Extras, and `remove_motion_blur` is confirm-token gated)
458
-
459
- **`media_pool_item`** — Read/write clip metadata and properties. All actions
460
- require a `clip_id` (the UUID returned by `GetUniqueId()`).
461
-
462
- Key actions: `get_name`, `get_metadata(key?)`, `set_metadata(key, value)`,
463
- `get_clip_property(key?)`, `set_clip_property(key, value)`, `get_clip_color`,
464
- `set_clip_color(color)`, `link_proxy(proxy_path)`, `replace_clip(path)`,
465
- `set_name(name)`, `link_full_resolution_media(path)`,
466
- `replace_clip_preserve_sub_clip(path)`, `monitor_growing_file`,
467
- `transcribe_audio(use_speaker_detection?)`, `clear_transcription`,
468
- `get_transcription` (read back `{text, truncated, status, has_transcription}`;
469
- `truncated` flags when Resolve's preview cut the text off),
470
- `perform_audio_classification`,
471
- `analyze_for_intellisearch(identify_faces?, is_better_mode?)`, `analyze_for_slate(marker_color?)`,
472
- `remove_motion_blur(deblur_option?)` (Resolve 21+; AI Extras / confirm-token gated as noted above),
473
- `get_audio_mapping`, `get_mark_in_out`, `set_mark_in_out`
474
-
475
- **`media_pool_item_markers`** — Markers and flags on clips in the Media Pool.
476
- All actions require a `clip_id`.
477
-
478
- Key actions: `add(frame, color, name, note, duration)`, `get_all`, `delete_by_color(color)`,
479
- `delete_at_frame(frame)`, `add_flag(color)`, `get_flags`, `set_name(name)`
480
-
481
- **`media_analysis`** — Project-scoped media intelligence and guarded metadata publishing.
482
-
483
- Media Analysis and editorial-assist actions (v2.17.0+) add source-safe planning,
484
- report reuse, persisted analysis execution, host_chat_paths visual review
485
- (finalized per clip via `commit_vision`), transcription, default Resolve
486
- metadata/marker writeback, and timeline-level editorial helpers.
487
-
488
- Key actions: `capabilities`, `install_guidance`, `resolve_output_root`, `plan`,
489
- `coverage_report`, `analyze_file`, `analyze_clip`, `analyze_bin`,
490
- `analyze_project`, `detect_sync_events`, `add_sync_event_markers`,
491
- `publish_clip_metadata`, `commit_vision`, `summarize`, `get_report`,
492
- `build_index`, `index_status`, `query_index`, `start_batch_job`,
493
- `run_batch_job_slice`, `batch_job_status`, `list_batch_jobs`,
494
- `cancel_batch_job`, `resume_batch_job`, `review_timeline_markers`,
495
- `cleanup_artifacts`, `db_status`, `db_ingest`, `get_panel_state`,
496
- `set_panel_state`, `session_start_context`, `update_clip_field`,
497
- `update_shot_field`, `get_field_history`, `revert_field`,
498
- `list_corrections`, `deepen`, `commit_shot_vision`, `vision_pending_sweep`,
499
- `build_embeddings`, `find_similar`, `detect_entities`, `commit_entities`,
500
- `list_entities`, `prepare_bin_briefing`, `commit_bin_summary`,
501
- `detect_shot_relationships`, `commit_shot_relationships`, and
502
- `list_shot_relationships`.
503
-
504
- **Cross-clip entities + bin briefing v2 (v2.44.0+).** Recurring
505
- people/places/props across a project's media, found cheaply and confirmed
506
- with ONE vision call per cluster:
507
- - `detect_entities(threshold?, min_cluster_size?)` clusters the v10 CLIP
508
- frame vectors (build visual embeddings first), writes provisional entity
509
- rows + appearances, and returns a deferred payload with one
510
- representative frame per cluster (caps pre-checked, estimate inlined).
511
- The host chat reads those frames and calls
512
- `commit_entities(entities=[{entity_index, kind, label, description,
513
- confidence, merge_with?}], vision_token)` — conservative labels only
514
- (describe what's visible; never guess names). `merge_with` collapses
515
- clusters that show the same entity.
516
- - `list_entities` returns labeled entities with per-clip/shot appearances;
517
- the panel's Review page shows a "Recurring across this bin" card.
518
- - `prepare_bin_briefing` returns entities + per-clip summaries (text-only,
519
- no vision cost); the host writes a colleague-style markdown briefing and
520
- calls `commit_bin_summary(briefing, briefing_token)`, which lands in
521
- `memory/bin_summary.md` above the v2.0 aggregate.
522
-
523
- **Cross-shot relationships (v2.49.0+).** Pattern recognition only (spec §4 —
524
- no editorial suggestions): `same_setup_as` / `alt_take_of` (symmetric) and
525
- `continues_from` (directional; the source shot continues from the target).
526
- - `detect_shot_relationships(setup_threshold?, alt_take_threshold?,
527
- continues_band?, max_candidates?)` — pairwise cosine over the per-shot
528
- visual vectors (build visual embeddings first; raise
529
- `max_frames_per_clip` if shot coverage is partial), plus transcript
530
- continuity as a second signal for `continues_from`. Returns a deferred
531
- payload with a representative frame PAIR per candidate (caps pre-checked,
532
- two frames per candidate). Candidates live only in the detection-state
533
- stash until committed — re-detect replaces them.
534
- - The host chat reads BOTH frames of each pair and calls
535
- `commit_shot_relationships(relationships=[{candidate_index, verdict:
536
- confirm|reject, relationship_type?, confidence?}], vision_token)`.
537
- Confirm only what the frames show; reject lookalikes. Overriding the
538
- suggested type is allowed. Committed rows supersede prior machine rows
539
- for the same pair.
540
- - `list_shot_relationships(clip_id?, shot_uuid?, relationship_type?)` —
541
- current rows with clip/shot context on both ends. The shot page's
542
- Relationships group fills from these rows, and `plan_swap` prefers
543
- confirmed `alt_take_of` alternates over raw cosine (the rationale states
544
- which basis ranked each alternate).
545
-
546
- **Embeddings + similarity (v2.43.0+).** Local-compute semantic search; no
547
- vendor tokens, so nothing here touches the caps ledger. Backends are
548
- detected, never installed (capabilities lists them with install guidance):
549
- text = ollama serving `nomic-embed-text` or sentence-transformers; visual =
550
- open_clip (ViT-B-32, needs torch); audio (v2.51.0+) = CLAP via
551
- `transformers` (laion/clap-htsat-unfused, preferred) or the `laion_clap`
552
- package — needs torch + ffmpeg.
553
- - `build_embeddings(kinds=["text","visual","audio"]?, clip_id?)` —
554
- idempotent; embeds clip summaries, shot descriptions (+ deep field
555
- groups), transcript segments, and sampled frames (per-shot visual vector
556
- = mean of its frames'). `kinds=["audio"]` embeds one CLAP window per shot
557
- (center-cropped to ~10s, piped from the source media as raw PCM —
558
- read-only, no temp files) plus a clip-level mean vector; clips whose
559
- media is offline are reported in `skipped_missing_media`. Only re-embeds
560
- entities whose content changed.
561
- - `find_similar(text=… | clip_id=… | clip_id+shot_index,
562
- kind="text"|"visual"|"audio", entity_types?, limit?)` — brute-force
563
- cosine over the project's vectors. Free-text visual queries use the CLIP
564
- text encoder ("cracked windshield" finds the frame); free-text audio
565
- queries use the CLAP text encoder ("engine revving" finds the shot).
566
- Results carry scores plus clip/shot/segment context.
567
- The panel search box gains a `Semantic` toggle when a text backend is
568
- detected. Vectors live in the per-project DB (schema v10).
569
-
570
- **Deep shot-level vision tier (v2.42.0+).** Opt-in, estimate-first. Two
571
- entry points share one per-shot schema (Visual / Content / Production /
572
- Editorial / Cuttability / description / confidence):
573
- - `depth="deep"` on any analyze action extends the deferred host-vision
574
- payload with `deep_shot_schema`; each `shot_descriptions` entry must carry
575
- the field groups. The first deep run returns `confirmation_required` with
576
- a token-cost estimate — re-call with `confirm_deep=true`. Caps still apply.
577
- - `deepen(clip_id|clip_dir, shot_index?|shot_indices?)` runs the pass
578
- post-hoc on an already-analyzed clip. First call returns the estimate +
579
- `confirm_token`; re-call with the token to get the deferred payload, read
580
- its `frame_paths`, and commit via
581
- `commit_shot_vision(clip_id, shots=[{shot_index, ...groups...}],
582
- vision_token)`. Deep fields land as `vision_deep_v1` provenance rows;
583
- human corrections always survive. Shots with no sampled frames on disk get
584
- 1–2 frames re-extracted via ffmpeg (read-only on source media).
585
- `vision_pending_sweep(expire?, max_age_days?, reoffer?)` lists clips stuck
586
- in `pending_host_analysis`; `reoffer=true` returns each clip's stored
587
- deferred payload to finish the run, `expire=true` stamps them
588
- `expired_host_analysis` so pendings never linger silently.
589
-
590
- **DB-canonical analysis store (v2.41.0+).** The per-project SQLite DB
591
- (`_soul/timeline_brain.sqlite`, schema v9+) is the source of truth for clip
592
- analysis; `analysis.json` is a derived export written in lockstep. Analysis
593
- runs write rows first (clips, shots, per-field subjective provenance,
594
- transcript segments, sampled frames, QC observations) and then export the
595
- JSON. Human corrections recorded via `update_clip_field` / `update_shot_field`
596
- live as row-level provenance and always survive re-analysis. Readers
597
- (panel API, exports) load DB-first and fall back to `analysis.json` for
598
- reports that predate v9. `db_status` reports schema version + row counts;
599
- `db_ingest` migrates an existing project's JSON reports (and
600
- `corrections.json` sidecars) into the DB — run it once on older analysis
601
- roots.
602
- The tool never installs
603
- dependencies and validates that outputs stay under
604
- `davinci-resolve-mcp-analysis` project roots rather than beside source media.
605
- Executed Resolve-target analysis defaults to running, persisting inspectable
606
- artifacts, and publishing metadata plus Media Pool clip markers. Use
607
- `dry_run=true`, `publish_metadata=false`, `timed_markers=no`, or
608
- `session_only=true` with `keep_artifacts=false` to disable those defaults for a
609
- run. Persisted analysis refreshes the local SQLite search index automatically unless
610
- `auto_build_index=false` is set; `build_index` remains the manual rebuild action
611
- for existing reports. `quick` uses ffprobe metadata; `standard` adds ffmpeg
612
- read-through checks,
613
- cut-boundary analysis from full-stream scene detection, flash-frame candidates,
614
- motion/variance scoring, analysis keyframes, and sidecar reports.
615
- `depth` controls which layers run; a separate `sampling_mode` controls how many
616
- frames each clip gets for visual analysis (and thus token cost): `fixed`
617
- (Economy, flat content-blind frames), `per_minute` (Balanced, frames scale with
618
- duration), `adaptive_capped` (Thorough, content-aware bounded to
619
- `[frame_floor, frame_ceiling]` — recommended/default), or `adaptive` (Thorough
620
- uncapped). When no default is saved, the first analyze returns
621
- `confirmation_required` with a `sampling_mode_prompt`; choosing a mode saves it
622
- as the default. Pass `sampling_mode` per call for a one-off. The mode owns frame
623
- count — `analysis_caps.frames_per_clip` is a safety ceiling above it, not the
624
- primary dial.
625
- By default, planning checks the active project's analysis root and bounded
626
- related project-version roots for existing reports, then marks matching clips
627
- `skip_execution=true` when those reports already contain the requested
628
- technical, motion, transcription, and vision layers.
629
- Resolve clip records also carry the published third-party
630
- `davinci_resolve_mcp.analysis_report_path` when metadata writeback has run; use
631
- that provenance as a first-class reuse hint even if the report lives under a
632
- previous project-version analysis root.
633
- The planner also maintains an `analysis_registry.json` under the analysis base
634
- root. This registry indexes report paths by source path, clip id, media id, and
635
- signature so project renames and versioned Resolve projects can still find prior
636
- work quickly.
637
- Reports include cache signatures with source stat, depth, frame budget, prompt
638
- hash, and requested modalities. Use `force_refresh=true` for a fresh read,
639
- `max_report_age_days` for freshness limits, and `reuse_policy="fresh"` when
640
- unsigned older reports should not be reused. Pass `reuse_existing=false` only
641
- when the user explicitly wants to ignore memory; pass
642
- `search_related_project_roots=false` only for intentionally isolated runs.
643
- If Resolve metadata shows prior MCP analysis but the planner cannot validate a
644
- matching report, execution returns `status="reuse_blocked"` instead of silently
645
- reanalyzing. Treat that as a project-memory integrity warning; restore the
646
- report or pass `force_refresh=true` only when the user explicitly wants fresh
647
- analysis.
648
- Transcription, visual analysis, metadata writeback, and Media Pool marker
649
- writeback are default-on. Vision uses
650
- `vision.provider="host_chat_paths"`: analyze actions extract representative
651
- frames to disk under the project analysis root and return a deferred payload
652
- containing absolute `frame_paths`, a `shot_table` mapping each detected shot
653
- range to its in-shot `frame_indices`, the JSON schema, and a `commit_action`.
654
- The host chat must read those frames as local images, produce JSON per the
655
- schema (including one `shot_descriptions` entry per `shot_index` in the
656
- `shot_table`, grounded only in the frames listed for that shot), and call
657
- `media_analysis(action="commit_vision", params={clip_id, visual,
658
- vision_token})` per clip to merge the visual report, rebuild Media Pool clip
659
- markers, and publish vision-dependent metadata to Resolve. Each Resolve shot
660
- marker inherits its description from `shot_descriptions[shot_index]`; missing
661
- entries fall back to an in-range `analysis_keyframe` and finally to a
662
- clip-summary-tagged fallback — never to a neighbour shot's description. The manifest exposes
663
- `vision_pending=True` and `pending_action` so callers know what is incomplete.
664
- Pass `include_visuals=false`, `include_transcription=false`,
665
- `publish_metadata=false`, or `timed_markers=no` to opt out. Agents must not add
666
- those opt-out flags preemptively; use them only when requested or when a target
667
- boundary requires it. Standard/deep runs prioritize first/last usable frames
668
- plus before/after cut-boundary frames as the sampled set. Skipping
669
- `commit_vision` leaves the run in `pending_host_vision_analysis` — that is a
670
- failure mode to surface, not a silent downgrade. The local mock providers are
671
- for tests and do not send frames off-machine.
672
-
673
- When creating timelines through `media_pool`, use `if_exists="reuse"` for
674
- idempotent reruns, `if_exists="version"` for deliberate alternate cuts, and
675
- `if_exists="fail"` when duplicate names indicate a workflow error.
676
- Use `detect_sync_events` before multicam setup, deliverable QC, or single-camera
677
- sync review when the user needs likely 2-pop or slate-clap locations. It reads
678
- source audio through FFmpeg/FFprobe only, returns advisory frames/timecodes and
679
- per-file `record_offset` suggestions, and never installs FFmpeg automatically.
680
- It also returns marker suggestions; `add_sync_event_markers` remains an explicit
681
- marker-write action for standalone sync detections.
682
- Use `publish_clip_metadata` when the user wants analysis to become searchable
683
- inside Resolve. It analyzes or reuses reports, proposes field-specific merges
684
- for `Description`, `Comments`, `Keywords`, `People`, and optional slate-derived
685
- fields, stores provenance in third-party metadata, and writes metadata plus
686
- source-time markers by default for executed Resolve-target analysis. Disable a
687
- write run with `dry_run=true`, `publish_metadata=false`, or `timed_markers=no`.
688
- `review_timeline_markers` creates a labeled
689
- Resolve-rendered marker contact sheet plus JSON sidecar; with
690
- `vision.enabled=true` it returns a host_chat_paths review payload (image_path +
691
- prompt) so the host chat can read the sheet and answer inline — no commit step
692
- required for marker review.
693
-
694
- Before calling `analyze_*`, prefer `summarize` and `get_report` to discover
695
- existing reports for the active project. If reports exist, use them as the
696
- working memory for edit decisions and only request fresh analysis when a missing
697
- layer changes the decision. If a user is
698
- making story or audio-spine decisions and transcription is available but disabled,
699
- tell them that transcript analysis may materially improve the edit instead of
700
- silently skipping it. Resolve-native transcription changes project state; use it
701
- only when that mutation is intentional.
702
-
703
- ---
704
-
705
- ### Timelines
706
-
707
- **`edit_engine`** — Evidence-driven edit loops (v2.45.0+): selects assembly,
708
- tighten, swap.
709
-
710
- Every loop is plan → confirm → execute. plan_* actions are dry-run by
711
- construction: they query the DB-canonical analysis store and return a
712
- per-decision rationale plus a stored `plan_id` (plans persist under
713
- `memory/edit_plans/` with a content fingerprint, so a stale plan cannot run
714
- against a changed project). execute_* actions require a `confirm_token`, run
715
- under the version-on-mutate hook, and return before/after duration and
716
- clip-count readback plus `brain_edits` rationale rows.
717
-
718
- - `plan_selects(min_select_potential?, max_duration_seconds?, max_shots?,
719
- timeline_name?, analysis_root?)` — ranks shots by deep-tier
720
- `editorial.select_potential` / best moments (clip-level fallback for
721
- standard-analyzed clips), story-spine order.
722
- `execute_selects(plan_id)` creates a NEW selects timeline from the plan's
723
- per-shot source ranges — additive; nothing existing is touched.
724
- - `plan_tighten(timeline_name?, target_ratio?, min_pause_seconds?,
725
- handle_seconds?, include_audio?)` — dead-air lifts from transcript-gap
726
- evidence for each timeline item (items without transcripts are reported in
727
- `skipped`, never silently trimmed). `execute_tighten(plan_id)` assembles a
728
- tightened VARIANT timeline from the plan's keep ranges — true partial
729
- trims; the original timeline is never mutated. v2.52.0+: kept ranges mirror
730
- onto each item's linked audio track(s) so the variant is audible (a
731
- speech-driven cut was previously silent — #67); pass
732
- `include_audio=false` for a video-only assembly, and the
733
- `execute_tighten` readback carries an `audio_accounting` block.
734
- - `plan_swap(timeline_start_frame | item_name, kind="visual"|"text",
735
- limit?)` — alternates for one timeline item via the similarity index,
736
- filtered to shots long enough to fill the slot exactly.
737
- `execute_swap(plan_id, alternate_index)` replaces the item in place
738
- (lift + positioned append at the same record frame) on the
739
- version-archived timeline. v2.48.0+: the lift is scoped to the target's
740
- video track plus its linked audio tracks (GetLinkedItems with a
741
- media-id fallback), and `readback` carries per-track-type
742
- `track_counts` plus an `audio_accounting` block so swap symmetry is
743
- verifiable. `execute_tighten` readback gains `structural_diff` (source
744
- vs variant, via the same engine as `diff_timelines`); `execute_selects`
745
- readback gains a `usage_summary`.
746
- - `list_plans(limit?)` / `get_plan(plan_id)`.
747
-
748
- The engine needs the analysis substrate: analyzed clips in the DB (run
749
- `db_ingest` on older roots), transcripts for tighten, and visual embeddings
750
- (`build_embeddings(kinds=['visual'])`) for swap.
751
-
752
- Plans are reviewable in the control panel (Media → Edit Plans, v2.47.0+):
753
- decisions/lifts/alternates with thumbnails and rationale, deep links to shot
754
- pages, and a copyable per-kind execute prompt. The panel never executes —
755
- when the user says they reviewed a plan there, execution still comes back
756
- through chat with the confirm-token gate.
757
-
758
- **`timeline_versioning`** — Version-on-mutate, archive, rollback, brain-edit history (C6).
759
-
760
- Every destructive timeline op (compound, captions, ripple delete, gap close,
761
- retime, marker batch, track add/delete, take swaps, color grade, etc.) auto-
762
- archives the working timeline to the `Archive` bin under an `analysis_run_id`
763
- before the mutation runs. This tool surfaces and controls that history.
764
-
765
- Key actions:
766
- - `begin_run(label?, initiator?, analysis_run_id?)` — open a multi-step run.
767
- Subsequent destructive calls auto-thread this run's ID, so a brain
768
- operation that touches 5 clips creates ONE archive + 5 logged edits
769
- instead of 5 separate archives.
770
- - `end_run(analysis_run_id?)` — close the run; aggregates brain_edits into
771
- per-metric rollup in `analysis_runs.summary_json`.
772
- - `list_runs(limit?)` — recent runs newest first with their summaries.
773
- - `archive_current(reason?, analysis_run_id?)` — manual checkpoint of the
774
- current timeline. Idempotent within an `analysis_run_id`. Also captures a
775
- structural snapshot (every clip's placement, written to `timeline_clip_usage`)
776
- and a thumbnail (when the Color page has a current clip).
777
- - `list_versions(timeline_name)` — version chain, oldest first. Each row
778
- includes `archived_timeline_name`, `created_at`, `analysis_run_id`,
779
- `initiator`, `thumbnail_path`, and `drt_export_path` (set when the version
780
- was retention-collapsed to disk).
781
- - `diff_versions(timeline_name, from_version, to_version)` — structural diff
782
- between two snapshots: `{added, removed, moved, trimmed, summary}`. `trimmed`
783
- lists clips kept in place but re-trimmed (carries `out_frame_before`); `summary`
784
- has per-bucket counts plus `before_clip_count`/`after_clip_count`. Clips are
785
- keyed by media_pool_item_id and timeline position.
786
- - `diff_timelines(from_timeline, to_timeline)` (v2.48.0+) — the same
787
- structural diff between two LIVE timelines by NAME, read-only, no archived
788
- snapshots needed. Built for edit-engine variants (tighten/selects produce
789
- new-name timelines with no shared version chain). For unrelated timelines
790
- everything reports as added/removed.
791
- - `get_history(timeline_name?, analysis_run_id?, limit?)` — brain-edit rows
792
- with `edit_type`, `target_metric`, `before_value`, `after_value`, `delta`,
793
- `rationale`, and `initiator`. Filter by timeline or run; defaults to 50.
794
- - `media_pool_changes(analysis_run_id?, media_pool_action?, limit?)` —
795
- destructive media-pool history (deletes, replaces, relinks) from the
796
- `media_pool_changes` table. Separate from brain_edits because the
797
- addressable entity is a media_pool_item, not a timeline.
798
- - `rollback(timeline_name, version, analysis_run_id?)` — archive current first,
799
- then duplicate the archived version back as a new `<name>_rolled_back_<HHMMSS>`.
800
- - `prune(timeline_name, keep_n=10)` — collapse old versions to `.drt` exports
801
- under `<project>/_soul/timeline_versions/<slug>/` and remove them from the
802
- bin. DB row preserved with `drt_export_path` populated for later rollback.
803
- - `registry()` — cross-project brain-edits registry that lives at the analysis
804
- base root (one level above each project_root). Mirrors `analysis_registry.json`.
805
-
806
- **Strict mode** — `timeline.delete_timelines`, `timeline.delete_track`, and
807
- `timeline.delete_clips(ripple=True)` REFUSE to run when the pre-mutation
808
- archive can't be created. Pass `strict=true` on any destructive op to opt in.
809
- This prevents catastrophic ops from proceeding when versioning is broken.
810
-
811
- **Action filtering** — `timeline_item.set_property(key='Notes')` and
812
- `timeline.set_clip_property(key='Notes'|'Comments')` bypass versioning because
813
- free-text metadata isn't worth archiving. See `NO_ARCHIVE_ON_KEYS` in
814
- `src/utils/destructive_hook.py` to add more.
815
-
816
- **Preferences** — `timeline_versioning_auto_save_after_archive` (default false)
817
- triggers `project.SaveProject()` after every archive so Resolve crashes don't
818
- lose history. Configure via the `setup` tool's preferences.
819
-
820
- ### Analysis Caps
821
-
822
- `media_analysis` honors a project-wide caps preset that controls 7 dimensions
823
- of analysis cost: response payload size, frames per clip, vision tokens per
824
- clip / per job / per day, wall-clock seconds per call, and the maximum frame
825
- image dimension before upload. Four named presets, plus per-field overrides.
826
-
827
- | Dimension | minimal | standard | generous | unlimited |
828
- |------------------------------:|--------:|---------:|----------:|----------:|
829
- | response_chars | 5,000 | 25,000 | 100,000 | none |
830
- | vision_tokens_per_clip | 5,000 | 25,000 | 100,000 | none |
831
- | frames_per_clip | 4 | 8 | 24 | none |
832
- | vision_tokens_per_job | 50,000 | 250,000 | 1,000,000 | none |
833
- | vision_tokens_per_day | 100,000 | 500,000 | 2,000,000 | none |
834
- | wall_clock_seconds_per_call | 30 | 90 | 300 | none |
835
- | max_frame_dim_pixels | 512 | 768 | 1280 | none |
836
-
837
- Default preset: `standard`. Set via `media_analysis(action="set_caps_preset",
838
- preset=…, overrides={...})` or the dashboard's **Preferences → Analysis Caps**
839
- panel. Inspect via `media_analysis(action="get_caps")` which returns the
840
- effective values + a usage rollup (clip / job / day) with percent-consumed.
841
- `media_analysis(action="get_usage", scope="day"|"job"|"clip")` returns raw
842
- counts for one scope. Usage is tracked in
843
- `<project>/_soul/timeline_brain.sqlite` (`analysis_token_usage` table).
844
-
845
- Resolve 21's local AI ops (audio classification, IntelliSearch, slate,
846
- motion-deblur, speech generation) run on Resolve's own GPU/AI engine and do NOT
847
- spend the Claude analysis token budget — they are tracked separately in the
848
- `resolve_ai_op_usage` table. Inspect with
849
- `media_analysis(action="get_resolve_ai_usage", session_only?, op?, limit?)` →
850
- `{summary, recent}` (invocation counts, wall-clock, and files/bytes created by
851
- `remove_motion_blur` / `generate_speech`). The control panel shows the same as a
852
- read-only "Resolve 21 AI ops" card.
853
-
854
- The two media-creating ops also have **soft governance tiers**
855
- (`off`|`lenient`|`standard`|`strict`, default `standard`) capping per-session
856
- deblur/speech runs, bytes, and render time. It is advisory — the confirm dialog
857
- warns when near/over the tier but never blocks (the ops are confirm-gated).
858
- Inspect/set with `media_analysis(action="get_ai_governance")` and
859
- `media_analysis(action="set_ai_governance", preset=…, mode=…, overrides={...})`.
860
- Governance `mode` is `advisory` by default (preview warnings only); `enforce`
861
- blocks an over-tier run with `GOVERNANCE_BLOCKED` until the tier is raised, the
862
- mode is relaxed, or the op is re-called with `override_governance=true`. Ledger
863
- rows, brain edits, and timeline versions record the acting instance
864
- (`stdio` / `network-sse` / `network-http` / `control-panel` / `batch-cli` + pid)
865
- in an `actor` field; the AI
866
- Console's Governance section offers a tier picker + consumption gauges.
867
-
868
- The caps layer:
869
- - Slices `frame_paths` to `frames_per_clip` before the host LLM sees them.
870
- - Downscales each sampled frame in place to `max_frame_dim_pixels` (Pillow;
871
- degrades silently to original-resolution upload if not installed).
872
- - Trims the analysis response payload to `response_chars`, dropping the
873
- largest list/string fields first and marking the trim under `_trimmed`.
874
- - Records actual token usage from the host's `commit_vision` payload's
875
- optional `usage: {vision_tokens, ...}` block. Hosts that don't report
876
- tokens still get `frames_uploaded` recorded.
877
-
878
- Wall-clock timeout + cumulative-budget refusal are implemented in
879
- `src/utils/analysis_caps.py` and ready to hook at additional call sites in
880
- the analysis pipeline; the initial integration is at frame sampling +
881
- response construction + commit_vision usage recording.
882
-
883
- **Declared edits** — when the brain (or an agent acting deliberately) wants to
884
- measure an edit, pass `metric`, `direction`, and `rationale` in the params of
885
- the destructive call. The hook captures `before_value` and `after_value` from
886
- the live timeline (using the metric vocabulary in `brain_edits.py`) and writes
887
- them to the `brain_edits` row. Without these, the edit is still logged but with
888
- null metric — gives history without requiring deliberate intent.
889
-
890
- Supported metrics: `duration_seconds`, `avg_performance_score`, `clip_count`,
891
- `gap_count`, `total_gap_seconds`, `redundancy_score`.
892
-
893
- **`timeline`** — Timeline operations: tracks, clips, import/export, generators.
894
-
895
- Key actions:
896
- - `list` — all timelines in the project
897
- - `get_current` — current timeline info
898
- - `set_current(index)` — switch timeline by 1-based index
899
- - `get_track_count(track_type)` — track_type: `"video"`, `"audio"`, `"subtitle"`
900
- - `get_transcript(with_timecodes?)` — read the subtitle track(s) as transcript
901
- text `{text, cue_count, has_subtitles, cues}`
902
- - `propose_cuts(cues?, long_pause_frames?)` — DRY-RUN: mechanically detect
903
- candidate cuts (fillers, long pauses, repeats) from the transcript; proposes only
904
- - `apply_cuts(cuts, dry_run?, confirm_token?)` — apply a CutList as lift/ripple
905
- deletes. DRY-RUN by default; applying is destructive (confirm-token gated, a
906
- timeline version is archived first). Cuts apply latest-first
907
- - `add_track(track_type, sub_type?)` / `delete_track(track_type, index)`
908
- - `get_items(track_type, index)` — items on a track
909
- - `clip_where(track_type?, track_index?, name_contains?, duration_lt?, duration_gt?)` —
910
- (v2.28.0+) return clips on the current timeline matching named filters (AND),
911
- instead of walking tracks by hand. Filters may be passed inline or as a
912
- `filters` dict; a mistyped filter name is rejected rather than silently
913
- matching everything. Returns `{clips, match_count, total_clips}`.
914
- - `delete_clips(clip_ids, ripple?)` — IDs are unique IDs from `get_items`
915
- - `duplicate_clips(clip_ids?, selected?, target_track_index?, track_offset?, placement?, record_frame?, record_frame_offset?, copy_properties?, include_linked?)` —
916
- duplicate existing video timeline items by re-appending the same Media Pool
917
- item with the same source trim; `selected=True` uses Resolve's selected/current
918
- item when available, `placement` supports `"same_time"`, `"offset"`,
919
- `"at_playhead"`, `"track_above"`, `"after_source"`, and `"next_gap"`, and
920
- `include_linked=True` duplicates linked audio and restores link state.
921
- `copy_properties` can copy `transform`, `crop`, `composite`, `audio`,
922
- `retime`, `dynamic_zoom`, `scaling`, `stabilization`, `clip_color`,
923
- `markers`, `flags`, `enabled`, `cache`, `voice_isolation`, `fusion`,
924
- `grades`, `takes`, and `keyframes`; `transitions` is accepted but reported
925
- unsupported because Resolve's public scripting API does not expose transition
926
- cloning. `copy_keyframes=True` adds the `keyframes` group.
927
- - `copy_clips(...)` / `move_clips(...)` — same safe append path; `move_clips`
928
- deletes successfully duplicated source items afterward
929
- - `copy_range` / `duplicate_range` — copy exact video/audio source segments
930
- from `start_frame`/`end_frame` or mark in/out to `record_frame`
931
- - `overwrite_range` — delete whole destination overlaps, then copy the exact
932
- range segment
933
- - `lift_range` — delete whole items in a range; partial overlaps require
934
- `allow_partial_item_delete=True` because Resolve does not expose a safe
935
- partial lift primitive here
936
- - `story_spine_report` — read markers, source ranges, and audio/video structure
937
- into an editor-facing beat report
938
- - `create_variant_from_ranges(name, ranges, markers?, cdl?, dry_run?)` — create
939
- a guarded timeline variant from declarative source ranges, optional markers,
940
- transforms, and CDL
941
- - `bulk_set_item_properties(ops, dry_run?, readback?)` — apply transforms,
942
- crop/composite/audio/property groups to many timeline items in one call
943
- - `apply_look_to_items(target_ids, cdl?|copy_from_item_id?, dry_run?)` — apply a
944
- normalized CDL and/or copy a source grade to multiple video items
945
- - `thumbnail_contact_sheet` / `marker_thumbnail_review` — sample Resolve-rendered
946
- thumbnails under the project analysis root for visual verification
947
- - `edit_kernel_capabilities` — report supported, partially supported, and
948
- unsupported timeline edit kernel behavior
949
- - `probe_edit_kernel_item(clip_ids? selected? timeline_item?)` — read-only
950
- capability/property probe for timeline items, including available item
951
- methods, `GetProperty()` values, known property keys, keyframe counts, and
952
- linked item summaries
953
- - `title_property_scan(clip_id|timeline_item_id|timeline_item)` — inspect
954
- undocumented Edit-page title/generator `TimelineItem.GetProperty()` keys
955
- - `set_title_text(clip_id|..., text, property_key?, as_styled_xml?, try_plain_first?, try_heuristic_keys?, readback?)`
956
- / `bulk_set_title_text(ops, ...)` — update title text via explicit or scanned
957
- keys when the current Resolve build accepts the `SetProperty()` write
958
- - `export(path, type, subtype?)` — type: `"AAF"`, `"EDL"`, `"FCPXML"`, `"DRT"`, etc.
959
- - `insert_generator(name)`, `insert_title(name)`, `insert_fusion_title(name)`
960
- - `get_mark_in_out`, `set_mark_in_out(mark_in, mark_out, type?)`
961
- - `duplicate(name?)` — duplicate the current timeline
962
- - `get_voice_isolation_state(track_index)` / `set_voice_isolation_state`
963
- - `extract_source_frame_ranges(handles?, gap_max?, skip_extensions?)` — return
964
- inclusive source frame ranges for current-timeline video clips, with fixed
965
- handles or gap-only auto handles when `handles=0`
966
-
967
- Timeline Conform / Interchange kernel actions (v2.13.0+) add live-tested
968
- structure, interchange, comparison, missing-media, and relink-planning helpers:
969
-
970
- - `conform_capabilities`
971
- - `probe_timeline_structure(track_types?, include_markers?, include_clip_properties?)`
972
- - `detect_gaps_overlaps(track_types?, min_gap?)`
973
- - `source_range_report(handles?, merge?)`
974
- - `export_timeline_checked(path, format?|type?, subtype?, require_temp_path?, dry_run?)`
975
- - `import_timeline_checked(path, options?, timeline_name?, import_source_clips?, require_temp_path?, dry_run?)`
976
- - `compare_timelines(right_timeline_id?|right_timeline_index?|left_snapshot?, right_snapshot?)`
977
- - `probe_interchange_roundtrip(format?, output_dir?, cleanup_imported?)`
978
- - `detect_missing_media(sanitized?|sanitize_paths?, omit_raw_paths?)`
979
- - `build_relink_plan(search_roots, max_depth?, max_seconds?, max_files_scanned?, skip_search_when_volume_missing?, sanitized?)`
980
- - `conform_boundary_report`
981
-
982
- For offline media, prefer the sanitized readback first:
983
- `timeline(action="detect_missing_media", params={"sanitized": true})`. The
984
- response includes a `diagnosis` block with deduplicated Media Pool items,
985
- missing volume roots, sample basenames, and a recommended next step. If a source
986
- volume such as a camera card is not mounted, `build_relink_plan` skips broad
987
- search by default and reports `skip_reason="missing_source_volume_not_mounted"`;
988
- mount the volume or pass `skip_search_when_volume_missing=false` only when a
989
- bounded scan of approved roots is intentional.
990
-
991
- Audio / Fairlight kernel actions (v2.14.0+) add live-tested audio state,
992
- mapping, voice-isolation, sync, transcription, subtitle, and Fairlight boundary
993
- helpers:
994
-
995
- - `audio_capabilities`
996
- - `probe_audio_track(track_index?)`
997
- - `probe_audio_item(track_type?, track_index?, item_index?)`
998
- - `safe_set_audio_properties(properties, restore?, dry_run?, track_type?, track_index?, item_index?)`
999
- - `audio_mix_capability_report(...)`
1000
- - `voice_isolation_capabilities(track_index?, track_type?, item_index?)`
1001
- - `audio_mapping_report(clip_ids?)`
1002
- - `safe_auto_sync_audio(clip_ids|selected, settings?, dry_run?)` — `settings`
1003
- accepts human-readable keys: `method`/`mode` (`waveform`|`timecode`),
1004
- `channel` (`auto`|`mix`|int), `retain_embedded_audio`, `retain_video_metadata`.
1005
- Unrecognized keys are dropped and echoed back in `ignored_settings` rather than
1006
- silently failing the call.
1007
- - `transcription_capabilities(clip_ids?|selected?)`
1008
- - `subtitle_generation_probe(settings?, allow_generate?)` — `settings` accepts
1009
- human-readable keys resolved to live `SUBTITLE_*`/`AUTO_CAPTION_*` enums:
1010
- `language` (e.g. `english`, `korean`), `preset` (`default`|`teletext`|`netflix`),
1011
- `line_break` (`single`|`double`), `chars_per_line` (1–60), `gap` (0–10).
1012
- Unrecognized keys/values are dropped and echoed in `ignored_settings`; generation
1013
- is read-back verified against the subtitle track count.
1014
- - `fairlight_boundary_report`
1015
-
1016
- **`timeline_markers`** — Markers and playhead on the current timeline.
1017
-
1018
- Key actions: `add(frame|frame_id|timecode?, color?, name?, note?, duration?)`, `get_all`,
1019
- `get_current_timecode`, `set_current_timecode(timecode)`,
1020
- `get_current_video_item`, `get_thumbnail`, `get_thumbnail_image`
1021
-
1022
- Review Annotation kernel actions (v2.10.0+) add a unified review layer across
1023
- timeline, timeline item, and media pool item scopes: `annotation_capabilities`,
1024
- `probe_annotations`, `normalize_marker_payload`, `copy_annotations`,
1025
- `move_annotations`, `sync_marker_custom_data`, `clear_annotations_by_scope`,
1026
- `export_review_report`, and `annotation_boundary_report`. See
1027
- `docs/kernels/review-annotation-kernel.md` for the live-tested scope and boundary map.
1028
-
1029
- For `add`, omit `frame`/`timecode` to create the marker at the current playhead.
1030
- The compound tool accepts `frame`, `frame_id`, and `frameId` aliases.
1031
-
1032
- Note: `get_thumbnail` returns raw pixel data from `GetCurrentClipThumbnailImage()`.
1033
- The dictionary includes `data` (raw bytes as a Python bytes-like object),
1034
- `format`, `width`, `height`, `noOfComponents`, and `depth`. This reflects the
1035
- current frame as rendered by Resolve — including any color grading or effects
1036
- applied — which is different from reading the source file directly.
1037
-
1038
- Use `get_thumbnail_image` when the MCP client can display image content directly.
1039
- It converts the same Resolve thumbnail payload to PNG bytes without writing a
1040
- file to disk.
1041
-
1042
- **`timeline_ai`** — AI/ML analysis on the current timeline.
1043
-
1044
- Key actions: `create_subtitles(settings?)` (human-readable settings resolved to
1045
- `SUBTITLE_*`/`AUTO_CAPTION_*` enums + read-back verified — see
1046
- `subtitle_generation_probe`), `detect_scene_cuts`,
1047
- `grab_still`, `grab_all_stills(source?)`, `analyze_dolby_vision`
1048
-
1049
- ---
1050
-
1051
- ### Timeline Items
1052
-
1053
- Timeline items are identified by `track_type`, `track_index`, and `item_index`
1054
- (all default to `"video"`, `1`, `0` respectively — the first clip on the first
1055
- video track). Always retrieve item IDs via `timeline.get_items` before operating
1056
- on specific items.
1057
-
1058
- **`timeline_item`** — Properties, transform, speed, audio, keyframes.
1059
-
1060
- Key actions:
1061
- - `get_property(key?)` / `set_property(key, value)` — raw property access
1062
- - `get_name` / `set_name(name)`
1063
- - `get_duration`, `get_start`, `get_end`
1064
- - `get_retime` / `set_retime(process?, motion_estimation?)`
1065
- - process: `"nearest"`, `"frame_blend"`, `"optical_flow"` (or 0–3)
1066
- - motion_estimation: integer 0–6
1067
- - `get_transform` / `set_transform(Pan?, Tilt?, ZoomX?, ZoomY?, RotationAngle?, ...)`
1068
- - `get_crop` / `set_crop(CropLeft?, CropRight?, CropTop?, CropBottom?, ...)`
1069
- - `get_composite` / `set_composite(Opacity?, CompositeMode?)`
1070
- - `get_audio` / `set_audio(Volume?, Pan?, AudioSyncOffset?)`
1071
- - `get_voice_isolation_state` / `set_voice_isolation_state(state)` — Resolve
1072
- 20.1+; audio timeline items only
1073
- - `get_keyframes(property)`, `add_keyframe(property, frame, value)`,
1074
- `modify_keyframe`, `delete_keyframe`, `set_keyframe_interpolation`
1075
- - interpolation values: `"Linear"`, `"Bezier"`, `"EaseIn"`, `"EaseOut"`, `"EaseInOut"`
1076
- - `get_unique_id` — use this to get the ID for other tool calls
1077
- - `get_media_pool_item` — get the source clip from the Media Pool
1078
-
1079
- **`timeline_item_markers`** — Markers, flags, clip color on timeline items.
1080
-
1081
- **`timeline_item_fusion`** — Fusion comp management on timeline items.
1082
-
1083
- Key actions: `add_comp`, `get_comp_count`, `get_comp_names`, `export_comp(path, index)`,
1084
- `import_comp(path)`, `delete_comp(name)`, `load_comp(name)`, `rename_comp`,
1085
- `get_cache_enabled`, `set_cache(value)` — value: `"Auto"`, `"On"`, `"Off"`
1086
-
1087
- **`timeline_item_color`** — Color grading on timeline items. Requires Color page
1088
- for most operations.
1089
-
1090
- Key actions:
1091
- - `set_cdl(cdl)` — cdl: `{NodeIndex, Slope, Offset, Power, Saturation}`
1092
- - Slope/Offset/Power can be arrays `[R, G, B]` or strings like `"1.0 1.0 1.0"`
1093
- - `add_version(name, type?)`, `load_version(name, type?)`, `get_version_names(type?)`
1094
- - type: `0` = local, `1` = remote
1095
- - `assign_color_group(group_name)`, `remove_from_color_group`
1096
- - `export_lut(type, path)`
1097
- - `reset_all_node_colors` — Resolve 20.2+; resets node colors for the active
1098
- clip version
1099
- - `stabilize`, `smart_reframe`
1100
- - `create_magic_mask(mode)` — mode: `"F"` forward, `"B"` backward, `"BI"` bidirectional
1101
- (requires DaVinci Neural Engine and Color page)
1102
-
1103
- Color / Grade kernel actions (v2.11.0+) add safer grade inspection and
1104
- boundary helpers: `grade_capabilities`, `probe_grade_item`,
1105
- `probe_node_graph`, `safe_set_cdl`, `safe_copy_grade`, `safe_apply_drx`,
1106
- `safe_export_lut`, `grade_version_snapshot`, `grade_version_restore`,
1107
- `color_group_capabilities`, `gallery_capabilities`, and
1108
- `grade_boundary_report`. See `docs/kernels/color-grade-kernel.md` for the live-tested
1109
- support map, and `docs/guides/color-decision-guide.md` for the practical distinction
1110
- between direct API color controls and opaque full-grade artifacts.
1111
-
1112
- **`timeline_item_takes`** — Take management.
1113
-
1114
- Key actions: `add(clip_id, start_frame?, end_frame?)`, `get_count`,
1115
- `get_selected_index`, `select(index)`, `delete(index)`, `finalize`
1116
-
1117
- ---
1118
-
1119
- ### Gallery
1120
-
1121
- **`gallery`** — Gallery album management.
1122
-
1123
- Key actions: `get_still_albums`, `get_current_album`, `set_current_album(album_index)`,
1124
- `create_still_album`, `create_power_grade_album`
1125
-
1126
- **`gallery_stills`** — Manage stills within an album. Requires Color page.
1127
-
1128
- Key actions:
1129
- - `get_stills(album_index?)` — returns count
1130
- - `get_label(still_index)` / `set_label(still_index, label)`
1131
- - `import_stills(paths)` — paths to `.drx` files
1132
- - `export_stills(folder_path, prefix?, format?, album_index?)`
1133
- - formats: `dpx`, `cin`, `tif`, `jpg`, `png`, `ppm`, `bmp`, `xpm`, `drx`
1134
- - `grab_and_export(folder_path, prefix?, format?, album_index?, cleanup?)` —
1135
- grabs a still from the current frame and exports it in one atomic call.
1136
- Returns `{files, format, folder, cleaned_up}` where each file entry includes
1137
- `data_base64` for image files and `data` (text) for `.drx` grade files.
1138
- `cleanup` defaults to `true` — files are deleted from disk after being inlined.
1139
- Requires Color page with Gallery panel visible.
1140
- - `delete_stills(still_indices)`
1141
-
1142
- ---
1143
-
1144
- ### Node Graphs
1145
-
1146
- **`graph`** — Node graph operations on timeline, timeline item, or color group.
1147
-
1148
- The `source` parameter controls which graph you target:
1149
- - `"timeline"` (default) — the timeline node graph
1150
- - `"item"` — a specific timeline item (needs `track_type`, `track_index`, `item_index`)
1151
- - `"color_group_pre"` / `"color_group_post"` — group pre/post graphs (needs `group_name`)
1152
-
1153
- Key actions: `get_num_nodes(source?)`, `set_lut(node_index, lut_path, source?)`,
1154
- `get_lut(node_index, source?)`, `get_node_label(node_index, source?)`,
1155
- `set_node_enabled(node_index, enabled, source?)`,
1156
- `apply_grade_from_drx(path, grade_mode?, source?)` — grade_mode: `0`=no keyframes,
1157
- `1`=source timecode aligned, `2`=start frames aligned,
1158
- `reset_all_grades(source?)`
1159
-
1160
- **`color_group`** — Manage color groups.
1161
-
1162
- Key actions: `list`, `get_name(group_name)`, `set_name(group_name, new_name)`,
1163
- `get_clips(group_name)`, `get_pre_clip_graph(group_name)`,
1164
- `get_post_clip_graph(group_name)`
1165
-
1166
- ---
1167
-
1168
- ### Fusion
1169
-
1170
- **`fusion_comp`** — Fusion composition node graph operations.
1171
-
1172
- Target a comp either from a timeline item (pass `clip_id`, `timeline_item_id`, or
1173
- `timeline_item={track_type, track_index, item_index}`) or from the active Fusion
1174
- page comp (omit timeline scope).
1175
-
1176
- Key actions:
1177
- - `add_tool(tool_type, x?, y?, name?)` — common types: `Merge`, `Background`,
1178
- `TextPlus`, `Transform`, `Blur`, `ColorCorrector`, `RectangleMask`,
1179
- `EllipseMask`, `Tracker`, `MediaIn`, `MediaOut`, `Glow`, `DeltaKeyer`,
1180
- `UltraKeyer`, `FilmGrain`, `CornerPositioner`
1181
- - `delete_tool(tool_name)`, `get_tool_list(type?)`, `find_tool(name)`
1182
- - `connect(target_tool, input_name, source_tool, output_name?)`
1183
- - `disconnect(tool_name, input_name)`
1184
- - `set_input(tool_name, input_name, value, time?)` /
1185
- `get_input(tool_name, input_name, time?)`
1186
- - `get_inputs(tool_name)` / `get_outputs(tool_name)`
1187
- - `set_attrs(tool_name, attrs)` / `get_attrs(tool_name)`
1188
- - `add_keyframe(tool_name, input_name, time, value)`
1189
- - `get_position(tool_name)` / `set_position(tool_name, x, y)` — read/write a node's
1190
- position on the FlowView canvas; `set_position` returns a position read-back
1191
- - `copy_tool(tool_name, name?, x?, y?)` — duplicate a node (settings copied via a
1192
- temp `.setting` file), optionally renaming and repositioning it
1193
- - `auto_arrange(tool_names?, direction?, spacing?, x?, y?)` — lay tools out in a row
1194
- (`direction="horizontal"`, default) or column (`"vertical"`)
1195
- - `get_comp_info`, `set_frame_range(start, end)`, `get_frame_range`, `render`
1196
- - `start_undo(name?)` / `end_undo(keep?)`
1197
- - `bulk_set_inputs(ops)` — batch set inputs across multiple timeline item comps in
1198
- one call; each op requires timeline scope plus `tool_name`, `input_name`, `value`
1199
- - `bulk_set_expressions(ops)` — batch attach expressions across multiple timeline
1200
- item comps in one call; each op requires timeline scope plus `tool_name`,
1201
- `input_name`, `expression`
1202
- - `group_settings_export(group_name, path, include_advisory?)` — write a
1203
- `GroupOperator` to disk and return a parsed published-input summary
1204
- - `group_settings_splice_inputs(source_path, template_path, dest_path?, source_group_name?, template_group_name?)` —
1205
- replace one `.setting` file's `Inputs = ordered() { ... }` block with the
1206
- matching block from another, preserving inner tools and outer structure;
1207
- balanced-brace parser handles nested `UserControls`
1208
- - `group_settings_load(group_name, settings_path, backup_path?, undo_name?)` —
1209
- apply a `.setting` to a live group with an auto backup and an undo wrap so
1210
- Ctrl+Z reverses the change
1211
-
1212
- Fusion Composition kernel actions (v2.12.0+) add safer graph inspection and
1213
- mutation wrappers around the raw Fusion API:
1214
-
1215
- - `fusion_graph_capabilities`
1216
- - `probe_fusion_comp(include_io?, max_tools?)`
1217
- - `probe_fusion_tool(tool_name, include_io?)`
1218
- - `safe_add_tool(tool_type, name?, dry_run?)`
1219
- - `safe_set_inputs(tool_name, inputs, readback?)`
1220
- - `safe_connect_tools(target_tool, input_name, source_tool, dry_run?)`
1221
- - `fusion_boundary_report(include_io?)`
1222
- - `add_fusion_mask(mask_type?, width?, height?, corner_radius?, center?|center_x?/center_y?,
1223
- angle?, soft_edge?, border_width?, invert?, inputs?, connect_to?, connect_input?, readback?)`
1224
- — one-call Rectangle/Ellipse mask (e.g. rounded corners): adds the mask tool, sets its
1225
- params (0..1), and optionally wires it into `connect_to`'s mask input (`EffectMask` default).
1226
- - `set_text_plus(text, tool_name?, input_name?, readback?)` / `get_text_plus(tool_name?, input_name?)`
1227
- — read/write the text of a Fusion `Text+` tool or Fusion title template (e.g. a "Deep"
1228
- title). Auto-finds the `Text+` tool when `tool_name` is omitted; `input_name` defaults to
1229
- `StyledText`. For non-Fusion generator titles, use `timeline(action="set_title_text")` instead.
1230
-
1231
- ---
1232
-
1233
- ### Render
1234
-
1235
- **`render`** — Render pipeline: jobs, presets, formats, codecs.
1236
-
1237
- Key actions: `add_job`, `list_jobs`, `delete_job(job_id)`, `delete_all_jobs`,
1238
- `start(job_ids?, interactive?)`, `stop`, `is_rendering`, `get_formats`,
1239
- `get_codecs(format)`, `set_format_and_codec(format, codec)`,
1240
- `get_resolutions(format, codec)`, `set_settings(settings)`,
1241
- `list_presets`, `load_preset(name)`, `save_preset(name)`,
1242
- `quick_export_presets`, `quick_export(preset, params?)`
1243
-
1244
- Render / Deliver kernel actions (v2.9.0+) add planning and safety layers:
1245
- `render_capabilities`, `probe_render_matrix`, `probe_render_settings`,
1246
- `validate_render_settings`, `safe_set_render_settings`,
1247
- `prepare_render_job`, `render_job_lifecycle_probe`,
1248
- `quick_export_capabilities`, `safe_quick_export`, and
1249
- `export_render_boundary_report`. See `docs/kernels/render-deliver-kernel.md` for the
1250
- live-tested format/codec, settings, job, and Quick Export boundary map.
1251
-
1252
- ---
1253
-
1254
- ## Common Workflows
1255
-
1256
- ### 1. Connect and verify
1257
-
1258
- ```
1259
- resolve_control(action="launch")
1260
- resolve_control(action="get_version")
1261
- resolve_control(action="mcp_update_status")
1262
- setup(action="get_defaults")
1263
- resolve_control(action="get_page")
1264
- ```
1265
-
1266
- Always call `launch` first in a new session. It is safe to call when Resolve is
1267
- already running.
1268
-
1269
- Use `setup(action="schema")`, `setup(action="get_defaults")`, and
1270
- `setup(action="set_defaults")` when the user wants durable conversation
1271
- defaults for media analysis, metadata publishing, timed markers, report style,
1272
- or MCP update behavior. Setup defaults may shape future tool parameters, but
1273
- confirmed Resolve project writes still require the relevant action's explicit
1274
- confirmation flag.
1275
-
1276
- ### 2. Open a project and navigate timelines
1277
-
1278
- ```
1279
- project_manager(action="list")
1280
- project_manager(action="load", params={"name": "My Film"})
1281
- timeline(action="list")
1282
- timeline(action="set_current", params={"index": 2})
1283
- timeline(action="get_current")
1284
- ```
1285
-
1286
- ### 3. Add clips to Media Pool and build a timeline
1287
-
1288
- ```
1289
- media_storage(action="get_volumes")
1290
- media_storage(action="import_to_pool", params={"items": ["/path/to/clip.mp4"]})
1291
- media_pool(action="get_current_folder")
1292
- media_pool(action="create_timeline", params={"name": "Assembly"})
1293
- media_pool(action="get_selected")
1294
- media_pool(action="append_to_timeline", params={"clip_ids": ["<uuid>", ...]})
1295
- media_pool(action="safe_import_sequence", params={
1296
- "pattern": "/path/to/frames/shot_%04d.dpx",
1297
- "start_index": 1001,
1298
- "end_index": 1048,
1299
- "target_folder": "Master/Plates"
1300
- })
1301
- media_pool(action="media_pool_boundary_report", params={"selected": True, "depth": 2})
1302
- # Positioned append (MediaPool.AppendToTimeline([{clipInfo}, ...])) — e.g. rebuild a subtitle row after delete_clips
1303
- media_pool(action="append_to_timeline", params={"clip_infos": [
1304
- {"clip_id": "<uuid>", "start_frame": 0, "end_frame": 100, "record_frame": 1200, "track_index": 4}
1305
- ]})
1306
- ```
1307
-
1308
- ### 4. Inspect and annotate timeline items
1309
-
1310
- ```
1311
- timeline(action="get_items", params={"track_type": "video", "index": 1})
1312
- timeline(action="duplicate_clips", params={
1313
- "clip_ids": ["<timeline-item-uuid>"], "target_track_index": 2, "record_frame_offset": 120
1314
- })
1315
- timeline(action="duplicate_clips", params={
1316
- "selected": True,
1317
- "placement": "track_above",
1318
- "include_linked": True,
1319
- "copy_properties": ["transform", "crop", "composite", "audio", "dynamic_zoom", "scaling", "stabilization", "clip_color", "markers", "enabled"],
1320
- "copy_keyframes": True
1321
- })
1322
- timeline(action="probe_edit_kernel_item", params={"selected": True})
1323
- timeline(action="copy_range", params={
1324
- "start_frame": 110, "end_frame": 130, "record_frame": 900,
1325
- "track_types": ["video", "audio"], "target_track_index": 2
1326
- })
1327
- timeline_item(action="get_name", params={"track_type": "video", "track_index": 1, "item_index": 0})
1328
- timeline_item(action="get_property", params={"track_type": "video", "track_index": 1, "item_index": 0})
1329
- timeline_markers(action="add", params={"color": "Blue", "note": "Review this"})
1330
- timeline_item_markers(action="add", params={"frame": 100, "color": "Blue", "name": "Review", "note": "Check this", "duration": 1, "track_type": "video", "track_index": 1, "item_index": 0})
1331
- ```
1332
-
1333
- For an exhaustive live boundary map of the timeline edit kernel, run:
1334
-
1335
- ```
1336
- python3.11 tests/live_duplicate_clips_validation.py --output-dir /tmp/timeline-kernel-probe
1337
- ```
1338
-
1339
- The live harness first validates duplicate/range edit behavior, then runs the
1340
- exhaustive probe. It creates disposable projects with synthetic media, emits
1341
- JSON and Markdown reports, and classifies each API surface as `supported`,
1342
- `partially_supported`, `read_only`, `write_only_unverifiable`,
1343
- `version_or_page_dependent`, `unsupported`, `not_applicable`, or `error`.
1344
- See `docs/kernels/timeline-edit-kernel.md` for the maintained support map and current
1345
- Resolve API limitations.
1346
-
1347
- For the Media Pool / Ingest boundary map, run:
1348
-
1349
- ```
1350
- python3.11 tests/live_media_pool_ingest_validation.py --output-dir /tmp/media-pool-ingest-probe
1351
- ```
1352
-
1353
- The harness creates a disposable project, generates synthetic video/audio/still
1354
- and image-sequence fixtures, probes safe import/metadata/annotation/link
1355
- helpers, writes JSON and Markdown reports, deletes the project, and removes the
1356
- generated media directory. See `docs/kernels/media-pool-ingest-kernel.md`.
1357
-
1358
- For the Review Annotation boundary map, run:
1359
-
1360
- ```
1361
- python3.11 tests/live_review_annotation_validation.py --output-dir /tmp/review-annotation-probe
1362
- ```
1363
-
1364
- The harness creates a disposable project, generates synthetic video/audio media,
1365
- probes timeline, timeline item, and media pool item marker/flag/color/report
1366
- behavior, writes JSON and Markdown reports, deletes the project, and removes the
1367
- generated media directory. See `docs/kernels/review-annotation-kernel.md`.
1368
-
1369
- ### 5. Color grading
1370
-
1371
- ```
1372
- resolve_control(action="open_page", params={"page": "color"})
1373
- timeline_item_color(action="set_cdl", params={"cdl": {"NodeIndex": 1, "Slope": [1.1, 1.0, 0.9], "Offset": [0.0, 0.0, 0.0], "Power": [1.0, 1.0, 1.0], "Saturation": 1.0}, "track_type": "video", "track_index": 1, "item_index": 0})
1374
- timeline_item_color(action="add_version", params={"name": "Grade v2", "track_type": "video", "track_index": 1, "item_index": 0})
1375
- timeline_item_color(action="grade_boundary_report", params={"track_type": "video", "track_index": 1, "item_index": 0})
1376
- timeline_item_color(action="safe_export_lut", params={"type": "33ptcube", "path": "/tmp/look.cube", "track_type": "video", "track_index": 1, "item_index": 0})
1377
- ```
1378
-
1379
- For the Color / Grade boundary map, run:
1380
-
1381
- ```
1382
- python3.11 tests/live_color_grade_validation.py --output-dir /tmp/color-grade-probe
1383
- ```
1384
-
1385
- The harness creates a disposable project, generates synthetic color-bar media,
1386
- probes grade, node graph, version, copy, LUT, Gallery, and color-group
1387
- behavior, writes JSON and Markdown reports, deletes the project, and removes
1388
- generated media and exported probe files. See `docs/kernels/color-grade-kernel.md`.
1389
-
1390
- ### 6. Grab a still and read the grade data
1391
-
1392
- ```
1393
- resolve_control(action="open_page", params={"page": "color"})
1394
- gallery_stills(action="grab_and_export", params={"folder_path": "/tmp/stills", "format": "jpg"})
1395
- ```
1396
-
1397
- The response includes `files[].data_base64` (the image as base64) and
1398
- `files[].data` for the companion `.drx` grade file (plain text XML). The
1399
- image reflects the color-graded frame as Resolve sees it, not the raw source.
1400
-
1401
- ### 7. Export the timeline
1402
-
1403
- ```
1404
- timeline(action="export", params={"path": "/tmp/export.edl", "type": "EDL", "subtype": "CMX3600"})
1405
- timeline(action="export", params={"path": "/tmp/export.fcpxml", "type": "FCPXML"})
1406
- timeline(action="export_timeline_checked", params={"path": "/tmp/export.drt", "format": "drt"})
1407
- timeline(action="detect_gaps_overlaps")
1408
- timeline(action="conform_boundary_report", params={"handles": 8})
1409
- ```
1410
-
1411
- For the Timeline Conform / Interchange boundary map, run:
1412
-
1413
- ```
1414
- python3.11 tests/live_timeline_conform_validation.py --output-dir /tmp/timeline-conform-probe
1415
- ```
1416
-
1417
- The harness creates a disposable project, generates synthetic media, builds a
1418
- gapped timeline, probes structure, source ranges, gap/overlap detection,
1419
- interchange export/import/round-trip behavior, synthetic missing-media relink
1420
- planning, writes reports, deletes the project, and removes generated media.
1421
- See `docs/kernels/timeline-conform-interchange-kernel.md`.
1422
-
1423
- For the Audio / Fairlight boundary map, run:
1424
-
1425
- ```
1426
- python3.11 tests/live_audio_fairlight_validation.py --output-dir /tmp/audio-fairlight-probe
1427
- ```
1428
-
1429
- The harness creates a disposable project, generates synthetic video and audio
1430
- media, probes track/item audio state, mappings, voice isolation, property
1431
- writes, auto-sync, transcription, subtitle generation, Fairlight preset listing,
1432
- audio insertion, writes reports, deletes the project, and removes generated
1433
- media. See `docs/kernels/audio-fairlight-kernel.md`.
1434
-
1435
- ### 8. Add and start a render job
1436
-
1437
- ```
1438
- render(action="get_formats")
1439
- render(action="probe_render_matrix")
1440
- render(action="set_format_and_codec", params={"format": "QuickTime", "codec": "H.265 Master"})
1441
- render(action="validate_render_settings", params={"settings": {"TargetDir": "/tmp/renders", "CustomName": "review", "SelectAllFrames": true}, "require_temp_target": true})
1442
- render(action="prepare_render_job", params={"target_dir": "/tmp/renders", "settings": {"CustomName": "review", "SelectAllFrames": true}})
1443
- render(action="add_job")
1444
- render(action="list_jobs")
1445
- render(action="start")
1446
- render(action="is_rendering")
1447
- ```
1448
-
1449
- For the Render / Deliver boundary map, run:
1450
-
1451
- ```
1452
- python3.11 tests/live_render_deliver_validation.py --output-dir /tmp/render-deliver-probe
1453
- ```
1454
-
1455
- The harness creates a disposable project, generates a synthetic timeline, probes
1456
- format/codec/resolution compatibility, validates settings, runs a tiny temp
1457
- render job, writes reports, deletes the project, and removes generated media and
1458
- render outputs.
1459
-
1460
- ### 9. Apply a Fusion effect to a timeline item
1461
-
1462
- ```
1463
- timeline_item_fusion(action="add_comp", params={"track_type": "video", "track_index": 1, "item_index": 0})
1464
- fusion_comp(action="add_tool", params={"tool_type": "Glow", "timeline_item": {"track_type": "video", "track_index": 1, "item_index": 0}})
1465
- fusion_comp(action="set_input", params={"tool_name": "Glow1", "input_name": "Gain", "value": 0.8, "timeline_item": {"track_type": "video", "track_index": 1, "item_index": 0}})
1466
- fusion_comp(action="fusion_boundary_report", params={"timeline_item": {"track_type": "video", "track_index": 1, "item_index": 0}})
1467
- ```
1468
-
1469
- For the Fusion Composition boundary map, run:
1470
-
1471
- ```
1472
- python3.11 tests/live_fusion_composition_validation.py --output-dir /tmp/fusion-composition-probe
1473
- ```
1474
-
1475
- The harness creates a disposable project, generates synthetic video media,
1476
- probes timeline item comp creation, safe tool creation, input writes, graph
1477
- inspection, connections, bulk writes, frame range, and comp export, writes
1478
- reports, deletes the project, and removes generated media. See
1479
- `docs/kernels/fusion-composition-kernel.md`.
1480
-
1481
- ---
1482
-
1483
- ## Error Handling and Recovery
1484
-
1485
- | Error message | Cause | Fix |
1486
- |---|---|---|
1487
- | `"Not connected to DaVinci Resolve"` | Resolve is not running or scripting is disabled | Call `resolve_control(action="launch")`, wait, retry |
1488
- | `"No project open"` | No project is currently loaded | Call `project_manager(action="load", params={"name": "..."})` |
1489
- | `"No current timeline"` | Project has no timeline set as current | Call `timeline(action="set_current", params={"index": 1})` |
1490
- | `"No item at index N"` | `item_index` out of range for the track | Call `timeline(action="get_items", ...)` first to find valid indices |
1491
- | `"Clip not found"` | Stale or wrong `clip_id` | Re-fetch IDs via `media_pool(action="get_selected")` or `folder(action="get_clips")` |
1492
- | `"Gallery not available"` | Not on Color page | `resolve_control(action="open_page", params={"page": "color"})` |
1493
- | `"GrabStill failed"` | Not on Color page or no clip under playhead | Switch to Color page, move playhead over a clip |
1494
- | `"ExportStills failed"` | Gallery panel not open in UI | Instruct user to open Workspace > Gallery |
1495
- | `"Tool '...' not found"` | Wrong tool name in Fusion comp | Use `fusion_comp(action="get_tool_list")` to list available tools |
1496
- | `"Color group '...' not found"` | Group name mismatch | Use `color_group(action="list")` first |
1497
-
1498
- When a tool returns `{"success": False}` without an error key, the underlying
1499
- Resolve API returned `False`. This usually means a precondition was not met
1500
- (wrong page, wrong state, context missing). Check the API reference in
1501
- `docs/reference/resolve_scripting_api.txt` for the specific method.
1502
-
1503
- ---
1504
-
1505
- ## Known Gotchas
1506
-
1507
- **Resolve API object lifetimes** — Objects like timelines, clips, and color groups
1508
- returned by the API are live references that can become stale if the project state
1509
- changes (e.g., the user deletes a timeline). Always re-fetch IDs after any
1510
- destructive action.
1511
-
1512
- **`SetName` on the active timeline** — `timeline(action="set_name")` returns
1513
- `False` if you try to rename the currently active timeline. Switch to a different
1514
- timeline first, rename, then switch back.
1515
-
1516
- **`DeleteProject`** — Returns `False` if the project is currently open. Close it
1517
- first.
1518
-
1519
- **CDL value format** — `set_cdl` accepts Slope/Offset/Power as arrays `[R, G, B]`,
1520
- tuples, or space-separated strings like `"1.0 1.0 1.0"`. All forms are normalized
1521
- internally.
1522
-
1523
- **`GetNodeGraph(0)`** — Passing `0` as `layer_index` to `GetNodeGraph` on a
1524
- timeline item returns `False` in Resolve. Use `get_node_graph` without a
1525
- `layer_index` to get the default graph.
1526
-
1527
- **Gallery export requires the Gallery panel visible** — `ExportStills` only works
1528
- if the Gallery panel is open in the Resolve UI on the Color page. Instruct the
1529
- user to open it via Workspace menu if export fails.
1530
-
1531
- **Python version** — the only hard requirement is Python **3.10+** (the MCP SDK
1532
- floor). There is no upper cap: 3.13/3.14 are accepted, and Python 3.14 is verified
1533
- working against Resolve Studio 20.3.2. On *older* Resolve builds the scripting
1534
- bridge may still fail to load on 3.13+ (`scriptapp("Resolve")` returns `None`);
1535
- `setup`/`doctor` warn on 3.13+ and their connection check surfaces a real failure.
1536
- If that happens, recreate the venv with Python 3.10–3.12 (the lowest-risk range).
1537
- The running server only warns on 3.13+ rather than exiting.
1538
-
1539
- **Resolve version guards** — Resolve 20-specific actions return a clear
1540
- `requires DaVinci Resolve 20.x+` error when called against older builds. Resolve
1541
- 19.1.3 remains the compatibility baseline; Resolve 20 additions were live-tested
1542
- on Resolve Studio 20.3.2.
1543
-
1544
- **Source media integrity** — Do not transcode, convert, create proxies, or write
1545
- derivatives of source media unless the user explicitly asks. Analysis and tests
1546
- should write sidecars or synthetic fixtures, never modify camera originals.
1547
-
1548
- **Windows multi-Python setups** — On Windows with multiple Python installations,
1549
- Resolve 20.3 may crash on import unless `PYTHONHOME` is set to the interpreter
1550
- used to build the venv. The installer handles this automatically; manual configs
1551
- may need it added.
1552
-
1553
- **`item_index` is 0-based** — When specifying `item_index` in params, `0` is the
1554
- first item on the track, not `1`.
1555
-
1556
- **`track_index` is 1-based** — Track indices start at `1`, not `0`.
1557
-
1558
- **Fusion comp scope** — `fusion_comp` actions without a timeline scope target the
1559
- active composition on the Fusion page. If you intend to operate on a specific
1560
- clip's comp, always pass `clip_id`, `timeline_item_id`, or `timeline_item`.
1561
-
1562
- ---
1563
-
1564
- ## Seeing What Resolve Sees (Visual Context)
1565
-
1566
- The server provides two mechanisms to inspect a frame as Resolve has processed it,
1567
- including color grading, effects, and compositing — not just the raw source file.
1568
-
1569
- **`timeline_markers(action="get_thumbnail")`** — Returns raw thumbnail data at
1570
- the current playhead position. The response is a dictionary with keys `data`,
1571
- `format`, `width`, `height`, `noOfComponents`, and `depth`.
1572
-
1573
- **`timeline_markers(action="get_thumbnail_image")`** — Converts the same current
1574
- frame thumbnail to PNG bytes and returns MCP image content without writing a file.
1575
-
1576
- **`gallery_stills(action="grab_and_export", params={...})`** — Grabs a still from
1577
- the current frame on the Color page and returns the image encoded as base64 in the
1578
- response (`files[].data_base64`). This is the most reliable way to get a
1579
- color-graded frame preview as a standard image format (jpg, tif, dpx, etc.)
1580
- that can be passed directly to a vision-capable AI model. Requires the Color page
1581
- with Gallery panel visible.
1582
-
1583
- To use `grab_and_export` for visual inspection:
1584
-
1585
- ```
1586
- resolve_control(action="open_page", params={"page": "color"})
1587
- gallery_stills(action="grab_and_export", params={
1588
- "folder_path": "/tmp/resolve-preview",
1589
- "format": "jpg",
1590
- "cleanup": true
1591
- })
1592
- ```
1593
-
1594
- The response `files[0].data_base64` is a standard JPEG, base64-encoded. Feed it
1595
- to a vision model to describe what Resolve is displaying — including all grading
1596
- and effects applied to the source.
1597
-
1598
- ---
1599
-
1600
- ## Clip ID Reference Pattern
1601
-
1602
- Many tools require a `clip_id` (the UUID of a Media Pool clip) or a timeline item
1603
- identified by `track_type + track_index + item_index`. Use this pattern to resolve
1604
- both:
1605
-
1606
- ```
1607
- # List clips in the Media Pool
1608
- folder(action="get_clips")
1609
- # -> returns [{name, id}, ...] — use id as clip_id
1610
-
1611
- # List items on a timeline track
1612
- timeline(action="get_items", params={"track_type": "video", "index": 1})
1613
- # -> returns [{name, id, start, end, duration}, ...]
1614
- # Use track_type="video", track_index=1, item_index=<position in this list>
1615
- # Or use id to look up later via timeline_item(action="get_unique_id", ...)
1616
- ```
1617
-
1618
- ---
1619
-
1620
- ## API Coverage
1621
-
1622
- All 336 non-deprecated methods of the DaVinci Resolve Scripting API are covered.
1623
- 331 methods have been live-tested across Resolve 19.1.3 Studio and Resolve
1624
- 20.3.2 Studio. Five methods require infrastructure not available in typical
1625
- setups:
1626
-
1627
- | Method | Requires |
1628
- |---|---|
1629
- | `ProjectManager.CreateCloudProject` | Resolve cloud infrastructure |
1630
- | `ProjectManager.LoadCloudProject` | Resolve cloud infrastructure |
1631
- | `ProjectManager.ImportCloudProject` | Resolve cloud infrastructure |
1632
- | `ProjectManager.RestoreCloudProject` | Resolve cloud infrastructure |
1633
- | `Timeline.AnalyzeDolbyVision` | HDR / Dolby Vision content |
1634
-
1635
- The full API reference is in `docs/reference/resolve_scripting_api.txt`.