@hybridlabor-api/aos 4.2.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/memb-inject.mjs +121 -0
- package/.claude/settings.json +10 -0
- package/CLAUDE.md +37 -84
- package/CODEX.md +31 -12
- package/GEMINI.md +51 -58
- package/README.de.md +13 -14
- package/README.md +13 -14
- package/README.pt.md +13 -14
- package/THIRD_PARTY_NOTICES.md +54 -0
- package/docs/skills_table.md +0 -2
- package/installer.js +29 -16
- package/package.json +21 -2
- package/scripts/validate-skills.mjs +402 -0
- package/skills/basic/godmode-engineering/SKILL.md +1 -1
- package/skills/basic/godmode-shipping/SKILL.md +1 -1
- package/skills/github-repo/SKILL.md +1 -0
- package/skills/global_config/agent-tool-builder/SKILL.md +5 -4
- package/skills/global_config/ai-product/SKILL.md +3 -2
- package/skills/global_config/aos-project-init/SKILL.md +194 -0
- package/skills/global_config/aos-project-init/assets/AGENTS.template.md +56 -0
- package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +137 -0
- package/skills/global_config/aos-setup/SKILL.md +222 -0
- package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +262 -0
- package/skills/global_config/ask-tim/SKILL.md +4 -2
- package/skills/global_config/{bdb-adobe-suite-mcp.md → bdb-adobe-suite-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-after-effects-mcp.md → bdb-after-effects-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-blender-mcp.md → bdb-blender-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-computer-use-mcp.md → bdb-computer-use-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-davinci-mcp.md → bdb-davinci-mcp/SKILL.md} +1 -0
- package/skills/global_config/bdb-ecosystem-health/SKILL.md +3 -3
- package/skills/global_config/{bdb-grandma3-mcp.md → bdb-grandma3-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-memb-mcp.md → bdb-memb-mcp/SKILL.md} +10 -0
- package/skills/global_config/{bdb-resolume-mcp.md → bdb-resolume-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-rhino-mcp.md → bdb-rhino-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-touchdesigner-mcp.md → bdb-touchdesigner-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-unreal-mcp.md → bdb-unreal-mcp/SKILL.md} +1 -0
- package/skills/global_config/{bdb-vectorworks-mcp.md → bdb-vectorworks-mcp/SKILL.md} +1 -0
- package/skills/global_config/bdbsaashost/SKILL.md +50 -50
- package/skills/global_config/browser-automation/SKILL.md +4 -4
- package/skills/global_config/crewai/SKILL.md +3 -2
- package/skills/global_config/debugger/SKILL.md +3 -6
- package/skills/global_config/git-advanced-workflows/SKILL.md +0 -1
- package/skills/global_config/github-actions-templates/SKILL.md +0 -2
- package/skills/global_config/neon-postgres/SKILL.md +3 -2
- package/skills/global_config/playwright-skill/SKILL.md +1 -1
- package/skills/global_config/posix-shell-pro/SKILL.md +0 -1
- package/skills/global_config/postgres-best-practices/SKILL.md +1 -1
- package/skills/global_config/prompt-engineering-patterns/SKILL.md +0 -1
- package/skills/global_config/rag-engineer/SKILL.md +4 -3
- package/skills/global_config/react-best-practices/SKILL.md +1 -1
- package/skills/global_config/remotion/SKILL.md +0 -1
- package/skills/global_config/seo/SKILL.md +6 -41
- package/skills/global_config/systematic-debugging/CREATION-LOG.md +1 -1
- package/skills/global_config/systematic-debugging/root-cause-tracing.md +1 -1
- package/skills/global_config/turborepo-caching/SKILL.md +0 -1
- package/skills/global_config/using-neon/SKILL.md +1 -47
- package/skills/global_config/vector-database-engineer/SKILL.md +0 -1
- package/skills/global_config/web-artifacts-builder/LICENSE.txt +1 -1
- package/skills/global_config/web-artifacts-builder/SKILL.md +1 -1
- package/skills/global_config/webapp-testing/LICENSE.txt +1 -1
- package/skills/global_config/webapp-testing/SKILL.md +1 -1
- package/assets/Give_AI_Agents_Control_of_Creative_Software.mp4 +0 -0
- package/mcps/RhinoMCP/connector/icon-dark.png +0 -3
- package/mcps/RhinoMCP/connector/icon-light.png +0 -3
- package/mcps/RhinoMCP/connector/screenshots/casa-rhino.png +0 -3
- package/mcps/RhinoMCP/docs/assets/css/custom.css +0 -640
- package/mcps/RhinoMCP/docs/content/_index.md +0 -88
- package/mcps/RhinoMCP/docs/content/docs/_index.md +0 -35
- package/mcps/RhinoMCP/docs/content/docs/advanced/_index.md +0 -37
- package/mcps/RhinoMCP/docs/content/docs/advanced/bulk-file-processing.md +0 -70
- package/mcps/RhinoMCP/docs/content/docs/advanced/headless-render-farm.md +0 -60
- package/mcps/RhinoMCP/docs/content/docs/advanced/make-this-parametric.md +0 -56
- package/mcps/RhinoMCP/docs/content/docs/advanced/sketch-to-model.md +0 -58
- package/mcps/RhinoMCP/docs/content/docs/advanced/upgrade-gh1-to-gh2.md +0 -51
- package/mcps/RhinoMCP/docs/content/docs/developers/_index.md +0 -39
- package/mcps/RhinoMCP/docs/content/docs/developers/dev-troubleshooting.md +0 -15
- package/mcps/RhinoMCP/docs/content/docs/developers/plugin-prototyping.md +0 -56
- package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-gh1-to-gh2.md +0 -98
- package/mcps/RhinoMCP/docs/content/docs/developers/upgrade-to-netcore.md +0 -53
- package/mcps/RhinoMCP/docs/content/docs/developers/windows-to-cross-platform.md +0 -58
- package/mcps/RhinoMCP/docs/content/docs/developers/wpf-to-eto.md +0 -64
- package/mcps/RhinoMCP/docs/content/docs/getting-started/_index.md +0 -45
- package/mcps/RhinoMCP/docs/content/docs/getting-started/cc-plugin.md +0 -116
- package/mcps/RhinoMCP/docs/content/docs/getting-started/connector.md +0 -65
- package/mcps/RhinoMCP/docs/content/docs/getting-started/copilot.md +0 -61
- package/mcps/RhinoMCP/docs/content/docs/getting-started/lm-studio.md +0 -62
- package/mcps/RhinoMCP/docs/content/docs/troubleshooting.md +0 -66
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/_index.md +0 -39
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/_index.md +0 -25
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/build-grasshopper.md +0 -26
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/generate-variations.md +0 -25
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/inspect-and-report.md +0 -26
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/layers.md +0 -28
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/examples/model-from-image.md +0 -27
- package/mcps/RhinoMCP/docs/content/docs/try-it-out/recipes.md +0 -178
- package/mcps/RhinoMCP/docs/data/icons.yaml +0 -3
- package/mcps/RhinoMCP/docs/go.mod +0 -5
- package/mcps/RhinoMCP/docs/go.sum +0 -4
- package/mcps/RhinoMCP/docs/hugo.yaml +0 -78
- package/mcps/RhinoMCP/docs/layouts/_partials/sidebar.html +0 -333
- package/mcps/RhinoMCP/docs/layouts/docs/list.html +0 -29
- package/mcps/RhinoMCP/docs/layouts/docs/single.html +0 -29
- package/mcps/RhinoMCP/docs/layouts/partials/custom/head-end.html +0 -3
- package/mcps/RhinoMCP/docs/layouts/shortcodes/download-asset.html +0 -21
- package/mcps/RhinoMCP/docs/layouts/shortcodes/github.html +0 -21
- package/mcps/RhinoMCP/docs/layouts/shortcodes/prompt.html +0 -23
- package/mcps/RhinoMCP/docs/layouts/shortcodes/yak.html +0 -21
- package/mcps/RhinoMCP/docs/static/developer/sel-arc.png +0 -3
- package/mcps/RhinoMCP/docs/static/developer/voxelizer-gh2-conversion.png +0 -3
- package/mcps/RhinoMCP/docs/static/examples/ai-kettle.png +0 -3
- package/mcps/RhinoMCP/docs/static/examples/casa_rhino_shapes.png +0 -3
- package/mcps/RhinoMCP/docs/static/examples/kettle.jpg +0 -0
- package/mcps/RhinoMCP/docs/static/examples/raygun-layers.png +0 -3
- package/mcps/RhinoMCP/docs/static/examples/raygun-thumbnail.png +0 -3
- package/mcps/RhinoMCP/docs/static/examples/twisty-tower-gh.png +0 -3
- package/mcps/RhinoMCP/docs/static/favicon.svg +0 -26
- package/mcps/RhinoMCP/docs/static/images/landing-dark.png +0 -3
- package/mcps/RhinoMCP/docs/static/images/landing.png +0 -3
- package/mcps/RhinoMCP/docs/static/images/logo-dark.svg +0 -26
- package/mcps/RhinoMCP/docs/static/images/logo.svg +0 -26
- package/mcps/RhinoMCP/docs/static/local-llm.png +0 -3
- package/mcps/RhinoMCP/rhino/plugin/icon.png +0 -3
- package/mcps/RhinoMCP/tests/Acp.Tests/Acp.Tests.csproj +0 -29
- package/mcps/RhinoMCP/tests/Acp.Tests/CoverageTests.cs +0 -52
- package/mcps/RhinoMCP/tests/Acp.Tests/Fakes.cs +0 -90
- package/mcps/RhinoMCP/tests/Acp.Tests/GlobalUsings.cs +0 -1
- package/mcps/RhinoMCP/tests/Acp.Tests/LoopbackTests.cs +0 -59
- package/mcps/RhinoMCP/tests/Acp.Tests/RobustnessTests.cs +0 -124
- package/mcps/RhinoMCP/tests/Acp.Tests/SerializationTests.cs +0 -94
- package/mcps/RhinoMCP/tests/Integration.Tests/AdoptedSlotTests.cs +0 -136
- package/mcps/RhinoMCP/tests/Integration.Tests/AutoSpawnNotificationTests.cs +0 -63
- package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotAgentTests.cs +0 -56
- package/mcps/RhinoMCP/tests/Integration.Tests/CloseSlotTests.cs +0 -37
- package/mcps/RhinoMCP/tests/Integration.Tests/DocLifecycleTests.cs +0 -42
- package/mcps/RhinoMCP/tests/Integration.Tests/GlobalUsings.cs +0 -3
- package/mcps/RhinoMCP/tests/Integration.Tests/GrasshopperStartTests.cs +0 -56
- package/mcps/RhinoMCP/tests/Integration.Tests/Harness/ReturnResult.cs +0 -28
- package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpFixture.cs +0 -90
- package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoMcpRouter.cs +0 -111
- package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RhinoRouterPaths.cs +0 -83
- package/mcps/RhinoMCP/tests/Integration.Tests/Harness/RouterFixture.cs +0 -50
- package/mcps/RhinoMCP/tests/Integration.Tests/Integration.Tests.csproj +0 -31
- package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsShapeTests.cs +0 -55
- package/mcps/RhinoMCP/tests/Integration.Tests/ListSlotsTests.cs +0 -19
- package/mcps/RhinoMCP/tests/Integration.Tests/MacSharedProcessTests.cs +0 -87
- package/mcps/RhinoMCP/tests/Integration.Tests/MultiRouterTests.cs +0 -74
- package/mcps/RhinoMCP/tests/Integration.Tests/PluginToolTests.cs +0 -115
- package/mcps/RhinoMCP/tests/Integration.Tests/README.md +0 -35
- package/mcps/RhinoMCP/tests/Integration.Tests/RhinoCrashHandlingTests.cs +0 -107
- package/mcps/RhinoMCP/tests/Integration.Tests/SlotReapingTests.cs +0 -84
- package/mcps/RhinoMCP/tests/Integration.Tests/SpawnErrorTests.cs +0 -52
- package/mcps/RhinoMCP/tests/Integration.Tests/SpawnSlotTests.cs +0 -66
- package/mcps/RhinoMCP/tests/Integration.Tests/ToolDispatchBySlotTests.cs +0 -53
- package/mcps/RhinoMCP/tests/Integration.Tests/WindowsProcessIsolationTests.cs +0 -62
- package/mcps/RhinoMCP/tests/Router.Tests/CodegenTests.cs +0 -125
- package/mcps/RhinoMCP/tests/Router.Tests/ReturnResultTests.cs +0 -90
- package/mcps/RhinoMCP/tests/Router.Tests/RhinoCrashReportFinderTests.cs +0 -207
- package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorOverrideTests.cs +0 -61
- package/mcps/RhinoMCP/tests/Router.Tests/RhinoLocatorTests.cs +0 -38
- package/mcps/RhinoMCP/tests/Router.Tests/RhinoManagerResolutionTests.cs +0 -151
- package/mcps/RhinoMCP/tests/Router.Tests/Router.Tests.csproj +0 -31
- package/mcps/RhinoMCP/tests/Router.Tests/RouterConfigTests.cs +0 -92
- package/mcps/RhinoMCP/tests/Router.Tests/SlotStoreLaunchingAbsenceTests.cs +0 -70
- package/mcps/RhinoMCP/tests/Router.Tests/SlotStorePortReservationTests.cs +0 -92
- package/mcps/RhinoMCP/tests/Router.Tests/SpawnDiagnosticsTests.cs +0 -100
- package/mcps/RhinoMCP/tests/Router.Tests/SpawnSlotToolDiagnoseTests.cs +0 -66
- package/mcps/RhinoMCP/tests/Server.Tests/McpConfigEditTests.cs +0 -223
- package/mcps/RhinoMCP/tests/Server.Tests/ParameterBinderTests.cs +0 -208
- package/mcps/RhinoMCP/tests/Server.Tests/ProtocolTests.cs +0 -200
- package/mcps/RhinoMCP/tests/Server.Tests/ResourceRegistryTests.cs +0 -218
- package/mcps/RhinoMCP/tests/Server.Tests/ResultUnwrapperTests.cs +0 -53
- package/mcps/RhinoMCP/tests/Server.Tests/SchemaBuilderTests.cs +0 -166
- package/mcps/RhinoMCP/tests/Server.Tests/Server.Tests.csproj +0 -40
- package/mcps/RhinoMCP/tests/StreamJson.Tests/AcpMessageMapperTests.cs +0 -82
- package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentPromptsTests.cs +0 -56
- package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryOverlayTests.cs +0 -88
- package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRegistryResolutionTests.cs +0 -152
- package/mcps/RhinoMCP/tests/StreamJson.Tests/AgentRunnerTurnTests.cs +0 -149
- package/mcps/RhinoMCP/tests/StreamJson.Tests/ClaudeStreamJsonParserTests.cs +0 -118
- package/mcps/RhinoMCP/tests/StreamJson.Tests/CodexStreamJsonParserTests.cs +0 -100
- package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStorePruneTests.cs +0 -94
- package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationStoreRoundTripTests.cs +0 -70
- package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationTests.cs +0 -153
- package/mcps/RhinoMCP/tests/StreamJson.Tests/ConversationUsageTests.cs +0 -56
- package/mcps/RhinoMCP/tests/StreamJson.Tests/GlobalUsings.cs +0 -12
- package/mcps/RhinoMCP/tests/StreamJson.Tests/Shims.cs +0 -93
- package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJson.Tests.csproj +0 -56
- package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonAgentLoopbackTests.cs +0 -75
- package/mcps/RhinoMCP/tests/StreamJson.Tests/StreamJsonParserEdgeCaseTests.cs +0 -128
- package/mcps/RhinoMCP/tests/StreamJson.Tests/TokenUsageTests.cs +0 -40
- package/mcps/RhinoMCP/tests/launcher/launcher.test.mjs +0 -461
- package/mcps/RhinoMCP/tests/launcher/package.json +0 -8
- package/mcps/ae-mcp/docs/demo.png +0 -0
- package/mcps/ae-mcp/docs/demo1.png +0 -0
- package/mcps/ae-mcp/docs/demo3.png +0 -0
- package/mcps/ae-mcp/docs/video.png +0 -0
- package/mcps/after-effects-mcp/assets/MCP Auto Bridge.png +0 -0
- package/mcps/bdb-remoteos-mcp/tests/__init__.py +0 -1
- package/mcps/bdb-remoteos-mcp/tests/mock_incus.py +0 -60
- package/mcps/bdb-remoteos-mcp/tests/test_mcp_server.py +0 -27
- package/mcps/bdb-remoteos-mcp/tests/test_security_redteam.py +0 -349
- package/mcps/bdb-remoteos-mcp/tests/test_webhook.py +0 -61
- package/mcps/blender-mcp/assets/addon-instructions.png +0 -0
- package/mcps/blender-mcp/assets/hammer-icon.png +0 -0
- package/mcps/blender-mcp-server/docs/architecture.md +0 -209
- package/mcps/blender-mcp-server/docs/images/demo_render.png +0 -0
- package/mcps/blender-mcp-server/docs/python-execute-design.md +0 -515
- package/mcps/blender-mcp-server/tests/__init__.py +0 -0
- package/mcps/blender-mcp-server/tests/test_addon.py +0 -953
- package/mcps/blender-mcp-server/tests/test_server.py +0 -364
- package/mcps/davinci-mcp-professional/docs/README.md +0 -67
- package/mcps/davinci-mcp-professional/docs/html/README_8md.html +0 -113
- package/mcps/davinci-mcp-professional/docs/html/____init_____8py.html +0 -126
- package/mcps/davinci-mcp-professional/docs/html/____init_____8py.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/____init_____8py_source.html +0 -125
- package/mcps/davinci-mcp-professional/docs/html/__version_8py.html +0 -130
- package/mcps/davinci-mcp-professional/docs/html/__version_8py.js +0 -9
- package/mcps/davinci-mcp-professional/docs/html/__version_8py_source.html +0 -130
- package/mcps/davinci-mcp-professional/docs/html/annotated.html +0 -123
- package/mcps/davinci-mcp-professional/docs/html/annotated_dup.js +0 -21
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient-members.html +0 -131
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.html +0 -706
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveClient.js +0 -26
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError.html +0 -143
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.map +0 -7
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.map +0 -7
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveConnectionError__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError.html +0 -143
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.map +0 -9
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveError__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError.html +0 -143
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.map +0 -7
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.map +0 -7
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1resolve__client_1_1DaVinciResolveNotRunningError__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer-members.html +0 -115
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.html +0 -325
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1server_1_1DaVinciMCPServer.js +0 -10
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool-members.html +0 -110
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.html +0 -188
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciMediaPool__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject-members.html +0 -113
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.html +0 -248
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject.js +0 -8
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager-members.html +0 -113
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.html +0 -252
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager.js +0 -8
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProjectManager__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciProject__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp-members.html +0 -115
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.html +0 -288
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp.js +0 -10
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciResolveApp__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline-members.html +0 -110
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.html +0 -188
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__coll__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.map +0 -5
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/classdavinci__mcp_1_1types_1_1DaVinciTimeline__inherit__graph.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/classes.html +0 -111
- package/mcps/davinci-mcp-professional/docs/html/cli_8py.html +0 -135
- package/mcps/davinci-mcp-professional/docs/html/cli_8py.js +0 -11
- package/mcps/davinci-mcp-professional/docs/html/cli_8py_source.html +0 -249
- package/mcps/davinci-mcp-professional/docs/html/clipboard.js +0 -61
- package/mcps/davinci-mcp-professional/docs/html/cookie.js +0 -58
- package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.html +0 -127
- package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.map +0 -4
- package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/dir_1a1069c9a5427270b3ccd00c87d405fe_dep.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.html +0 -128
- package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.map +0 -4
- package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/dir_6a5346f4427b2e9426ba2ccfd9f0b603_dep.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.html +0 -127
- package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.map +0 -4
- package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/dir_77c8a4d399bde190a30252eceec792ef_dep.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.html +0 -129
- package/mcps/davinci-mcp-professional/docs/html/dir_f94b29b73815c35a8351f4403bcc4f74.js +0 -12
- package/mcps/davinci-mcp-professional/docs/html/doxygen.css +0 -2540
- package/mcps/davinci-mcp-professional/docs/html/doxygen.svg +0 -28
- package/mcps/davinci-mcp-professional/docs/html/doxygen_crawl.html +0 -170
- package/mcps/davinci-mcp-professional/docs/html/dynsections.js +0 -198
- package/mcps/davinci-mcp-professional/docs/html/files.html +0 -123
- package/mcps/davinci-mcp-professional/docs/html/files_dup.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/functions.html +0 -190
- package/mcps/davinci-mcp-professional/docs/html/functions_func.html +0 -184
- package/mcps/davinci-mcp-professional/docs/html/functions_vars.html +0 -110
- package/mcps/davinci-mcp-professional/docs/html/graph_legend.html +0 -165
- package/mcps/davinci-mcp-professional/docs/html/graph_legend.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/graph_legend.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/hierarchy.html +0 -123
- package/mcps/davinci-mcp-professional/docs/html/hierarchy.js +0 -18
- package/mcps/davinci-mcp-professional/docs/html/index.html +0 -200
- package/mcps/davinci-mcp-professional/docs/html/index.js +0 -9
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.map +0 -3
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_0.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.map +0 -3
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_1.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.map +0 -9
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_2.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.map +0 -13
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.md5 +0 -1
- package/mcps/davinci-mcp-professional/docs/html/inherit_graph_3.png +0 -0
- package/mcps/davinci-mcp-professional/docs/html/inherits.html +0 -145
- package/mcps/davinci-mcp-professional/docs/html/jquery.js +0 -204
- package/mcps/davinci-mcp-professional/docs/html/menu.js +0 -131
- package/mcps/davinci-mcp-professional/docs/html/menudata.js +0 -73
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.html +0 -209
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp.js +0 -34
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1__version.html +0 -260
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1cli.html +0 -303
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.html +0 -147
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resolve__client.js +0 -8
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1resources.html +0 -140
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.html +0 -144
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1server.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1tools.html +0 -140
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.html +0 -216
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1types.js +0 -13
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.html +0 -155
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils.js +0 -11
- package/mcps/davinci-mcp-professional/docs/html/namespacedavinci__mcp_1_1utils_1_1platform.html +0 -232
- package/mcps/davinci-mcp-professional/docs/html/namespacemembers.html +0 -173
- package/mcps/davinci-mcp-professional/docs/html/namespacemembers_func.html +0 -114
- package/mcps/davinci-mcp-professional/docs/html/namespacemembers_vars.html +0 -121
- package/mcps/davinci-mcp-professional/docs/html/namespaces.html +0 -119
- package/mcps/davinci-mcp-professional/docs/html/namespaces_dup.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/navtree.css +0 -327
- package/mcps/davinci-mcp-professional/docs/html/navtree.js +0 -901
- package/mcps/davinci-mcp-professional/docs/html/navtreedata.js +0 -68
- package/mcps/davinci-mcp-professional/docs/html/navtreeindex0.js +0 -212
- package/mcps/davinci-mcp-professional/docs/html/platform_8py.html +0 -130
- package/mcps/davinci-mcp-professional/docs/html/platform_8py.js +0 -8
- package/mcps/davinci-mcp-professional/docs/html/platform_8py_source.html +0 -245
- package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.html +0 -132
- package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py.js +0 -8
- package/mcps/davinci-mcp-professional/docs/html/resolve__client_8py_source.html +0 -501
- package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.html +0 -125
- package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/resources_2____init_____8py_source.html +0 -169
- package/mcps/davinci-mcp-professional/docs/html/search/all_0.js +0 -22
- package/mcps/davinci-mcp-professional/docs/html/search/all_1.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_10.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_11.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_12.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_13.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_2.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_3.js +0 -15
- package/mcps/davinci-mcp-professional/docs/html/search/all_4.js +0 -26
- package/mcps/davinci-mcp-professional/docs/html/search/all_5.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/all_6.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/all_7.js +0 -25
- package/mcps/davinci-mcp-professional/docs/html/search/all_8.js +0 -7
- package/mcps/davinci-mcp-professional/docs/html/search/all_9.js +0 -9
- package/mcps/davinci-mcp-professional/docs/html/search/all_a.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/all_b.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/all_c.js +0 -9
- package/mcps/davinci-mcp-professional/docs/html/search/all_d.js +0 -10
- package/mcps/davinci-mcp-professional/docs/html/search/all_e.js +0 -11
- package/mcps/davinci-mcp-professional/docs/html/search/all_f.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/classes_0.js +0 -13
- package/mcps/davinci-mcp-professional/docs/html/search/files_0.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/files_1.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/files_2.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/files_3.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/files_4.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/files_5.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/functions_0.js +0 -9
- package/mcps/davinci-mcp-professional/docs/html/search/functions_1.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/functions_2.js +0 -10
- package/mcps/davinci-mcp-professional/docs/html/search/functions_3.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/functions_4.js +0 -25
- package/mcps/davinci-mcp-professional/docs/html/search/functions_5.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/functions_6.js +0 -7
- package/mcps/davinci-mcp-professional/docs/html/search/functions_7.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/functions_8.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/functions_9.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/functions_a.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/functions_b.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/namespaces_0.js +0 -13
- package/mcps/davinci-mcp-professional/docs/html/search/pages_0.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_1.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/pages_2.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/pages_3.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_4.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/pages_5.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_6.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_7.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_8.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/pages_9.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/pages_a.js +0 -6
- package/mcps/davinci-mcp-professional/docs/html/search/pages_b.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_c.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/pages_d.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/search.css +0 -377
- package/mcps/davinci-mcp-professional/docs/html/search/search.js +0 -708
- package/mcps/davinci-mcp-professional/docs/html/search/searchdata.js +0 -33
- package/mcps/davinci-mcp-professional/docs/html/search/variables_0.js +0 -14
- package/mcps/davinci-mcp-professional/docs/html/search/variables_1.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/variables_2.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/variables_3.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/variables_4.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/variables_5.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/variables_6.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/search/variables_7.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/variables_8.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/search/variables_9.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/server_8py.html +0 -129
- package/mcps/davinci-mcp-professional/docs/html/server_8py.js +0 -5
- package/mcps/davinci-mcp-professional/docs/html/server_8py_source.html +0 -318
- package/mcps/davinci-mcp-professional/docs/html/tabs.css +0 -1
- package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.html +0 -125
- package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/tools_2____init_____8py_source.html +0 -253
- package/mcps/davinci-mcp-professional/docs/html/types_8py.html +0 -137
- package/mcps/davinci-mcp-professional/docs/html/types_8py.js +0 -13
- package/mcps/davinci-mcp-professional/docs/html/types_8py_source.html +0 -309
- package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.html +0 -125
- package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py.js +0 -4
- package/mcps/davinci-mcp-professional/docs/html/utils_2____init_____8py_source.html +0 -123
- package/mcps/davinci-mcp-professional/tests/README.md +0 -49
- package/mcps/davinci-mcp-professional/tests/__init__.py +0 -1
- package/mcps/davinci-mcp-professional/tests/conftest.py +0 -75
- package/mcps/davinci-mcp-professional/tests/test_security.py +0 -251
- package/mcps/davinci-resolve-mcp/docs/README.md +0 -56
- package/mcps/davinci-resolve-mcp/docs/SKILL.md +0 -1635
- package/mcps/davinci-resolve-mcp/docs/authoring/fuse-dctl-authoring.md +0 -242
- package/mcps/davinci-resolve-mcp/docs/authoring/script-plugin-authoring.md +0 -195
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/README.md +0 -152
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/category-patterns.md +0 -780
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/controls.md +0 -259
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/format.md +0 -568
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/gotchas.md +0 -168
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/references/thumbnails.md +0 -106
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Blur.setting +0 -46
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Color Tint.setting +0 -78
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Cross Dissolve.setting +0 -57
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Fade Title.setting +0 -111
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Glow.setting +0 -55
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Gradient.setting +0 -52
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Iris.setting +0 -127
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Lower Third.setting +0 -192
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Noise.setting +0 -74
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Solid Color.setting +0 -55
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Title.setting +0 -105
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Vignette.setting +0 -98
- package/mcps/davinci-resolve-mcp/docs/authoring/setting-files/templates/MCP Test Wipe.setting +0 -98
- package/mcps/davinci-resolve-mcp/docs/contributing.md +0 -82
- package/mcps/davinci-resolve-mcp/docs/guides/color-decision-guide.md +0 -427
- package/mcps/davinci-resolve-mcp/docs/guides/control-panel.md +0 -234
- package/mcps/davinci-resolve-mcp/docs/guides/editorial-decision-guide.md +0 -165
- package/mcps/davinci-resolve-mcp/docs/guides/media-analysis-guide.md +0 -763
- package/mcps/davinci-resolve-mcp/docs/guides/multicam-setup-guide.md +0 -138
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/01-overview.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/02-review-bin-grid.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/03-clip-detail.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/04-transcript.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/05-shot-detail.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/06-inventory.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/07-diagnostics-resolve.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/08-preferences-analysis.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/09-ai-console.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/10-history.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/images/control-panel/11-edit-plans.png +0 -0
- package/mcps/davinci-resolve-mcp/docs/install.md +0 -208
- package/mcps/davinci-resolve-mcp/docs/integrations/workflow-integrations.md +0 -120
- package/mcps/davinci-resolve-mcp/docs/kernels/README.md +0 -28
- package/mcps/davinci-resolve-mcp/docs/kernels/audio-fairlight-kernel.md +0 -86
- package/mcps/davinci-resolve-mcp/docs/kernels/color-grade-kernel.md +0 -103
- package/mcps/davinci-resolve-mcp/docs/kernels/extension-authoring-kernel.md +0 -101
- package/mcps/davinci-resolve-mcp/docs/kernels/fusion-composition-kernel.md +0 -121
- package/mcps/davinci-resolve-mcp/docs/kernels/media-pool-ingest-kernel.md +0 -147
- package/mcps/davinci-resolve-mcp/docs/kernels/project-lifecycle-kernel.md +0 -120
- package/mcps/davinci-resolve-mcp/docs/kernels/render-deliver-kernel.md +0 -92
- package/mcps/davinci-resolve-mcp/docs/kernels/review-annotation-kernel.md +0 -110
- package/mcps/davinci-resolve-mcp/docs/kernels/timeline-conform-interchange-kernel.md +0 -102
- package/mcps/davinci-resolve-mcp/docs/kernels/timeline-edit-kernel.md +0 -189
- package/mcps/davinci-resolve-mcp/docs/notes/codec-plugin-notes.md +0 -136
- package/mcps/davinci-resolve-mcp/docs/notes/dctl-notes.md +0 -234
- package/mcps/davinci-resolve-mcp/docs/notes/fusion-template-notes.md +0 -136
- package/mcps/davinci-resolve-mcp/docs/notes/lut-notes.md +0 -136
- package/mcps/davinci-resolve-mcp/docs/notes/openfx-notes.md +0 -120
- package/mcps/davinci-resolve-mcp/docs/process/release-process.md +0 -180
- package/mcps/davinci-resolve-mcp/docs/reference/api-coverage.md +0 -521
- package/mcps/davinci-resolve-mcp/docs/reference/api-limitations.md +0 -259
- package/mcps/davinci-resolve-mcp/docs/reference/readwrite-symmetry.md +0 -25
- package/mcps/davinci-resolve-mcp/docs/reference/resolve_scripting_api.txt +0 -1024
- package/mcps/davinci-resolve-mcp/tests/_error_envelope_helpers.py +0 -35
- package/mcps/davinci-resolve-mcp/tests/benchmark_server.py +0 -270
- package/mcps/davinci-resolve-mcp/tests/create_test_timeline.py +0 -177
- package/mcps/davinci-resolve-mcp/tests/live_api_gap_verification.py +0 -274
- package/mcps/davinci-resolve-mcp/tests/live_audio_fairlight_validation.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/live_auto_sync_settings_check.py +0 -76
- package/mcps/davinci-resolve-mcp/tests/live_color_grade_validation.py +0 -89
- package/mcps/davinci-resolve-mcp/tests/live_delete_governance_check.py +0 -71
- package/mcps/davinci-resolve-mcp/tests/live_duplicate_clips_validation.py +0 -831
- package/mcps/davinci-resolve-mcp/tests/live_edit_engine_validation.py +0 -277
- package/mcps/davinci-resolve-mcp/tests/live_enum_settings_check.py +0 -89
- package/mcps/davinci-resolve-mcp/tests/live_extension_authoring_validation.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/live_fuse_diagnose.py +0 -230
- package/mcps/davinci-resolve-mcp/tests/live_fuse_smoke.py +0 -250
- package/mcps/davinci-resolve-mcp/tests/live_fusion_composition_validation.py +0 -82
- package/mcps/davinci-resolve-mcp/tests/live_fusion_keyframe_validation.py +0 -116
- package/mcps/davinci-resolve-mcp/tests/live_fusion_mask_title_validation.py +0 -286
- package/mcps/davinci-resolve-mcp/tests/live_marker_validation.py +0 -439
- package/mcps/davinci-resolve-mcp/tests/live_media_pool_ingest_validation.py +0 -98
- package/mcps/davinci-resolve-mcp/tests/live_metadata_field_inventory_validation.py +0 -379
- package/mcps/davinci-resolve-mcp/tests/live_metadata_publish_validation.py +0 -192
- package/mcps/davinci-resolve-mcp/tests/live_multicam_setup_validation.py +0 -198
- package/mcps/davinci-resolve-mcp/tests/live_path_probe.py +0 -119
- package/mcps/davinci-resolve-mcp/tests/live_project_lifecycle_validation.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/live_render_deliver_validation.py +0 -82
- package/mcps/davinci-resolve-mcp/tests/live_review_annotation_validation.py +0 -91
- package/mcps/davinci-resolve-mcp/tests/live_script_smoke.py +0 -141
- package/mcps/davinci-resolve-mcp/tests/live_sync_event_validation.py +0 -165
- package/mcps/davinci-resolve-mcp/tests/live_timeline_conform_validation.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/live_v233_validation.py +0 -282
- package/mcps/davinci-resolve-mcp/tests/test-after-restart.bat +0 -83
- package/mcps/davinci-resolve-mcp/tests/test-after-restart.sh +0 -87
- package/mcps/davinci-resolve-mcp/tests/test_action_help.py +0 -47
- package/mcps/davinci-resolve-mcp/tests/test_action_list_drift.py +0 -163
- package/mcps/davinci-resolve-mcp/tests/test_ai_console_dispatch.py +0 -91
- package/mcps/davinci-resolve-mcp/tests/test_analysis_caps.py +0 -210
- package/mcps/davinci-resolve-mcp/tests/test_analysis_runs.py +0 -157
- package/mcps/davinci-resolve-mcp/tests/test_analysis_store.py +0 -366
- package/mcps/davinci-resolve-mcp/tests/test_api_limitations_doc.py +0 -56
- package/mcps/davinci-resolve-mcp/tests/test_api_truth.py +0 -64
- package/mcps/davinci-resolve-mcp/tests/test_api_truth_mitigations.py +0 -45
- package/mcps/davinci-resolve-mcp/tests/test_append_clip_infos_result_handling.py +0 -679
- package/mcps/davinci-resolve-mcp/tests/test_audio_fairlight_probe.py +0 -216
- package/mcps/davinci-resolve-mcp/tests/test_auto_run.py +0 -76
- package/mcps/davinci-resolve-mcp/tests/test_auto_sync_audio.py +0 -171
- package/mcps/davinci-resolve-mcp/tests/test_batch_cli.py +0 -253
- package/mcps/davinci-resolve-mcp/tests/test_brain_edits.py +0 -218
- package/mcps/davinci-resolve-mcp/tests/test_bridge_metrics.py +0 -52
- package/mcps/davinci-resolve-mcp/tests/test_bulk_match_to_hero.py +0 -219
- package/mcps/davinci-resolve-mcp/tests/test_caps_events_and_history.py +0 -147
- package/mcps/davinci-resolve-mcp/tests/test_caps_integration.py +0 -315
- package/mcps/davinci-resolve-mcp/tests/test_cdl_and_install_config.py +0 -372
- package/mcps/davinci-resolve-mcp/tests/test_clip_query.py +0 -57
- package/mcps/davinci-resolve-mcp/tests/test_cloud_settings.py +0 -62
- package/mcps/davinci-resolve-mcp/tests/test_color_grade_probe.py +0 -230
- package/mcps/davinci-resolve-mcp/tests/test_confirm_token.py +0 -85
- package/mcps/davinci-resolve-mcp/tests/test_confirm_token_preferences.py +0 -22
- package/mcps/davinci-resolve-mcp/tests/test_contracts.py +0 -81
- package/mcps/davinci-resolve-mcp/tests/test_create_subtitles_settings.py +0 -111
- package/mcps/davinci-resolve-mcp/tests/test_custom_timeline.py +0 -137
- package/mcps/davinci-resolve-mcp/tests/test_cut_executor.py +0 -87
- package/mcps/davinci-resolve-mcp/tests/test_cut_ir.py +0 -82
- package/mcps/davinci-resolve-mcp/tests/test_dashboard_transport.py +0 -47
- package/mcps/davinci-resolve-mcp/tests/test_deep_vision.py +0 -311
- package/mcps/davinci-resolve-mcp/tests/test_description_xml_shape.py +0 -71
- package/mcps/davinci-resolve-mcp/tests/test_destructive_decorator_coverage.py +0 -92
- package/mcps/davinci-resolve-mcp/tests/test_destructive_hook.py +0 -245
- package/mcps/davinci-resolve-mcp/tests/test_destructive_registry_drift.py +0 -108
- package/mcps/davinci-resolve-mcp/tests/test_edit_engine.py +0 -574
- package/mcps/davinci-resolve-mcp/tests/test_embeddings.py +0 -302
- package/mcps/davinci-resolve-mcp/tests/test_entities.py +0 -225
- package/mcps/davinci-resolve-mcp/tests/test_error_envelope.py +0 -179
- package/mcps/davinci-resolve-mcp/tests/test_exhaustive_wave_a.py +0 -101
- package/mcps/davinci-resolve-mcp/tests/test_extension_authoring_probe.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/test_extract_frames.py +0 -42
- package/mcps/davinci-resolve-mcp/tests/test_extract_source_frame_ranges.py +0 -129
- package/mcps/davinci-resolve-mcp/tests/test_failure_tracker.py +0 -103
- package/mcps/davinci-resolve-mcp/tests/test_fuse_dctl_authoring.py +0 -596
- package/mcps/davinci-resolve-mcp/tests/test_fusion_comp_targeting.py +0 -269
- package/mcps/davinci-resolve-mcp/tests/test_fusion_composition_probe.py +0 -156
- package/mcps/davinci-resolve-mcp/tests/test_fusion_group_settings.py +0 -284
- package/mcps/davinci-resolve-mcp/tests/test_fusion_mask_title.py +0 -205
- package/mcps/davinci-resolve-mcp/tests/test_fusion_node_ops.py +0 -212
- package/mcps/davinci-resolve-mcp/tests/test_governance_identity.py +0 -155
- package/mcps/davinci-resolve-mcp/tests/test_grade_evidence_base.py +0 -132
- package/mcps/davinci-resolve-mcp/tests/test_import.py +0 -153
- package/mcps/davinci-resolve-mcp/tests/test_improvements.py +0 -334
- package/mcps/davinci-resolve-mcp/tests/test_inventory_exclude_bins.py +0 -139
- package/mcps/davinci-resolve-mcp/tests/test_live_api.py +0 -315
- package/mcps/davinci-resolve-mcp/tests/test_marker_params.py +0 -234
- package/mcps/davinci-resolve-mcp/tests/test_mcp_prompts.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/test_mcp_resources.py +0 -117
- package/mcps/davinci-resolve-mcp/tests/test_mcp_transport.py +0 -74
- package/mcps/davinci-resolve-mcp/tests/test_media_analysis.py +0 -4637
- package/mcps/davinci-resolve-mcp/tests/test_media_pool_append_verification.py +0 -153
- package/mcps/davinci-resolve-mcp/tests/test_media_pool_changes.py +0 -105
- package/mcps/davinci-resolve-mcp/tests/test_media_pool_delete_governance.py +0 -69
- package/mcps/davinci-resolve-mcp/tests/test_media_pool_ingest_probe.py +0 -546
- package/mcps/davinci-resolve-mcp/tests/test_media_pool_walk.py +0 -79
- package/mcps/davinci-resolve-mcp/tests/test_multicam_setup.py +0 -178
- package/mcps/davinci-resolve-mcp/tests/test_object_inspection.py +0 -140
- package/mcps/davinci-resolve-mcp/tests/test_open_control_panel.py +0 -172
- package/mcps/davinci-resolve-mcp/tests/test_p1_param_validation.py +0 -57
- package/mcps/davinci-resolve-mcp/tests/test_p1_whitelist_and_delete.py +0 -81
- package/mcps/davinci-resolve-mcp/tests/test_page_lock.py +0 -52
- package/mcps/davinci-resolve-mcp/tests/test_panel_docs_drift.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/test_partial_success_manifest.py +0 -113
- package/mcps/davinci-resolve-mcp/tests/test_persistence_safety.py +0 -147
- package/mcps/davinci-resolve-mcp/tests/test_prefer_handle.py +0 -89
- package/mcps/davinci-resolve-mcp/tests/test_project_cleanup.py +0 -111
- package/mcps/davinci-resolve-mcp/tests/test_project_lifecycle_probe.py +0 -256
- package/mcps/davinci-resolve-mcp/tests/test_project_lint.py +0 -79
- package/mcps/davinci-resolve-mcp/tests/test_project_spec.py +0 -246
- package/mcps/davinci-resolve-mcp/tests/test_propose_grade.py +0 -116
- package/mcps/davinci-resolve-mcp/tests/test_provenance.py +0 -88
- package/mcps/davinci-resolve-mcp/tests/test_readback.py +0 -77
- package/mcps/davinci-resolve-mcp/tests/test_readwrite_audit.py +0 -43
- package/mcps/davinci-resolve-mcp/tests/test_reel_name_writeback.py +0 -149
- package/mcps/davinci-resolve-mcp/tests/test_render_deliver_probe.py +0 -250
- package/mcps/davinci-resolve-mcp/tests/test_resolve20_api.py +0 -282
- package/mcps/davinci-resolve-mcp/tests/test_resolve21_actions.py +0 -386
- package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_governance.py +0 -92
- package/mcps/davinci-resolve-mcp/tests/test_resolve_ai_ledger.py +0 -89
- package/mcps/davinci-resolve-mcp/tests/test_resolve_busy.py +0 -134
- package/mcps/davinci-resolve-mcp/tests/test_review_annotation_probe.py +0 -162
- package/mcps/davinci-resolve-mcp/tests/test_sampling_modes.py +0 -293
- package/mcps/davinci-resolve-mcp/tests/test_script_plugin.py +0 -750
- package/mcps/davinci-resolve-mcp/tests/test_shot_relationships.py +0 -254
- package/mcps/davinci-resolve-mcp/tests/test_spec_lint_wiring.py +0 -311
- package/mcps/davinci-resolve-mcp/tests/test_static_undefined_names.py +0 -45
- package/mcps/davinci-resolve-mcp/tests/test_structural_diff.py +0 -67
- package/mcps/davinci-resolve-mcp/tests/test_sync_detection.py +0 -213
- package/mcps/davinci-resolve-mcp/tests/test_thumbnail_image.py +0 -55
- package/mcps/davinci-resolve-mcp/tests/test_timeline_brain_db.py +0 -230
- package/mcps/davinci-resolve-mcp/tests/test_timeline_conform_probe.py +0 -229
- package/mcps/davinci-resolve-mcp/tests/test_timeline_editorial_helpers.py +0 -88
- package/mcps/davinci-resolve-mcp/tests/test_timeline_export_enum.py +0 -59
- package/mcps/davinci-resolve-mcp/tests/test_timeline_kernel_probe.py +0 -70
- package/mcps/davinci-resolve-mcp/tests/test_timeline_title_text_utils.py +0 -64
- package/mcps/davinci-resolve-mcp/tests/test_timeline_versioning.py +0 -419
- package/mcps/davinci-resolve-mcp/tests/test_tool_choice_hint.py +0 -42
- package/mcps/davinci-resolve-mcp/tests/test_tool_exposure.py +0 -159
- package/mcps/davinci-resolve-mcp/tests/test_tool_registration.py +0 -91
- package/mcps/davinci-resolve-mcp/tests/test_transcript_read.py +0 -74
- package/mcps/davinci-resolve-mcp/tests/test_update_check.py +0 -171
- package/mcps/davinci-resolve-mcp/tests/test_update_hardening.py +0 -171
- package/mcps/davinci-resolve-mcp/tests/test_update_history.py +0 -116
- package/mcps/davinci-resolve-mcp/tests/test_v232_helpers.py +0 -265
- package/mcps/davinci-resolve-mcp/tests/test_v233_helpers.py +0 -307
- package/mcps/davinci-resolve-mcp/tests/test_validation_guards.py +0 -108
- package/mcps/davinci-resolve-mcp/tests/test_verification_stats.py +0 -32
- package/mcps/davinci-resolve-mcp/tests/test_waveb_p2_p3.py +0 -65
- package/mcps/golem-rhino-mcp/Nexus-AI-Agents.png +0 -0
- package/mcps/golem-rhino-mcp/docs/ARCHITECTURE.md +0 -277
- package/mcps/golem-rhino-mcp/docs/PROTOCOL.md +0 -247
- package/mcps/golem-rhino-mcp/docs/TOOL_REFERENCE.md +0 -1571
- package/mcps/golem-rhino-mcp/docs/TROUBLESHOOTING.md +0 -396
- package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-20 at 18.33.06.png +0 -0
- package/mcps/golem-rhino-mcp/mcp_server/Screenshot 2026-03-21 at 1.43.01.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CAIO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CEO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CFO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CHRO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CISO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CLO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CMO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/COO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CPO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CRO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/CTO.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/king-hippo.png +0 -0
- package/mcps/golem-rhino-mcp/nexus-pngs/tier-0-csuite.png +0 -0
- package/mcps/golem-rhino-mcp/screenshots/city_monument.png +0 -0
- package/mcps/golem-rhino-mcp/screenshots/city_skyline.png +0 -0
- package/mcps/golem-rhino-mcp/screenshots/city_street.png +0 -0
- package/mcps/golem-rhino-mcp/screenshots/city_wide.png +0 -0
- package/mcps/golem-rhino-mcp/tests/__init__.py +0 -0
- package/mcps/golem-rhino-mcp/tests/conftest.py +0 -150
- package/mcps/golem-rhino-mcp/tests/test_connection.py +0 -543
- package/mcps/golem-rhino-mcp/tests/test_integration.py +0 -344
- package/mcps/golem-rhino-mcp/tests/test_models.py +0 -749
- package/mcps/golem-rhino-mcp/tests/test_protocol.py +0 -334
- package/mcps/golem-rhino-mcp/tests/test_tools_mock.py +0 -689
- package/mcps/tdmcp/.github/social-preview.png +0 -0
- package/mcps/tdmcp/docs/.vitepress/config.ts +0 -397
- package/mcps/tdmcp/docs/AI_PARTY_LLM_TRAINING_PLAN.md +0 -118
- package/mcps/tdmcp/docs/AI_PARTY_POC.md +0 -142
- package/mcps/tdmcp/docs/AI_PARTY_POC_PLAN.md +0 -112
- package/mcps/tdmcp/docs/CREATIVE_RAG.md +0 -346
- package/mcps/tdmcp/docs/DEPLOYMENT.md +0 -113
- package/mcps/tdmcp/docs/PROJECT_RAG.md +0 -477
- package/mcps/tdmcp/docs/ROADMAP.md +0 -1346
- package/mcps/tdmcp/docs/guide/ai-controlled-party.md +0 -215
- package/mcps/tdmcp/docs/guide/body-tracking.md +0 -169
- package/mcps/tdmcp/docs/guide/codex.md +0 -107
- package/mcps/tdmcp/docs/guide/components.md +0 -126
- package/mcps/tdmcp/docs/guide/dashboard-foh.md +0 -93
- package/mcps/tdmcp/docs/guide/faq.md +0 -62
- package/mcps/tdmcp/docs/guide/first-visual.md +0 -76
- package/mcps/tdmcp/docs/guide/generators.md +0 -230
- package/mcps/tdmcp/docs/guide/glossary.md +0 -123
- package/mcps/tdmcp/docs/guide/install.md +0 -200
- package/mcps/tdmcp/docs/guide/local-copilot.md +0 -154
- package/mcps/tdmcp/docs/guide/lops-integration.md +0 -133
- package/mcps/tdmcp/docs/guide/mcp-resources.md +0 -96
- package/mcps/tdmcp/docs/guide/mediapipe-adapters.md +0 -90
- package/mcps/tdmcp/docs/guide/physical-installations.md +0 -129
- package/mcps/tdmcp/docs/guide/prompt-cookbook.md +0 -2285
- package/mcps/tdmcp/docs/guide/recipes.md +0 -72
- package/mcps/tdmcp/docs/guide/session-profile.md +0 -90
- package/mcps/tdmcp/docs/guide/shader-park.md +0 -94
- package/mcps/tdmcp/docs/guide/show-timelines.md +0 -125
- package/mcps/tdmcp/docs/guide/troubleshooting.md +0 -121
- package/mcps/tdmcp/docs/guide/what-is-tdmcp.md +0 -62
- package/mcps/tdmcp/docs/index.md +0 -49
- package/mcps/tdmcp/docs/privacy.md +0 -85
- package/mcps/tdmcp/docs/pt/CREATIVE_RAG.md +0 -370
- package/mcps/tdmcp/docs/pt/PROJECT_RAG.md +0 -420
- package/mcps/tdmcp/docs/pt/guide/ai-controlled-party.md +0 -218
- package/mcps/tdmcp/docs/pt/guide/body-tracking.md +0 -175
- package/mcps/tdmcp/docs/pt/guide/codex.md +0 -113
- package/mcps/tdmcp/docs/pt/guide/components.md +0 -129
- package/mcps/tdmcp/docs/pt/guide/dashboard-foh.md +0 -95
- package/mcps/tdmcp/docs/pt/guide/faq.md +0 -62
- package/mcps/tdmcp/docs/pt/guide/first-visual.md +0 -81
- package/mcps/tdmcp/docs/pt/guide/generators.md +0 -243
- package/mcps/tdmcp/docs/pt/guide/glossary.md +0 -127
- package/mcps/tdmcp/docs/pt/guide/install.md +0 -196
- package/mcps/tdmcp/docs/pt/guide/local-copilot.md +0 -164
- package/mcps/tdmcp/docs/pt/guide/lops-integration.md +0 -143
- package/mcps/tdmcp/docs/pt/guide/mcp-resources.md +0 -96
- package/mcps/tdmcp/docs/pt/guide/mediapipe-adapters.md +0 -93
- package/mcps/tdmcp/docs/pt/guide/physical-installations.md +0 -135
- package/mcps/tdmcp/docs/pt/guide/prompt-cookbook.md +0 -2342
- package/mcps/tdmcp/docs/pt/guide/recipes.md +0 -59
- package/mcps/tdmcp/docs/pt/guide/session-profile.md +0 -92
- package/mcps/tdmcp/docs/pt/guide/shader-park.md +0 -95
- package/mcps/tdmcp/docs/pt/guide/show-timelines.md +0 -128
- package/mcps/tdmcp/docs/pt/guide/troubleshooting.md +0 -109
- package/mcps/tdmcp/docs/pt/guide/what-is-tdmcp.md +0 -61
- package/mcps/tdmcp/docs/pt/index.md +0 -49
- package/mcps/tdmcp/docs/pt/privacy.md +0 -91
- package/mcps/tdmcp/docs/pt/reference/architecture.md +0 -178
- package/mcps/tdmcp/docs/pt/reference/environment.md +0 -70
- package/mcps/tdmcp/docs/public/favicon.svg +0 -12
- package/mcps/tdmcp/docs/public/logo-400.png +0 -0
- package/mcps/tdmcp/docs/public/og-image.jpg +0 -0
- package/mcps/tdmcp/docs/public/robots.txt +0 -4
- package/mcps/tdmcp/docs/reference/API_STABILITY.md +0 -116
- package/mcps/tdmcp/docs/reference/architecture.md +0 -191
- package/mcps/tdmcp/docs/reference/bridge-api.md +0 -155
- package/mcps/tdmcp/docs/reference/cli.md +0 -288
- package/mcps/tdmcp/docs/reference/coverage-harness.md +0 -61
- package/mcps/tdmcp/docs/reference/environment.md +0 -116
- package/mcps/tdmcp/docs/reference/packages.md +0 -98
- package/mcps/tdmcp/docs/reference/tool-contract.md +0 -74
- package/mcps/tdmcp/docs/superpowers/plans/2026-05-29-shader-park-animus-integrations.md +0 -76
- package/mcps/tdmcp/docs/superpowers/plans/2026-06-02-doctor-fix-textport-auto-install.md +0 -131
- package/mcps/tdmcp/docs/superpowers/plans/2026-06-06-body-bubbles.md +0 -138
- package/mcps/tdmcp/docs/superpowers/plans/2026-06-08-deep-doppelganger-implementation.md +0 -201
- package/mcps/tdmcp/docs/superpowers/plans/2026-06-10-ai-party-ollama-integration.md +0 -55
- package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-calibration-wizard.md +0 -53
- package/mcps/tdmcp/docs/superpowers/plans/2026-06-24-kinect-wall-harp-external-kinect.md +0 -286
- package/mcps/tdmcp/docs/superpowers/specs/2026-05-31-create-vector-lines-design.md +0 -308
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-01-ai-controlled-party-plan.md +0 -461
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-04-ai-party-ui24r-scene-arming-design.md +0 -296
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-ai-controlled-party-producer-poc.md +0 -232
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-08-deep-doppelganger-design.md +0 -136
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-10-hermes-ai-party-poc.md +0 -383
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-23-kinect-wall-harp-design.md +0 -340
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-environment-diagnostic-design.md +0 -151
- package/mcps/tdmcp/docs/superpowers/specs/2026-06-24-kinect-wall-harp-external-kinect-design.md +0 -104
- package/mcps/tdmcp/training/showintent/data/curated/.gitkeep +0 -1
- package/mcps/tdmcp/training/showintent/data/curated/curated-approved.jsonl +0 -1
- package/mcps/tdmcp/training/showintent/data/curation_template.csv +0 -1
- package/mcps/tdmcp/training/showintent/data/generated/.gitkeep +0 -1
- package/mcps/tdmcp/training/showintent/data/generated/showintent-synthetic.jsonl +0 -2000
- package/mcps/tdmcp/training/showintent/data/raw/.gitkeep +0 -1
- package/mcps/tdmcp/training/showintent/data/splits/.gitkeep +0 -1
- package/mcps/tdmcp/training/showintent/data/splits/train-compact.jsonl +0 -1800
- package/mcps/tdmcp/training/showintent/data/splits/train.jsonl +0 -1800
- package/mcps/tdmcp/training/showintent/data/splits/validation-compact.jsonl +0 -200
- package/mcps/tdmcp/training/showintent/data/splits/validation.jsonl +0 -200
- package/mcps/touchdesigner-mcp/assets/import.png +0 -0
- package/mcps/touchdesigner-mcp/assets/nodes_list.png +0 -0
- package/mcps/touchdesigner-mcp/assets/particle_on_youtube.png +0 -0
- package/mcps/touchdesigner-mcp/assets/textport.png +0 -0
- package/mcps/touchdesigner-mcp/assets/tutorial.png +0 -0
- package/mcps/touchdesigner-mcp/assets/tutorial_docker.png +0 -0
- package/mcps/touchdesigner-mcp/docs/architecture.md +0 -1245
- package/mcps/touchdesigner-mcp/docs/development.ja.md +0 -197
- package/mcps/touchdesigner-mcp/docs/development.md +0 -212
- package/mcps/touchdesigner-mcp/docs/installation.ja.md +0 -370
- package/mcps/touchdesigner-mcp/docs/installation.md +0 -406
- package/mcps/unreal_mcp/Public/icon.png +0 -0
- package/mcps/unreal_mcp/docs/Engine-API-Reference.md +0 -2251
- package/mcps/unreal_mcp/docs/Roadmap.md +0 -2269
- package/mcps/unreal_mcp/docs/editor-plugin-extension.md +0 -373
- package/mcps/unreal_mcp/docs/handler-mapping.md +0 -1170
- package/mcps/unreal_mcp/docs/native-automation-progress.md +0 -431
- package/mcps/unreal_mcp/docs/testing-guide.md +0 -149
- package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Domains/Test/McpAutomationBridge_TestHandlers.cpp +0 -74
- package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpCustomHandlerAliasTests.cpp +0 -191
- package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpEnvironmentSnapshotSchemaTests.cpp +0 -192
- package/mcps/unreal_mcp/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/Tests/McpPropertyReflectionImportTests.cpp +0 -269
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpClientProtocolAutomation.cpp +0 -152
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.cpp +0 -136
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAcpProtocolTestHelpers.h +0 -49
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTestDelegates.h +0 -12
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationTests.cpp +0 -34
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.cpp +0 -116
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentAutomationWidgetHelpers.h +0 -15
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentFakeAcpScript.cpp +0 -76
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomation.h +0 -35
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelAutomationFixture.cpp +0 -118
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelHistoryChecks.cpp +0 -162
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelLayoutChecks.cpp +0 -158
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentPanelTranscriptChecks.cpp +0 -117
- package/mcps/unreal_mcp/plugins/UnrealAgent/Source/UnrealAgent/Private/Tests/UnrealAgentStudioKitAutomationChecks.cpp +0 -155
- package/mcps/unreal_mcp/tests/AGENTS.md +0 -73
- package/mcps/unreal_mcp/tests/expectation-utils.mjs +0 -29
- package/mcps/unreal_mcp/tests/heartbeat-progress.test.mjs +0 -143
- package/mcps/unreal_mcp/tests/integration/get_ai_info_characterization.mjs +0 -216
- package/mcps/unreal_mcp/tests/integration.mjs +0 -94
- package/mcps/unreal_mcp/tests/mcp-tools/core/control-actor.test.mjs +0 -114
- package/mcps/unreal_mcp/tests/mcp-tools/core/control-editor.test.mjs +0 -86
- package/mcps/unreal_mcp/tests/mcp-tools/core/inspect.test.mjs +0 -85
- package/mcps/unreal_mcp/tests/mcp-tools/core/manage-asset.test.mjs +0 -302
- package/mcps/unreal_mcp/tests/mcp-tools/core/manage-blueprint.test.mjs +0 -331
- package/mcps/unreal_mcp/tests/mcp-tools/core/manage-level.test.mjs +0 -73
- package/mcps/unreal_mcp/tests/mcp-tools/core/manage-tools.test.mjs +0 -30
- package/mcps/unreal_mcp/tests/mcp-tools/core/system-control.test.mjs +0 -205
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/animation-physics.test.mjs +0 -277
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-ai.test.mjs +0 -299
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-character.test.mjs +0 -85
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-combat.test.mjs +0 -106
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-effect.test.mjs +0 -108
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-gas.test.mjs +0 -96
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-interaction.test.mjs +0 -122
- package/mcps/unreal_mcp/tests/mcp-tools/gameplay/manage-inventory.test.mjs +0 -146
- package/mcps/unreal_mcp/tests/mcp-tools/utility/behavior-tree-get-tree.test.mjs +0 -233
- package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-audio.test.mjs +0 -160
- package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-behavior-tree.test.mjs +0 -223
- package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-networking.test.mjs +0 -635
- package/mcps/unreal_mcp/tests/mcp-tools/utility/manage-sequence.test.mjs +0 -95
- package/mcps/unreal_mcp/tests/mcp-tools/world/build-environment.test.mjs +0 -282
- package/mcps/unreal_mcp/tests/mcp-tools/world/manage-geometry.test.mjs +0 -130
- package/mcps/unreal_mcp/tests/mcp-tools/world/manage-level-structure.test.mjs +0 -149
- package/mcps/unreal_mcp/tests/mcp-tools/world/manage-pcg.test.mjs +0 -471
- package/mcps/unreal_mcp/tests/mcp-tools/world/rendering-cases.cjs +0 -775
- package/mcps/unreal_mcp/tests/mcp-tools/world/rendering.test.mjs +0 -15
- package/mcps/unreal_mcp/tests/native-mcp-parity-audit.mjs +0 -260
- package/mcps/unreal_mcp/tests/native-mcp-source-parser.mjs +0 -229
- package/mcps/unreal_mcp/tests/native-mcp-typescript-parity-parser.mjs +0 -121
- package/mcps/unreal_mcp/tests/parameter-audit-cli.mjs +0 -23
- package/mcps/unreal_mcp/tests/parameter-audit-context.mjs +0 -14
- package/mcps/unreal_mcp/tests/parameter-audit-coverage.mjs +0 -164
- package/mcps/unreal_mcp/tests/parameter-audit-schema.mjs +0 -190
- package/mcps/unreal_mcp/tests/parameter-audit-suites.mjs +0 -218
- package/mcps/unreal_mcp/tests/parameter-combination-audit.mjs +0 -37
- package/mcps/unreal_mcp/tests/test-runner-response-utils.mjs +0 -132
- package/mcps/unreal_mcp/tests/test-runner.mjs +0 -1798
- package/mcps/unreal_mcp/tests/unit/automation/bridge_host_validation.test.ts +0 -165
- package/mcps/unreal_mcp/tests/unit/config.test.ts +0 -205
- package/mcps/unreal_mcp/tests/unit/native_mcp_parity_audit.test.ts +0 -281
- package/mcps/unreal_mcp/tests/unit/native_mcp_parity_comment_filtering.test.ts +0 -175
- package/mcps/unreal_mcp/tests/unit/parameter_audit_schema.test.ts +0 -273
- package/mcps/unreal_mcp/tests/unit/plugin/automation_event_stream_contracts.test.ts +0 -195
- package/mcps/unreal_mcp/tests/unit/plugin/environment_asset_name_contracts.test.ts +0 -115
- package/mcps/unreal_mcp/tests/unit/plugin/environment_build_adapter_contracts.test.ts +0 -377
- package/mcps/unreal_mcp/tests/unit/plugin/environment_snapshot_path_contracts.test.ts +0 -122
- package/mcps/unreal_mcp/tests/unit/plugin/handler_routing_contracts.test.ts +0 -120
- package/mcps/unreal_mcp/tests/unit/plugin/level_lighting_contracts.test.ts +0 -125
- package/mcps/unreal_mcp/tests/unit/plugin/plugin_manifest_contracts.test.ts +0 -154
- package/mcps/unreal_mcp/tests/unit/plugin/plugin_packaging_contracts.test.ts +0 -124
- package/mcps/unreal_mcp/tests/unit/plugin/runtime_behavior_contracts.test.ts +0 -372
- package/mcps/unreal_mcp/tests/unit/plugin/security_contracts.test.ts +0 -81
- package/mcps/unreal_mcp/tests/unit/plugin/source_structure.test.ts +0 -101
- package/mcps/unreal_mcp/tests/unit/plugin/source_structure_contracts.test.ts +0 -103
- package/mcps/unreal_mcp/tests/unit/plugin/websocket_origin_contracts.test.ts +0 -25
- package/mcps/unreal_mcp/tests/unit/server_shutdown_contracts.test.ts +0 -33
- package/mcps/unreal_mcp/tests/unit/source_structure.test.ts +0 -79
- package/mcps/unreal_mcp/tests/unit/test_runner.test.ts +0 -342
- package/mcps/unreal_mcp/tests/unit/test_runner_response_utils.test.ts +0 -105
- package/mcps/unreal_mcp/tests/unit/tools/asset_handlers_security.test.ts +0 -246
- package/mcps/unreal_mcp/tests/unit/tools/behavior_tree_get_tree.test.ts +0 -20
- package/mcps/unreal_mcp/tests/unit/tools/blueprint_handlers.test.ts +0 -122
- package/mcps/unreal_mcp/tests/unit/tools/editor.test.ts +0 -56
- package/mcps/unreal_mcp/tests/unit/tools/handler_structure.test.ts +0 -59
- package/mcps/unreal_mcp/tests/unit/tools/inspect_handlers.test.ts +0 -231
- package/mcps/unreal_mcp/tests/unit/tools/level.test.ts +0 -56
- package/mcps/unreal_mcp/tests/unit/tools/level_security.test.ts +0 -45
- package/mcps/unreal_mcp/tests/unit/tools/lighting_timeout_propagation.test.ts +0 -123
- package/mcps/windows-computer-use-mcp/cua-reports/app-1781542686.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/bridge-1781542694.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442393.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/bridge-ok-1781442915.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444105.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781444214.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/bridge-snap-1781457035.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440024.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781440234.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442383.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781442906.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444096.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781444209.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/cua-smoke-1781457029.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/dashboard-1781542713.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/help-1781542738.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/logging-1781542722.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781444225.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-dashboard-1781457051.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781444245.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-help-1781457075.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781444232.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-logging-1781457059.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781444239.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/nav-settings-1781457067.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav/settings-1781542730.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav-dashboard-1781442925.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav-help-1781442941.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav-logging-1781442930.png +0 -0
- package/mcps/windows-computer-use-mcp/cua-reports/nav-settings-1781442936.png +0 -0
- package/mcps/windows-computer-use-mcp/docs/ARCHITECTURE.md +0 -46
- package/mcps/windows-computer-use-mcp/docs/ASSESSMENT_BY_CURSOR_2026-06-14_CUA_NSIS.md +0 -383
- package/mcps/windows-computer-use-mcp/docs/AUTOMATION_ASSERT_SPEC.md +0 -202
- package/mcps/windows-computer-use-mcp/docs/CUA_PARITY.md +0 -39
- package/mcps/windows-computer-use-mcp/docs/DEVELOPMENT.md +0 -51
- package/mcps/windows-computer-use-mcp/docs/MEMOPS_CUA.md +0 -147
- package/mcps/windows-computer-use-mcp/docs/PRD.md +0 -93
- package/mcps/windows-computer-use-mcp/docs/README.md +0 -34
- package/mcps/windows-computer-use-mcp/docs/ROADMAP.md +0 -142
- package/mcps/windows-computer-use-mcp/docs/SAFETY.md +0 -138
- package/mcps/windows-computer-use-mcp/docs/TESTING.md +0 -90
- package/mcps/windows-computer-use-mcp/docs/TOOLS.md +0 -80
- package/mcps/windows-computer-use-mcp/docs/TOOL_DOCSTRING_STANDARD.md +0 -538
- package/mcps/windows-computer-use-mcp/docs/_stale/AHK_VS_PYWINAUTO_COMPARISON.md +0 -353
- package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT.md +0 -54
- package/mcps/windows-computer-use-mcp/docs/_stale/ASSESSMENT_2026-06-08.md +0 -309
- package/mcps/windows-computer-use-mcp/docs/_stale/COMPLETE_DOCUMENTATION_STRUCTURE.md +0 -5
- package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ASSISTANT_TODO.md +0 -84
- package/mcps/windows-computer-use-mcp/docs/_stale/CUA_PARITY_ROADMAP.md +0 -81
- package/mcps/windows-computer-use-mcp/docs/_stale/CUA_ROADMAP.md +0 -306
- package/mcps/windows-computer-use-mcp/docs/_stale/DESKTOP_APP.md +0 -125
- package/mcps/windows-computer-use-mcp/docs/_stale/DOCUMENTATION_INDEX.md +0 -59
- package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
- package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_PLATFORM.md +0 -175
- package/mcps/windows-computer-use-mcp/docs/_stale/GLAMA_AI_RESCAN_GUIDE.md +0 -216
- package/mcps/windows-computer-use-mcp/docs/_stale/GOLD_STATUS_ACHIEVEMENT.md +0 -197
- package/mcps/windows-computer-use-mcp/docs/_stale/LLM_REPO_CONTEXT.md +0 -7
- package/mcps/windows-computer-use-mcp/docs/_stale/MCP_PRODUCTION_CHECKLIST.md +0 -105
- package/mcps/windows-computer-use-mcp/docs/_stale/OFFICE_BACKGROUND_MATRIX.md +0 -19
- package/mcps/windows-computer-use-mcp/docs/_stale/OPERATOR_PROTOCOL.md +0 -37
- package/mcps/windows-computer-use-mcp/docs/_stale/ORGANIZATION_SUMMARY.md +0 -305
- package/mcps/windows-computer-use-mcp/docs/_stale/RENAME-TO-AUTOMATION-MCP.md +0 -191
- package/mcps/windows-computer-use-mcp/docs/_stale/STATUS_REPORT.md +0 -288
- package/mcps/windows-computer-use-mcp/docs/_stale/TARGETS_PAGE_SKETCH.md +0 -977
- package/mcps/windows-computer-use-mcp/docs/_stale/TOOL_DOCSTRING_MIGRATION.md +0 -365
- package/mcps/windows-computer-use-mcp/docs/_stale/USAGE_SCENARIOS.md +0 -697
- package/mcps/windows-computer-use-mcp/docs/_stale/desktop-state-tool.md +0 -464
- package/mcps/windows-computer-use-mcp/docs/_stale/development/README.md +0 -18
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_RULES.md +0 -928
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/AI_DEVELOPMENT_TOOLS_COMPARISON.md +0 -364
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/BULLETPROOF_MCP_GUIDE.md +0 -793
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEBUGGING_LESSONS_LEARNED.md +0 -635
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/DEVELOPMENT_PAIN_POINTS.md +0 -699
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_COMPLETE.md +0 -410
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/FILE_VALIDATION_GUIDE.md +0 -575
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/LINK_PARSER_FIX.md +0 -769
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/MCP_SYNC_DEBUGGING_GUIDE.md +0 -512
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_DEPENDENCY_HELL_FIX.md +0 -568
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/PYTHON_SNIPPETS_USAGE_GUIDE.md +0 -717
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/README.md +0 -25
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_IMPROVEMENTS_SUMMARY.md +0 -496
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYNC_HEALTH_INTEGRATION.md +0 -381
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/SYSTEMATIC_PROJECT_UPDATES.md +0 -532
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-prompt-templates-vs-docstrings.md +0 -657
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-docstring-best-practices.md +0 -439
- package/mcps/windows-computer-use-mcp/docs/_stale/development/archive/mcp-tool-documentation-standards.md +0 -1153
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/CI_CD_GLAMA_OPTIMIZATION_GUIDE.md +0 -850
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_CRITICISM_ANALYSIS.md +0 -259
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_OPTIMIZATION_SUMMARY.md +0 -204
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_PLATFORM.md +0 -175
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_AI_RESCAN_GUIDE.md +0 -216
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_GITHUB_APP_SETUP.md +0 -199
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_INTEGRATION.md +0 -181
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GLAMA_RESCAN_EMAIL.txt +0 -43
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_ACHIEVEMENT.md +0 -197
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/GOLD_STATUS_UPDATE_2025_10_08.md +0 -378
- package/mcps/windows-computer-use-mcp/docs/_stale/glama-platform/README.md +0 -632
- package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements-fastmcp.txt +0 -8
- package/mcps/windows-computer-use-mcp/docs/_stale/legacy/requirements_minimal.txt +0 -4
- package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CLAUDE_DESKTOP_DEBUGGING.md +0 -561
- package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/CONTAINERIZATION_GUIDELINES.md +0 -707
- package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MCP_PRODUCTION_CHECKLIST.md +0 -101
- package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/MONITORING_STACK_DEPLOYMENT.md +0 -532
- package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/README.md +0 -266
- package/mcps/windows-computer-use-mcp/docs/_stale/mcp-technical/TROUBLESHOOTING_FASTMCP_2.12.md +0 -670
- package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_BUILDING_GUIDE.md +0 -1921
- package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/MCPB_IMPLEMENTATION_SUMMARY.md +0 -387
- package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/PYPI_PUBLISHING_GUIDE.md +0 -789
- package/mcps/windows-computer-use-mcp/docs/_stale/mcpb-packaging/README.md +0 -404
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/COMMUNITY_AND_SUPPORT.md +0 -976
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/LANGUAGE_SERVER_PROTOCOL_EXPLAINED.md +0 -416
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/MCP_TOOL_CORRUPTION_ISSUE.md +0 -279
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_ALTERNATIVES.md +0 -308
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COLOR_FIX_2025_10_08.md +0 -187
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_COMPLETE_GUIDE.md +0 -1259
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NOTEPADPP_NUCLEAR_REINSTALL_2025_10_08.md +0 -196
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/NPP_WHITE_ON_WHITE_BATTLE_PLAN.md +0 -336
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/PLUGIN_ECOSYSTEM_COMPREHENSIVE.md +0 -887
- package/mcps/windows-computer-use-mcp/docs/_stale/notepadpp/README.md +0 -472
- package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BACKUP_AND_RECOVERY_GUIDE.md +0 -455
- package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_PROTECTION_SETTINGS.md +0 -236
- package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/BRANCH_STRATEGY_AND_AI_WORKFLOW.md +0 -616
- package/mcps/windows-computer-use-mcp/docs/_stale/repository-protection/README.md +0 -333
- package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_COPY_TO_OTHER_REPOS.md +0 -159
- package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_GUIDE.md +0 -632
- package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_INSTALL_AND_TEST.md +0 -569
- package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_NEXT_STEPS.md +0 -351
- package/mcps/windows-computer-use-mcp/docs/_stale/serena/SERENA_QUICK_INSTALL.md +0 -195
- package/mcps/windows-computer-use-mcp/docs/_stale/state-tool-implementation.md +0 -498
- package/mcps/windows-computer-use-mcp/docs/composing-with-playwright.md +0 -55
- package/mcps/windows-computer-use-mcp/docs/cua-nsis-certification.md +0 -101
- package/mcps/windows-computer-use-mcp/docs/ocr.md +0 -107
- package/mcps/windows-computer-use-mcp/docs/py-stack.md +0 -47
- package/mcps/windows-computer-use-mcp/native/icons/icon.png +0 -0
- package/mcps/windows-computer-use-mcp/screenshot_demo.png +0 -0
- package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_complete_toast.png +0 -0
- package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/export_dialog_title.png +0 -0
- package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/file_dialog_path_field.png +0 -0
- package/mcps/windows-computer-use-mcp/src/windows_computer_use_mcp/templates/vroidstudio/default/sample_tile_female.png +0 -0
- package/mcps/windows-computer-use-mcp/tests/README.md +0 -155
- package/mcps/windows-computer-use-mcp/tests/__init__.py +0 -1
- package/mcps/windows-computer-use-mcp/tests/conftest.py +0 -281
- package/mcps/windows-computer-use-mcp/tests/conftest_env.py +0 -116
- package/mcps/windows-computer-use-mcp/tests/e2e/conftest.py +0 -96
- package/mcps/windows-computer-use-mcp/tests/e2e/test_libreoffice_cua_loop.py +0 -72
- package/mcps/windows-computer-use-mcp/tests/test_app_integration.py +0 -83
- package/mcps/windows-computer-use-mcp/tests/test_app_profiles.py +0 -28
- package/mcps/windows-computer-use-mcp/tests/test_automation_assert.py +0 -185
- package/mcps/windows-computer-use-mcp/tests/test_automation_dialog.py +0 -43
- package/mcps/windows-computer-use-mcp/tests/test_automation_elements.py +0 -138
- package/mcps/windows-computer-use-mcp/tests/test_automation_keyboard.py +0 -57
- package/mcps/windows-computer-use-mcp/tests/test_automation_mouse.py +0 -57
- package/mcps/windows-computer-use-mcp/tests/test_automation_shortcut.py +0 -41
- package/mcps/windows-computer-use-mcp/tests/test_automation_task.py +0 -115
- package/mcps/windows-computer-use-mcp/tests/test_automation_windows.py +0 -105
- package/mcps/windows-computer-use-mcp/tests/test_cameras_api.py +0 -43
- package/mcps/windows-computer-use-mcp/tests/test_cua_parity.py +0 -51
- package/mcps/windows-computer-use-mcp/tests/test_dependency_failures.py +0 -39
- package/mcps/windows-computer-use-mcp/tests/test_desktop_state.py +0 -99
- package/mcps/windows-computer-use-mcp/tests/test_face_recognition.py +0 -238
- package/mcps/windows-computer-use-mcp/tests/test_face_recognition_api.py +0 -161
- package/mcps/windows-computer-use-mcp/tests/test_images/README.md +0 -28
- package/mcps/windows-computer-use-mcp/tests/test_mission.py +0 -42
- package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_mock.py +0 -173
- package/mcps/windows-computer-use-mcp/tests/test_portmanteau_windows_real.py +0 -139
- package/mcps/windows-computer-use-mcp/tests/test_retry.py +0 -26
- package/mcps/windows-computer-use-mcp/tests/test_safety_api.py +0 -24
- package/mcps/windows-computer-use-mcp/tests/test_template_library.py +0 -53
- package/mcps/windows-computer-use-mcp/tests/test_utils.py +0 -185
- package/mcps/windows-computer-use-mcp/web_sota/src-tauri/icons/icon.png +0 -0
- package/skills/global_config/google-sheets-automation/SKILL.md +0 -150
- package/skills/global_config/senior-fullstack/SKILL.md +0 -221
- package/skills/global_config/senior-fullstack/references/architecture_patterns.md +0 -103
- package/skills/global_config/senior-fullstack/references/development_workflows.md +0 -103
- package/skills/global_config/senior-fullstack/references/tech_stack_guide.md +0 -103
- package/skills/global_config/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
- package/skills/global_config/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
- package/skills/global_config/senior-fullstack/scripts/project_scaffolder.py +0 -114
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "How the TouchDesigner MCP server works — the MCP tool layers, the embedded operator knowledge base, and the bridge that runs inside TouchDesigner."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Architecture
|
|
6
|
-
|
|
7
|
-
tdmcp is three programs that talk to each other on your machine:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
AI assistant tdmcp server TouchDesigner
|
|
11
|
-
(Claude / Cursor) ──▶ (Node / TypeScript) ──▶ (the Python bridge inside TD)
|
|
12
|
-
"make a feedback MCP tools + the creates / connects /
|
|
13
|
-
tunnel from noise" operator knowledge base inspects / previews nodes
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
1. **The AI assistant** is any MCP-capable client — Claude Desktop, Claude Code,
|
|
17
|
-
Codex, or Cursor. It's where you describe what you want.
|
|
18
|
-
2. **The tdmcp server** is a small Node program. It exposes a set of TouchDesigner
|
|
19
|
-
"tools" and an embedded operator knowledge base to the AI over the
|
|
20
|
-
[Model Context Protocol](https://modelcontextprotocol.io).
|
|
21
|
-
3. **The bridge** is a Python package that runs *inside* TouchDesigner (behind a
|
|
22
|
-
Web Server DAT). It's what actually drives TD. See
|
|
23
|
-
[Bridge & REST API](/reference/bridge-api).
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
MCP client ──stdio──▶ tdmcp server (Node/TS) ──HTTP──▶ TouchDesigner bridge (Python)
|
|
27
|
-
├── Layer 1 artist tools (create_visual_system, …)
|
|
28
|
-
├── Layer 2 building blocks (create_node_chain, …)
|
|
29
|
-
├── Layer 3 atomic ops (create_td_node, …)
|
|
30
|
-
├── Knowledge base (MCP resources)
|
|
31
|
-
├── Recipes (validated network templates)
|
|
32
|
-
└── Feedback engine (errors / preview / performance)
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## The three tool layers
|
|
36
|
-
|
|
37
|
-
Tools are organized into layers so the AI can pick the right altitude for a task.
|
|
38
|
-
See the full, always-current list in the [Tools reference](/reference/tools).
|
|
39
|
-
|
|
40
|
-
- **Layer 1 — artist tools.** Describe a result (`create_feedback_network`,
|
|
41
|
-
`create_audio_reactive`, `create_generative_art`, …) and get a whole network,
|
|
42
|
-
wired and arranged, often with a control panel ready to perform.
|
|
43
|
-
- **Layer 2 — building blocks.** Mid-level pieces (`create_node_chain`,
|
|
44
|
-
`connect_nodes`, `create_control_panel`, `animate_parameter`,
|
|
45
|
-
`create_external_io`, …) for assembling and controlling networks by hand.
|
|
46
|
-
- **Layer 3 — atomic operations.** Single-node CRUD plus inspection, analysis,
|
|
47
|
-
rendering and the Python escape hatches (`create_td_node`, `find_td_nodes`,
|
|
48
|
-
`get_td_node_errors`, `execute_python_script`, …).
|
|
49
|
-
|
|
50
|
-
A separate group of [vault tools](/reference/tools#obsidian-vault) bridges an
|
|
51
|
-
Obsidian vault and TouchDesigner.
|
|
52
|
-
|
|
53
|
-
## The create → verify → preview loop
|
|
54
|
-
|
|
55
|
-
Every high-level build follows the same loop so the AI can see and fix its own
|
|
56
|
-
work instead of guessing:
|
|
57
|
-
|
|
58
|
-
1. **Create** the network from a recipe, GLSL pattern, or generated Python.
|
|
59
|
-
2. **Verify** by reading cook/compile errors (`get_td_node_errors`,
|
|
60
|
-
`summarize_td_errors`).
|
|
61
|
-
3. **Preview** by capturing the output TOP as an inline image (`get_preview`).
|
|
62
|
-
|
|
63
|
-
Generated networks are auto-arranged into a readable left→right layout
|
|
64
|
-
(`arrange_network`) instead of piling nodes on top of each other.
|
|
65
|
-
|
|
66
|
-
## Knowledge base
|
|
67
|
-
|
|
68
|
-
The server ships with an embedded, offline reference so the AI uses real
|
|
69
|
-
operators rather than inventing them: **629 operators**, **68 Python classes**,
|
|
70
|
-
workflow patterns, GLSL techniques, tutorials, **7 TouchDesigner release
|
|
71
|
-
profiles**, **45 operator compatibility entries**, **9 Python API compatibility
|
|
72
|
-
classes**, **6 experimental build series**, **7 technique packs** with **39
|
|
73
|
-
techniques**, and **6 TouchDesigner class references**. These are exposed as MCP
|
|
74
|
-
resources the AI can read on demand:
|
|
75
|
-
|
|
76
|
-
`tdmcp://operators/{category|name}` · `tdmcp://python-api/{class}` ·
|
|
77
|
-
`tdmcp://operator-connections/{operator}` · `tdmcp://operator-examples/{operator}` ·
|
|
78
|
-
`tdmcp://td-versions/{version}` · `tdmcp://td-experimental/{series_or_category}` ·
|
|
79
|
-
`tdmcp://compat/operators/{operator}` · `tdmcp://compat/python/{class_or_member}` ·
|
|
80
|
-
`tdmcp://techniques/{category}` · `tdmcp://td-classes/{family}` ·
|
|
81
|
-
`tdmcp://patterns/{name}` · `tdmcp://glsl/{name}` ·
|
|
82
|
-
`tdmcp://glsl-snippets` · `tdmcp://recipes/{name}` ·
|
|
83
|
-
`tdmcp://recipes/search/{query}` · `tdmcp://tutorials/{name}` ·
|
|
84
|
-
`tdmcp://commands` · `tdmcp://prompts` · `tdmcp://cheatsheets` ·
|
|
85
|
-
`tdmcp://learning/touchdesigner`
|
|
86
|
-
|
|
87
|
-
The knowledge base is committed to the repo, so a fresh clone needs only
|
|
88
|
-
`npm install && npm run build`. `npm run import:bottobot` regenerates it from
|
|
89
|
-
`@bottobot/td-mcp` and is only needed to refresh it.
|
|
90
|
-
|
|
91
|
-
## Creative RAG (optional, opt-in)
|
|
92
|
-
|
|
93
|
-
[Creative RAG](/CREATIVE_RAG) is a separate, opt-in subsystem that lives
|
|
94
|
-
**outside** the TouchDesigner bridge. It is **not** a tool layer, it does **not**
|
|
95
|
-
touch TD, DMX, fixtures or any Python exec path. It is a CLI subcommand
|
|
96
|
-
(`tdmcp creative-rag {sync|index|search}`) plus two **read-only** MCP resources
|
|
97
|
-
(`tdmcp://creative/cards/{id}` and `tdmcp://creative/search`), both registered
|
|
98
|
-
only when `TDMCP_RAG_ENABLED=1`. Its only outbound calls are HTTPS to four
|
|
99
|
-
open-data museum APIs (during explicit `sync`) and `POST /api/embed` to a
|
|
100
|
-
**local Ollama process** (during `index` and `search`). Repertoire, not policy
|
|
101
|
-
— search results never trigger an in-TD action.
|
|
102
|
-
|
|
103
|
-
## Recipes
|
|
104
|
-
|
|
105
|
-
Recipes are validated network templates (JSON) the AI can instantiate with
|
|
106
|
-
`apply_recipe`. They cover common starting points — feedback tunnels,
|
|
107
|
-
reaction-diffusion, particle galaxies, audio spectrum bars, projection mapping
|
|
108
|
-
and more. See the [Recipe gallery](/guide/recipes) for what each one builds, and
|
|
109
|
-
the repository's `CONTRIBUTING.md` guide to add your own.
|
|
110
|
-
|
|
111
|
-
## Transports & events
|
|
112
|
-
|
|
113
|
-
The server speaks two MCP transports:
|
|
114
|
-
|
|
115
|
-
- **stdio** (default) — for local clients like Claude Desktop and Claude Code.
|
|
116
|
-
- **Streamable HTTP** (`TDMCP_TRANSPORT=http`) — serves MCP at
|
|
117
|
-
`POST/GET/DELETE /mcp` on loopback with stateful sessions, for remote/headless
|
|
118
|
-
setups. See [Deployment](/deployment).
|
|
119
|
-
|
|
120
|
-
It can also subscribe to a **WebSocket event stream** from TD
|
|
121
|
-
(`node.created` / `node.deleted` / `node.error` / `project.saved` /
|
|
122
|
-
`timeline.frame` / `node.cook`) and forward events as MCP logging notifications.
|
|
123
|
-
High-frequency events (`timeline.frame`, `node.cook`) are dropped unless
|
|
124
|
-
explicitly opted in. Toggle with `TDMCP_EVENTS`.
|
|
125
|
-
|
|
126
|
-
### Calling tdmcp from inside TouchDesigner (LOPs)
|
|
127
|
-
|
|
128
|
-
dotsimulate's LOPs "MCP Client" can run *inside* TouchDesigner and spawn this
|
|
129
|
-
server over stdio, closing a loop: **TD (LOPs MCP Client) → `node dist/index.js`
|
|
130
|
-
(tdmcp) → HTTP → the TD bridge on `127.0.0.1:9980` (the same TD) → the network.**
|
|
131
|
-
No transport change is needed (stdio is the default). Because the client lives in
|
|
132
|
-
TD with no documented `env` field, point its `command` at the
|
|
133
|
-
`scripts/tdmcp-lops.mjs` wrapper, which injects the hardened profile
|
|
134
|
-
(`TDMCP_RAW_PYTHON=off`, `TDMCP_TOOL_PROFILE=safe`). See the
|
|
135
|
-
[LOPs integration guide](/guide/lops-integration).
|
|
136
|
-
|
|
137
|
-
## Security
|
|
138
|
-
|
|
139
|
-
The TouchDesigner bridge runs **arbitrary Python inside your TD process** — that
|
|
140
|
-
is what lets the assistant build networks for you. Treat it like an open door to
|
|
141
|
-
the machine TD runs on:
|
|
142
|
-
|
|
143
|
-
- **The Web Server DAT binds its port (default `9980`) on all interfaces, but the
|
|
144
|
-
bridge is loopback-only by default.** A request from a non-loopback peer address
|
|
145
|
-
is rejected immediately (HTTP `403`), **before** routing, authentication, or any
|
|
146
|
-
tool runs, so reaching the port from another machine is not enough to drive it.
|
|
147
|
-
To expose the bridge to a LAN, set `TDMCP_BRIDGE_ALLOW_LAN=1` in TouchDesigner's
|
|
148
|
-
environment (also accepts `true`/`yes`/`on`) — and pair it with
|
|
149
|
-
`TDMCP_BRIDGE_TOKEN`. Even then, only run it on a trusted network and/or firewall
|
|
150
|
-
the port. (Some TouchDesigner builds don't surface the peer address to the
|
|
151
|
-
callback; where that's the case the `Origin`/`Host` guards below are the
|
|
152
|
-
defense.)
|
|
153
|
-
- **Turn on bridge auth for untrusted networks:** set `TDMCP_BRIDGE_TOKEN` to a
|
|
154
|
-
shared secret in **both** the server's environment and TouchDesigner's
|
|
155
|
-
environment. The bridge then rejects any request without a matching
|
|
156
|
-
`Authorization: Bearer <token>` (HTTP `401`). Unset (default) keeps the
|
|
157
|
-
zero-config local flow.
|
|
158
|
-
- `TDMCP_RAW_PYTHON=off` hides only the two **raw-Python MCP tools**
|
|
159
|
-
(`execute_python_script`, `exec_node_method`) where the *client* authors the
|
|
160
|
-
code. It is **not** a code-execution kill-switch: many higher-level tools still
|
|
161
|
-
send their own templated Python to the bridge. The bridge-side arbitrary-code
|
|
162
|
-
endpoints (`/api/exec`, node-`method`) are default-closed unless
|
|
163
|
-
`TDMCP_BRIDGE_TOKEN` is configured or `TDMCP_BRIDGE_ALLOW_EXEC=1` is explicitly
|
|
164
|
-
set in TouchDesigner's environment; structured endpoints keep working.
|
|
165
|
-
- The MCP server binds to loopback (`127.0.0.1`) for both transports and enables
|
|
166
|
-
DNS-rebinding protection on HTTP.
|
|
167
|
-
- **The bridge refuses browser cross-origin requests.** Any request carrying an
|
|
168
|
-
`Origin` header that isn't loopback is rejected (HTTP `403`), and a
|
|
169
|
-
`POST`/`PATCH`/`PUT` whose `Content-Type` is present but not `application/json`
|
|
170
|
-
is rejected too — that blocks the simple cross-site form/`fetch` POSTs a
|
|
171
|
-
malicious web page could aim at the bridge (CSRF / DNS-rebinding → drive-by code
|
|
172
|
-
execution). The MCP server sends no `Origin` and always uses
|
|
173
|
-
`application/json`, so normal use is unaffected.
|
|
174
|
-
- **The local copilot chat UI (`tdmcp chat`) applies the same guard.** It binds to
|
|
175
|
-
loopback and rejects (HTTP `403`) any request whose `Host` or `Origin` isn't a
|
|
176
|
-
loopback name, so a page the artist visits can't drive node CRUD against the live
|
|
177
|
-
project via `http://127.0.0.1:<chat-port>/chat`.
|
|
178
|
-
|
|
179
|
-
All of these are configured through [environment variables](/reference/environment).
|
|
180
|
-
|
|
181
|
-
## Known limitations
|
|
182
|
-
|
|
183
|
-
- **WebSocket events** are forwarded as MCP logging notifications on both
|
|
184
|
-
transports; high-frequency events are dropped unless opted in.
|
|
185
|
-
- **Audio / particle / 3D builders and the exotic recipes** (kinect, LED,
|
|
186
|
-
projection) produce valid, connected networks but use best-effort TD parameter
|
|
187
|
-
names — fine-tuning may be needed, and they emit warnings to that effect.
|
|
188
|
-
- **Preview** returns the TOP at its native resolution (the requested size is
|
|
189
|
-
advisory).
|
|
190
|
-
- The bridge ships as Python modules plus a callbacks template (a binary `.tox`
|
|
191
|
-
can't be generated from source); the one-line installer assembles it for you.
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "The tdmcp bridge and REST API — the component inside TouchDesigner that the MCP server drives to create, inspect, connect and preview nodes."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Bridge & REST API
|
|
6
|
-
|
|
7
|
-
The bridge is the TouchDesigner side of tdmcp: a small Python package that exposes
|
|
8
|
-
a REST API behind a **Web Server DAT**, which the server calls over HTTP. It runs
|
|
9
|
-
*inside* the TD process — that's what gives it the power to create, connect,
|
|
10
|
-
inspect and preview real nodes.
|
|
11
|
-
|
|
12
|
-
> A binary `.tox` can't be generated from source by an AI agent, so the bridge
|
|
13
|
-
> ships as Python modules plus a callbacks template. The one-line installer
|
|
14
|
-
> assembles it for you; you can then export your own reusable `.tox`.
|
|
15
|
-
|
|
16
|
-
## Install it once
|
|
17
|
-
|
|
18
|
-
All three options create one tidy `tdmcp_bridge` COMP (Web Server DAT +
|
|
19
|
-
callbacks), are idempotent, and can be undone with
|
|
20
|
-
`from mcp import install; install.uninstall()`.
|
|
21
|
-
|
|
22
|
-
There are two reusable TouchDesigner objects in this flow:
|
|
23
|
-
|
|
24
|
-
| Object | Path / artifact | Purpose |
|
|
25
|
-
| --- | --- | --- |
|
|
26
|
-
| Runtime bridge | `/project1/tdmcp_bridge` | The actual Web Server DAT bridge that exposes `/api/info` and the REST API. |
|
|
27
|
-
| Palette package | `tdmcp/tdmcp_bridge_package.tox` | A draggable Palette component with **Install**, **Reinstall**, **Uninstall**, and **Status** controls for the runtime bridge. |
|
|
28
|
-
|
|
29
|
-
For repeat use across projects, stage the modules and export the Palette package:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npx --yes --package=@dpantani/tdmcp tdmcp install-bridge --palette
|
|
33
|
-
# or, from a clone after build:
|
|
34
|
-
node dist/index.js install-bridge --palette
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
The CLI prints the exact Textport command with your staged module path. Paste the
|
|
38
|
-
Palette package command in TouchDesigner, then drag **tdmcp →
|
|
39
|
-
tdmcp_bridge_package** from the Palette into a project and click **Install**.
|
|
40
|
-
`/api/info` responds only after that package button has created the runtime
|
|
41
|
-
bridge. Advanced exports can use `--palette-dir <path>` and
|
|
42
|
-
`--package-name <name>`.
|
|
43
|
-
|
|
44
|
-
**A. One paste — no clone, no Preferences.** In the Textport
|
|
45
|
-
(`Dialogs → Textport and DATs`):
|
|
46
|
-
|
|
47
|
-
```python
|
|
48
|
-
import urllib.request; exec(urllib.request.urlopen("https://github.com/Pantani/tdmcp/raw/v0.12.0/td/bootstrap.py").read().decode())
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Downloads the bridge to `~/tdmcp-bridge/modules` and starts it on port 9980.
|
|
52
|
-
(Needs the repo reachable; if it's private, use B or C.)
|
|
53
|
-
|
|
54
|
-
**B. After adding the module path.** Add the absolute path of `td/modules` to
|
|
55
|
-
**Preferences → "Python 64-bit Module Path"**, then in the Textport:
|
|
56
|
-
|
|
57
|
-
```python
|
|
58
|
-
from mcp import install; install.run()
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**C. From the terminal.** `npx --yes --package=@dpantani/tdmcp tdmcp install-bridge` (or
|
|
62
|
-
`node dist/index.js install-bridge` from a clone) copies the bridge to
|
|
63
|
-
`~/tdmcp-bridge` and prints exactly what to paste.
|
|
64
|
-
|
|
65
|
-
You should see `[tdmcp] bridge running on port 9980 (/project1/tdmcp_bridge)`.
|
|
66
|
-
Verify from a terminal:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
curl http://127.0.0.1:9980/api/info
|
|
70
|
-
# {"ok":true,"data":{"python_version":"3.11.x","td_version":"...","bridge_version":"..."}}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Make a reusable `.tox`
|
|
74
|
-
|
|
75
|
-
```python
|
|
76
|
-
from mcp import install
|
|
77
|
-
install.export("/path/to/mcp_webserver_base.tox", modules_dir="/abs/path/to/td/modules")
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Pass `modules_dir` so the import path travels inside the `.tox`; from then on the
|
|
81
|
-
install is just dragging the component in.
|
|
82
|
-
|
|
83
|
-
### Keep it on across restarts
|
|
84
|
-
|
|
85
|
-
Save your project as your **Default Project**, or use the self-installing
|
|
86
|
-
`td/startup.py` in an Execute DAT (toggle **Start** and **Create** on). `install()`
|
|
87
|
-
is idempotent, so it's safe to leave in place permanently. Full manual
|
|
88
|
-
(Web-Server-DAT-by-hand) steps are in the
|
|
89
|
-
[TouchDesigner bridge folder](https://github.com/Pantani/tdmcp/tree/main/td).
|
|
90
|
-
|
|
91
|
-
## Endpoints
|
|
92
|
-
|
|
93
|
-
All responses use the envelope `{ "ok": true, "data": … }` or
|
|
94
|
-
`{ "ok": false, "error": { "message": … } }`.
|
|
95
|
-
|
|
96
|
-
| Method | Path | Purpose |
|
|
97
|
-
| --- | --- | --- |
|
|
98
|
-
| GET | `/api/info` | TD/Python/bridge versions |
|
|
99
|
-
| POST | `/api/nodes` | create node `{parent_path,type,name?,parameters?}` |
|
|
100
|
-
| GET | `/api/nodes?parent=…` | list children |
|
|
101
|
-
| GET | `/api/nodes/{path}` | node detail (path is percent-encoded) |
|
|
102
|
-
| PATCH | `/api/nodes/{path}` | update `{parameters}` |
|
|
103
|
-
| DELETE | `/api/nodes/{path}` | delete node |
|
|
104
|
-
| POST | `/api/exec` | run Python `{script,return_output?}` |
|
|
105
|
-
| POST | `/api/nodes/{path}/method` | call `{method,args?,kwargs?}` |
|
|
106
|
-
| GET | `/api/nodes/{path}/errors` | node errors |
|
|
107
|
-
| GET | `/api/preview/{path}` | TOP as base64 PNG |
|
|
108
|
-
| POST | `/api/batch` | `{operations:[…]}` (create/update/delete/connect) |
|
|
109
|
-
| GET | `/api/network/{path}/errors` | recursive errors |
|
|
110
|
-
| GET | `/api/network/{path}/topology` | nodes + connections |
|
|
111
|
-
| GET | `/api/network/{path}/performance` | cook times |
|
|
112
|
-
| POST | `/api/connect` | connect `{source_path,target_path,source_output?,target_input?}` (index-aware) |
|
|
113
|
-
| POST | `/api/disconnect` | disconnect `{to_path,from_path?,to_input?}` (by target, optionally by source/input) |
|
|
114
|
-
| GET | `/api/nodes/{path}/params?modes=true` | parameter values **+ modes** (`keys?`, `non_default_only?`) |
|
|
115
|
-
| PATCH | `/api/nodes/{path}/params/{param}/mode` | set a parameter's mode `{mode,expr?,value?}` (constant/expression/bind) |
|
|
116
|
-
| GET | `/api/nodes/{path}/text` | read a DAT's text |
|
|
117
|
-
| PUT | `/api/nodes/{path}/text` | replace a DAT's text `{text}` |
|
|
118
|
-
| GET | `/api/logs` | recent bridge/cook errors from the in-bridge Error DAT (`severity?`, `max_lines?`, `scope?`) |
|
|
119
|
-
|
|
120
|
-
The `/api/exec` and node-`method` endpoints are disabled bridge-side by default
|
|
121
|
-
unless `TDMCP_BRIDGE_TOKEN` is configured or `TDMCP_BRIDGE_ALLOW_EXEC=1` is set
|
|
122
|
-
inside TouchDesigner — see [Security](/reference/architecture#security). The
|
|
123
|
-
structured endpoints added in 0.6.0 — `/api/connect`, `/api/disconnect`,
|
|
124
|
-
`/api/logs`, the `?modes=true` parameter reads, `…/params/{param}/mode` and the
|
|
125
|
-
DAT `…/text` reads/writes — are **not** behind the exec gate, so they keep
|
|
126
|
-
working while arbitrary exec is closed.
|
|
127
|
-
|
|
128
|
-
## Developing the bridge
|
|
129
|
-
|
|
130
|
-
TouchDesigner imports the bridge modules once at project open, so editing files
|
|
131
|
-
under `td/` does **not** update a running bridge. Reload without reopening:
|
|
132
|
-
|
|
133
|
-
```python
|
|
134
|
-
from mcp import dev
|
|
135
|
-
dev.reload_bridge() # reimports every mcp.* / utils.* module; returns the names reloaded
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
For the local dev loop, `tdmcp-agent watch-build` watches `src/` and `td/`.
|
|
139
|
-
When a saved change touches `td/`, it waits for typecheck/build to pass, runs
|
|
140
|
-
`python -m py_compile` over the changed Python files, then calls the
|
|
141
|
-
`reload_bridge` tool automatically. Use `--no-reload-bridge` for a build-only
|
|
142
|
-
watcher, or `--no-py-compile` when you need to skip the Python syntax gate.
|
|
143
|
-
|
|
144
|
-
Bump `BRIDGE_VERSION` in `td/modules/utils/version.py` on every bridge change.
|
|
145
|
-
`get_td_info` reports the *running* bridge's version, so when it lags the repo you
|
|
146
|
-
know the running bridge is stale and should be reloaded.
|
|
147
|
-
|
|
148
|
-
### Notes / known limitations
|
|
149
|
-
|
|
150
|
-
- Operator types are resolved with a regex-guarded `eval` of the type name; only
|
|
151
|
-
`[A-Za-z][A-Za-z0-9_]*` is accepted.
|
|
152
|
-
- `preview` returns the TOP at its native resolution; the requested width/height
|
|
153
|
-
are advisory.
|
|
154
|
-
- WebSocket event streaming is stubbed in the callbacks and forwarded as MCP
|
|
155
|
-
logging notifications by the server.
|
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "The tdmcp command line — agent runner and a local-LLM copilot for the TouchDesigner MCP server, for tasks that do not need a paid API."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# CLI
|
|
6
|
-
|
|
7
|
-
The package installs two binaries: `tdmcp` (the MCP server + utilities) and
|
|
8
|
-
`tdmcp-agent` (a shell-friendly client). After `npm run build`, run them with
|
|
9
|
-
`node dist/index.js …` / `node dist/cli/agent.js …`, or globally if you
|
|
10
|
-
`npm link` / install the package.
|
|
11
|
-
|
|
12
|
-
## `tdmcp` — server & utilities
|
|
13
|
-
|
|
14
|
-
| Command | What it does |
|
|
15
|
-
| --- | --- |
|
|
16
|
-
| `tdmcp` | Start the MCP server (default `stdio` transport). Configured via [environment variables](/reference/environment). |
|
|
17
|
-
| `tdmcp serve --http --port 3939` | Start the MCP server over loopback Streamable HTTP for clients that do not use stdio. Bare `tdmcp` still defaults to stdio. |
|
|
18
|
-
| `tdmcp --help` | Print top-level usage without starting the MCP server. |
|
|
19
|
-
| `tdmcp init` | One-shot onboarding: stage the bridge, write a client config (Claude / Cursor / Codex), seed a profile and optional bridge token. See [Onboarding](#onboarding) below. |
|
|
20
|
-
| `tdmcp ask "your prompt"` | Non-interactive copilot turn — one prompt in, one answer out (machine-readable with `--json`). See [Onboarding](#onboarding) below. |
|
|
21
|
-
| `tdmcp chat` _(alias `tdmcp llm-run`)_ | Start the local LLM copilot UI (see below). |
|
|
22
|
-
| `tdmcp telegram` | Start an allowlisted Telegram Bot API long-poll bridge into the local Ollama copilot. See [Telegram copilot](#telegram-copilot) below. |
|
|
23
|
-
| `tdmcp creative-rag sync\|index\|search` | Manage the opt-in Creative RAG reference store. See [Creative RAG](/creative-rag). |
|
|
24
|
-
| `tdmcp project-rag sources\|sync\|index\|search\|info\|analyze\|bridge` | Manage the opt-in TouchDesigner project RAG store and quarantine analyzer. See [Project RAG](/project-rag). |
|
|
25
|
-
| `tdmcp install-bridge` | Stage the TouchDesigner bridge to `~/tdmcp-bridge` and print the runtime Textport command for `/project1/tdmcp_bridge`. Add `--palette` to also print a Palette package export command for draggable `tdmcp_bridge_package.tox`; `--palette-dir <path>` and `--package-name <name>` imply `--palette`. Add `--verify` to check `/api/info` once, `--wait` to poll until it is up, and `--port <port>` for non-default bridges. For the Palette package, `/api/info` can only pass after the package's **Install** button creates the runtime bridge. See [Bridge & REST API](/reference/bridge-api). |
|
|
26
|
-
| `tdmcp install-client <claude\|codex\|cursor>` | Print a client-specific MCP config snippet for the current package. Add `--write --path <file>` to deep-merge and verify an explicit client config file (JSON for Claude/Cursor, TOML for Codex). |
|
|
27
|
-
| `tdmcp completion bash` | Print a shell completion snippet for the primary binary. Supports `bash`, `zsh`, and `fish`, including package-manager shortcuts and common flags. |
|
|
28
|
-
| `tdmcp --version` | Print the package version. |
|
|
29
|
-
| `tdmcp search/list/info/install/uninstall/doctor/packages path` | Manage TouchDesigner community packages. See [Package manager](/reference/packages). |
|
|
30
|
-
|
|
31
|
-
Common package-manager examples:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
tdmcp search shader
|
|
35
|
-
tdmcp list --available
|
|
36
|
-
tdmcp info shader-park-td --json
|
|
37
|
-
tdmcp install mediapipe-touchdesigner --dry-run --json
|
|
38
|
-
tdmcp doctor comfyui-td --json
|
|
39
|
-
tdmcp packages --help
|
|
40
|
-
tdmcp packages path
|
|
41
|
-
tdmcp completion bash
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Onboarding & one-shot ask {#onboarding}
|
|
45
|
-
|
|
46
|
-
### `tdmcp init`
|
|
47
|
-
|
|
48
|
-
One-shot onboarding for first-time users. Stages the TouchDesigner bridge,
|
|
49
|
-
writes (or merges) a per-client MCP config for Claude / Cursor / Codex, creates
|
|
50
|
-
a default profile in `tdmcp.json`, and optionally seeds a `TDMCP_BRIDGE_TOKEN`.
|
|
51
|
-
Safe to re-run — every step is idempotent and reports `ok` / `would` / `skip` /
|
|
52
|
-
`fail`.
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
tdmcp init --yes
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
| Flag | Purpose |
|
|
59
|
-
| --- | --- |
|
|
60
|
-
| `-y, --yes` | Accept defaults, non-interactive. |
|
|
61
|
-
| `--dry-run` | Plan only; do not touch files or launch TouchDesigner. |
|
|
62
|
-
| `--json` | Emit a single JSON envelope (suppresses banners; pair with `--show-token` if you need the token unredacted). |
|
|
63
|
-
| `--clients <list>` | `auto` (default), `none`, or csv of `claude,cursor,codex`. |
|
|
64
|
-
| `--skip <steps>` | csv of `bridge,clients,config,token,open,doctor` to skip individual steps. |
|
|
65
|
-
| `--token <v>` | Use this `TDMCP_BRIDGE_TOKEN` (use `--no-token` to opt out of token generation). |
|
|
66
|
-
| `--profile <name>` | Profile name in `tdmcp.json` (default `local`). |
|
|
67
|
-
|
|
68
|
-
### `tdmcp ask`
|
|
69
|
-
|
|
70
|
-
Non-interactive copilot turn — pass a single prompt, get one answer back. Uses
|
|
71
|
-
the same curated local-LLM tier as `tdmcp chat`, but skips the browser UI so it
|
|
72
|
-
plugs into scripts and CI.
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
tdmcp ask "what TOPs are cooking the slowest right now?" --json
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
| Flag | Purpose |
|
|
79
|
-
| --- | --- |
|
|
80
|
-
| `--json` | Emit a single JSON line: `{answer, error?, durationMs, model, tier, toolCalls}`. |
|
|
81
|
-
| `--tools=off` | Bypass tool calls and return a pure model answer. |
|
|
82
|
-
| `--model <name>` | Override `llmModel` for this turn. |
|
|
83
|
-
| `--profile <name>` | Use a named profile from `tdmcp.json` / `.tdmcprc`. |
|
|
84
|
-
| `--config <path>` | Use a specific config file instead of the search order. |
|
|
85
|
-
| `--read-only` | Force the safe (inspection-only) tier. |
|
|
86
|
-
| `--creative` | Use the creative tier and a warmer sampling preset. |
|
|
87
|
-
| `--with-creative` | Inject Creative RAG cards into the prompt context when Creative RAG is enabled. |
|
|
88
|
-
| `--no-ollama` | Don't auto-start local Ollama (remote endpoint or self-managed daemon). |
|
|
89
|
-
| `--timeout <ms>` | Wall-clock cap on the turn (default 120000). Exits 124 on hit. |
|
|
90
|
-
|
|
91
|
-
## `tdmcp-agent` — command-line agent
|
|
92
|
-
|
|
93
|
-
`tdmcp-agent` drives the same tools from a shell with machine-readable output —
|
|
94
|
-
useful for scripts and CI.
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
tdmcp-agent --help # list commands
|
|
98
|
-
tdmcp-agent info # health check + TD/bridge info
|
|
99
|
-
tdmcp-agent nodes find --params '{"parent_path":"/project1","type":"TOP"}'
|
|
100
|
-
tdmcp-agent nodes create --dry-run --params '{"parent_path":"/project1","type":"noiseTOP"}'
|
|
101
|
-
tdmcp-agent commands --json # discover commands + mutating/unsafe flags
|
|
102
|
-
tdmcp-agent help nodes find # focused help + input schema
|
|
103
|
-
tdmcp-agent schema "nodes create" # print a command's JSON Schema
|
|
104
|
-
tdmcp-agent nodes list --output table
|
|
105
|
-
tdmcp-agent nodes list --output csv
|
|
106
|
-
tdmcp-agent hardware-diagnose --params '{"expected_min_monitors":2,"status_paths":["/project1/kinect_wall_harp/bridge_status"]}'
|
|
107
|
-
tdmcp-agent run ./show-plan.json # run a JSON file of command steps
|
|
108
|
-
cat show-plan.json | tdmcp-agent run - --continue-on-error
|
|
109
|
-
tdmcp-agent config profiles # list saved config profiles
|
|
110
|
-
tdmcp-agent config profile club # show one profile, secrets redacted
|
|
111
|
-
tdmcp-agent completion bash # shell completion snippet
|
|
112
|
-
tdmcp-agent repl # interactive mode with persistent history + Tab completion
|
|
113
|
-
tdmcp-agent doctor --fix # apply safe repairs, then report remaining guidance
|
|
114
|
-
tdmcp-agent watch-build # watch src/ + td/, rebuild, py_compile + reload td/*.py edits
|
|
115
|
-
tdmcp-agent watch-build --no-reload-bridge # build-only watcher
|
|
116
|
-
tdmcp-agent watch --pretty --heartbeat-ms 5000
|
|
117
|
-
tdmcp-agent watch --on beat --exec './cue-next.sh' --debounce-ms 250
|
|
118
|
-
tdmcp-agent show-director --params '{"intent":{"type":"request_cue","cue":"band_intro","preapproved":true}}'
|
|
119
|
-
tdmcp-agent ai-party-poc
|
|
120
|
-
tdmcp-agent ai-party-poc --params '{"auto_approve_effects":true,"operator":"front-of-house"}'
|
|
121
|
-
tdmcp-agent ai-party --params '{"message":{"text":"/fog 3s light","chat_role":"operator","user_role":"foh"}}'
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Output format is `--output json` (default) / `ndjson` / `text` / `table` /
|
|
125
|
-
`csv`. Mutating commands are tagged `mutates`; the Python escape hatches require
|
|
126
|
-
`--allow-unsafe` and honour `TDMCP_RAW_PYTHON=off`. `tdmcp-agent doctor --fix`
|
|
127
|
-
currently applies safe local repairs, such as creating a missing configured
|
|
128
|
-
`TDMCP_VAULT_PATH` folder, and prints suggestions for the remaining manual
|
|
129
|
-
items. Argument JSON can come from
|
|
130
|
-
`--params '<json>'`, `--params-file file.json`, `--params -` (stdin), or
|
|
131
|
-
`--json '<json>'`. Connection overrides are available per call with `--td-host`,
|
|
132
|
-
`--td-port`, and `--timeout`; script-friendly flags include `--version`,
|
|
133
|
-
`--quiet`, and `--no-color`.
|
|
134
|
-
Run files also accept stdin via `run -`; add `--continue-on-error` to execute the
|
|
135
|
-
whole file and return the first non-zero step code after recording every result.
|
|
136
|
-
Global `--no-color` is forwarded into run-file steps, and an individual step can
|
|
137
|
-
set `"no_color": true` when a generated plan needs script-compatible output.
|
|
138
|
-
For agent clients, `tdmcp://commands` exposes the same command catalog as an MCP
|
|
139
|
-
resource.
|
|
140
|
-
|
|
141
|
-
`tdmcp-agent show-director` is a dry-run only AI Show Director policy surface. It
|
|
142
|
-
validates a `ShowIntent`, returns `allow`, `require_approval` or `block`, and
|
|
143
|
-
emits updated approval/audit state as JSON. It never connects to TouchDesigner or
|
|
144
|
-
hardware; use it to gate future voice/OpenClaw/dashboard integrations before any
|
|
145
|
-
cue or effect is mapped to real execution.
|
|
146
|
-
|
|
147
|
-
`tdmcp-agent ai-party-poc` runs the producer rehearsal package for the
|
|
148
|
-
[AI-Controlled Party](/guide/ai-controlled-party) concept. With no params it uses
|
|
149
|
-
the built-in seven-moment demo; with custom `events` it accepts operator text,
|
|
150
|
-
voice transcripts, audio-section markers, dashboard approval actions or scripted
|
|
151
|
-
`ShowIntent`s. The output is a dry-run JSON envelope with policy decisions,
|
|
152
|
-
approval queue state, an audit log summary and simulated effect events. It does
|
|
153
|
-
not build a TouchDesigner context and never emits a live hardware plan.
|
|
154
|
-
|
|
155
|
-
`tdmcp-agent ai-party` is the Hermes/Telegram POC wrapper around that policy
|
|
156
|
-
surface. It accepts a Telegram-style message, validates an optional raw Hermes
|
|
157
|
-
candidate or uses a deterministic fallback parser, then returns the dry-run
|
|
158
|
-
decision, plan, approval state and Telegram reply text. `tdmcp-agent ai-party
|
|
159
|
-
telegram-once` runs one Telegram Bot API long-poll batch and sends replies with
|
|
160
|
-
`sendMessage`; it is still policy-only and does not create a TouchDesigner
|
|
161
|
-
context.
|
|
162
|
-
|
|
163
|
-
The ShowIntent local-model improvement harness lives under
|
|
164
|
-
`training/showintent/`. It evaluates an Ollama model against locked
|
|
165
|
-
operator/Telegram cases before any optional fine-tuning:
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
tdmcp-agent ai-party llm-setup
|
|
169
|
-
tdmcp-agent ai-party --llm --params '{"message":{"text":"deixa mais premium","chat_role":"operator","user_role":"foh"}}'
|
|
170
|
-
OLLAMA_MODEL=qwen2.5:3b npm run ai-party:llm-baseline
|
|
171
|
-
npm run ai-party:llm-generate-data
|
|
172
|
-
npm run ai-party:llm-import-curated
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
The harness trains the model only to emit valid `ShowIntent` JSON. It does not
|
|
176
|
-
replace `ShowIntentSchema`, `EffectPolicySchema` or `showDirectorRuntime`, and it
|
|
177
|
-
does not teach raw DMX, raw Python or direct hardware control.
|
|
178
|
-
|
|
179
|
-
`tdmcp-agent ai-party --llm` calls local Ollama through `/api/chat`, validates
|
|
180
|
-
the returned ShowIntent JSON, then sends it through the same dry-run policy
|
|
181
|
-
gateway. If the model returns malformed output, the request is blocked. The
|
|
182
|
-
general `tdmcp chat` copilot still uses the normal chat model; the AI Party model
|
|
183
|
-
is ShowIntent-only and should not become the default copilot model.
|
|
184
|
-
|
|
185
|
-
## Local copilot (`tdmcp chat`)
|
|
186
|
-
|
|
187
|
-
> For an artist-friendly walkthrough, see [Local copilot (no API)](/guide/local-copilot).
|
|
188
|
-
> This section is the reference detail.
|
|
189
|
-
|
|
190
|
-
For **simple tasks** you can talk to a **local LLM** instead of a paid API.
|
|
191
|
-
`tdmcp chat` boots a small chat UI in your browser, wired to the same
|
|
192
|
-
TouchDesigner bridge — and **starts Ollama for you** if it isn't already running:
|
|
193
|
-
|
|
194
|
-
```bash
|
|
195
|
-
# one-time: install Ollama from https://ollama.com
|
|
196
|
-
ollama pull qwen2.5:3b # optional — the UI also has a one-click pull
|
|
197
|
-
tdmcp chat # starts Ollama if needed, opens http://127.0.0.1:4141
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
If the endpoint is local Ollama and the daemon isn't up, `tdmcp chat` launches
|
|
201
|
-
`ollama serve` for you — detached and left running, so quitting the chat never
|
|
202
|
-
takes the model offline. Flags: **`--read-only`** (force the safe tool tier),
|
|
203
|
-
**`--creative`** (use the creative tier and a warmer sampling preset),
|
|
204
|
-
**`--prompt <text>`** (headless one-shot answer, no browser/server),
|
|
205
|
-
**`--no-ollama`** (don't auto-start — for a remote endpoint or a self-managed
|
|
206
|
-
daemon), **`--no-open`** (don't open the browser), **`--profile <name>`** /
|
|
207
|
-
**`--config <path>`** (select saved config), and **`--help`**.
|
|
208
|
-
|
|
209
|
-
It is meant for the easy stuff — inspecting the project, reading errors, and
|
|
210
|
-
creating/wiring/parameterizing individual operators — and is given a **curated,
|
|
211
|
-
safe subset** of the tools (no Layer-1 system generators, no raw Python). For full
|
|
212
|
-
systems, click **Escalate ⇪** to copy a ready-to-paste prompt and hand off to
|
|
213
|
-
Claude/Codex (they drive the same project, so nothing needs to move). The UI also
|
|
214
|
-
has a **read-only** toggle, live **model switching** + endpoint settings, a
|
|
215
|
-
one-click **model pull**, and persistent history. The copilot sees the registered
|
|
216
|
-
MCP prompt catalog from `tdmcp://prompts`, so it can point users at the right
|
|
217
|
-
Claude/Codex prompt when a request is better handled by a full MCP client.
|
|
218
|
-
|
|
219
|
-
::: tip Which local model?
|
|
220
|
-
Benchmarked on the simple-task workload, **`qwen2.5:3b`** hit 100% tool-calling —
|
|
221
|
-
as reliable as 7B/14B but faster and lighter (the default). Sub-3B models (e.g.
|
|
222
|
-
`qwen2.5:1.5b`) are flaky; `llama3.1:8b` was notably weaker at tool use. Bump to
|
|
223
|
-
`qwen2.5:7b`/`14b` only for more answer-quality headroom. Any OpenAI-compatible
|
|
224
|
-
endpoint works via `TDMCP_LLM_BASE_URL` — local Ollama/LM Studio, or a cloud API.
|
|
225
|
-
Tune the default tool tier, loop budget and sampling with `TDMCP_LLM_TIER`,
|
|
226
|
-
`TDMCP_LLM_MAX_STEPS` and `TDMCP_LLM_TEMPERATURE`.
|
|
227
|
-
:::
|
|
228
|
-
|
|
229
|
-
## Telegram copilot (`tdmcp telegram`) {#telegram-copilot}
|
|
230
|
-
|
|
231
|
-
`tdmcp telegram` runs a local long-polling Telegram Bot API loop and forwards
|
|
232
|
-
allowlisted text messages to the same local Ollama copilot used by `tdmcp chat`.
|
|
233
|
-
It is a transport adapter: Telegram never talks directly to the TouchDesigner
|
|
234
|
-
bridge.
|
|
235
|
-
|
|
236
|
-
Required setup:
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
printf '%s\n' '123456:ABC...' | tdmcp telegram setup --token-stdin --chat-id 123456
|
|
240
|
-
ollama pull qwen2.5:3b
|
|
241
|
-
tdmcp telegram
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
`tdmcp telegram setup` validates the BotFather token with Telegram `getMe`, then
|
|
245
|
-
writes `telegramBotToken`, `telegramAllowedChats` and `telegramDefaultTier` to
|
|
246
|
-
the selected config file. By default it uses `TDMCP_CONFIG_FILE`, an existing
|
|
247
|
-
`tdmcp.json` / `.tdmcprc` in the current directory, or
|
|
248
|
-
`~/.config/tdmcp/config.json`. Use `--config <path>` or `--profile <name>` to
|
|
249
|
-
choose the destination explicitly. If you omit `--chat-id`, setup can wait for
|
|
250
|
-
the next message sent to the bot and save that chat after confirmation.
|
|
251
|
-
|
|
252
|
-
The Telegram surface defaults to `safe` mode, so read-only inspection prompts run
|
|
253
|
-
immediately. `/standard` and `/creative` stage the next prompt and require
|
|
254
|
-
`/approve` before any non-safe tool tier runs. `/cancel` clears pending/running
|
|
255
|
-
work, `/status` shows tier/pending state, and `/panic` intentionally does not
|
|
256
|
-
execute remotely in this MVP; use a trusted local shell for `tdmcp-agent panic`.
|
|
257
|
-
|
|
258
|
-
Runtime flags: `--once` (poll once and exit), `--read-only`, `--creative`,
|
|
259
|
-
`--tier <safe|standard|creative>`, `--poll-timeout <sec>`,
|
|
260
|
-
`--drop-pending-updates`, `--profile <name>`, `--config <path>`, and `--help`.
|
|
261
|
-
|
|
262
|
-
Setup flags: `--token-stdin`, `--chat-id <id>`, `--user-id <id>`,
|
|
263
|
-
`--setup-timeout <sec>`, `--yes`, `--profile <name>`, `--config <path>`, and
|
|
264
|
-
`--help`.
|
|
265
|
-
|
|
266
|
-
## npm scripts
|
|
267
|
-
|
|
268
|
-
| Script | Purpose |
|
|
269
|
-
| --- | --- |
|
|
270
|
-
| `npm run setup` | Guided install + build, then prints how to connect your client. |
|
|
271
|
-
| `npm run dev` | Run the server from source (stdio). |
|
|
272
|
-
| `npm run build` | Typecheck + bundle + copy assets to `dist/`. |
|
|
273
|
-
| `npm test` | Unit + integration tests (Vitest + MSW). |
|
|
274
|
-
| `npm run typecheck` / `npm run lint` | TypeScript / Biome. |
|
|
275
|
-
| `npm run smoke:live` | End-to-end test against a running TD. |
|
|
276
|
-
| `npm run validate:recipes` | Validate every recipe JSON. |
|
|
277
|
-
| `npm run ai-party:dev` | Start the Live Nervous System AI Party dashboard/backend, normally on `http://127.0.0.1:8787/`. |
|
|
278
|
-
| `npm run ai-party:dry` | Run the deterministic AI Party rehearsal smoke without external services. |
|
|
279
|
-
| `npm run ai-party:td-build` | Build the optional `/project1/ai_party_poc` TouchDesigner preview network through the bridge. |
|
|
280
|
-
| `npm run ai-party:test` | Run the focused AI Party live POC, Show Director, gateway and producer-runner tests. |
|
|
281
|
-
| `npm run ai-party:telegram` | Start the local AI Party dashboard/backend with Telegram long polling enabled. |
|
|
282
|
-
| `npm run ai-party:llm-eval` | Run the ShowIntent eval cases against `OLLAMA_BASE_URL` / `OLLAMA_MODEL`. |
|
|
283
|
-
| `npm run ai-party:llm-baseline` | Save a timestamped ShowIntent local-LLM baseline report and failure JSONL. |
|
|
284
|
-
| `npm run ai-party:llm-generate-data` | Generate deterministic ShowIntent training JSONL and train/validation splits. |
|
|
285
|
-
| `npm run ai-party:llm-import-curated` | Convert approved curation CSV rows into validated training JSONL. |
|
|
286
|
-
| `npm run import:bottobot` | (Re)build the embedded knowledge base — only needed to refresh it. |
|
|
287
|
-
| `npm run build:mcpb` | Package a Claude Desktop `.mcpb` extension (formerly `.dxt`; see [Deployment](/deployment)). |
|
|
288
|
-
| `npm run docs:dev` / `docs:build` | Run / build this documentation site (regenerates the [Tools reference](/reference/tools) first). |
|