@hybridlabor-api/aos 4.3.0 → 4.4.1
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 +127 -0
- package/.claude/settings.json +10 -0
- package/README.de.md +0 -2
- package/README.md +0 -2
- package/README.pt.md +0 -2
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/docs/skills_table.md +0 -2
- package/installer.js +62 -10
- package/package.json +16 -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 +231 -0
- package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +287 -0
- package/skills/global_config/ask-tim/SKILL.md +2 -2
- 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,108 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* manage_effect Tool Integration Tests
|
|
4
|
-
* Covers all 58 actions with real optional-parameter coverage.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { runToolTests } from '../../test-runner.mjs';
|
|
8
|
-
|
|
9
|
-
const ts = Date.now();
|
|
10
|
-
const TEST_FOLDER = `/Game/MCPTest/ManageEffect_${ts}`;
|
|
11
|
-
const TEST_ACTOR = `TestActor_${ts}`;
|
|
12
|
-
const EFFECT_ACTOR = `TestEffectActor_${ts}`;
|
|
13
|
-
const SPAWNED_EFFECT_ACTOR = `TestSpawnedEffectActor_${ts}`;
|
|
14
|
-
const SYSTEM_NAME = `Testniagara_system_${ts}`;
|
|
15
|
-
const EMITTER_ASSET_NAME = `Testniagara_emitter_${ts}`;
|
|
16
|
-
const SYSTEM_PATH = `${TEST_FOLDER}/${SYSTEM_NAME}.${SYSTEM_NAME}`;
|
|
17
|
-
const EMITTER_PATH = `${TEST_FOLDER}/${EMITTER_ASSET_NAME}.${EMITTER_ASSET_NAME}`;
|
|
18
|
-
const DEFAULT_EMITTER = '${captured:niagaraEmitterName}';
|
|
19
|
-
const USER_PARAM = `MCPUserParam_${ts}`;
|
|
20
|
-
const BOUND_PARAM = `MCPBoundParam_${ts}`;
|
|
21
|
-
const EVENT_NAME = `MCPEvent_${ts}`;
|
|
22
|
-
const STAGE_NAME = `MCPStage_${ts}`;
|
|
23
|
-
const BASIC_MATERIAL = '/Engine/BasicShapes/BasicShapeMaterial.BasicShapeMaterial';
|
|
24
|
-
const CUBE_MESH = '/Engine/BasicShapes/Cube.Cube';
|
|
25
|
-
|
|
26
|
-
const testCases = [
|
|
27
|
-
// === SETUP ===
|
|
28
|
-
{ scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success|already exists' },
|
|
29
|
-
{ scenario: 'Setup: spawn test actor', toolName: 'control_actor', arguments: { action: 'spawn', classPath: '/Engine/BasicShapes/Cube', actorName: TEST_ACTOR, location: { x: 0, y: 0, z: 100 } }, expected: 'success' },
|
|
30
|
-
|
|
31
|
-
// === CREATE ===
|
|
32
|
-
{ scenario: 'CREATE: create_niagara_system', toolName: 'manage_effect', arguments: { action: 'create_niagara_system', name: SYSTEM_NAME, path: TEST_FOLDER, savePath: TEST_FOLDER }, expected: 'success|already exists' },
|
|
33
|
-
{ scenario: 'CREATE: create_niagara_emitter', toolName: 'manage_effect', arguments: { action: 'create_niagara_emitter', name: EMITTER_ASSET_NAME, path: TEST_FOLDER, savePath: TEST_FOLDER, emitterName: EMITTER_ASSET_NAME }, expected: 'success|already exists' },
|
|
34
|
-
{ scenario: 'ADD: add_emitter_to_system', toolName: 'manage_effect', arguments: { action: 'add_emitter_to_system', systemPath: SYSTEM_PATH, emitterPath: EMITTER_PATH, save: false }, expected: 'success|already exists', captureResult: { key: 'niagaraEmitterName', fromField: 'result.emitterName' } },
|
|
35
|
-
|
|
36
|
-
// === ACTION ===
|
|
37
|
-
{ scenario: 'ACTION: particle with preset and debug options', toolName: 'manage_effect', arguments: { action: 'particle', preset: 'Default', location: { x: 0, y: 0, z: 100 }, shapeType: 'sphere', radius: 30, color: [255, 64, 32, 255], duration: 0.1, timeoutMs: 30000 }, expected: 'success', assertions: [{ path: 'structuredContent.result.shapeType', equals: 'sphere', label: 'particle preset path drew requested debug shape' }] },
|
|
38
|
-
{ scenario: 'ACTION: niagara with actor attachment', toolName: 'manage_effect', arguments: { action: 'niagara', systemPath: SYSTEM_PATH, actorName: EFFECT_ACTOR, attachToActor: TEST_ACTOR, location: { x: 0, y: 0, z: 120 } }, expected: 'success' },
|
|
39
|
-
{ scenario: 'ACTION: debug_shape alias shape', toolName: 'manage_effect', arguments: { action: 'debug_shape', shape: 'box', location: { x: 20, y: 0, z: 100 }, radius: 25, color: [0, 128, 255, 255], duration: 0.1 }, expected: 'success', assertions: [{ path: 'structuredContent.result.shapeType', equals: 'box', label: 'shape alias reached native shapeType' }] },
|
|
40
|
-
{ scenario: 'CREATE: spawn_niagara with system alias', toolName: 'manage_effect', arguments: { action: 'spawn_niagara', system: SYSTEM_PATH, actorName: SPAWNED_EFFECT_ACTOR, location: { x: 40, y: 0, z: 120 } }, expected: 'success' },
|
|
41
|
-
{ scenario: 'CREATE: create_dynamic_light with light properties', toolName: 'manage_effect', arguments: { action: 'create_dynamic_light', name: `Testdynamic_light_${ts}`, location: { x: 80, y: 0, z: 250 }, lightType: 'Point', intensity: 750, color: [1, 0.8, 0.4, 1] }, expected: 'success|already exists' },
|
|
42
|
-
{ scenario: 'CREATE: create_volumetric_fog with fog properties', toolName: 'manage_effect', arguments: { action: 'create_volumetric_fog', name: `Testvolumetric_fog_${ts}`, density: 0.02, scattering: 0.6, extinction: 0.4 }, expected: 'success|already exists' },
|
|
43
|
-
{ scenario: 'CREATE: create_particle_trail', toolName: 'manage_effect', arguments: { action: 'create_particle_trail', name: `Testparticle_trail_${ts}`, systemPath: SYSTEM_PATH, location: { x: 120, y: 0, z: 120 } }, expected: 'success|already exists' },
|
|
44
|
-
{ scenario: 'CREATE: create_environment_effect', toolName: 'manage_effect', arguments: { action: 'create_environment_effect', name: `Testenvironment_effect_${ts}`, systemPath: SYSTEM_PATH, location: { x: 160, y: 0, z: 120 } }, expected: 'success|already exists' },
|
|
45
|
-
{ scenario: 'CREATE: create_impact_effect', toolName: 'manage_effect', arguments: { action: 'create_impact_effect', name: `Testimpact_effect_${ts}`, systemPath: SYSTEM_PATH, location: { x: 200, y: 0, z: 120 } }, expected: 'success|already exists' },
|
|
46
|
-
{ scenario: 'CREATE: create_niagara_ribbon', toolName: 'manage_effect', arguments: { action: 'create_niagara_ribbon', name: `Testniagara_ribbon_${ts}`, systemPath: SYSTEM_PATH, location: { x: 240, y: 0, z: 120 } }, expected: 'success|already exists' },
|
|
47
|
-
|
|
48
|
-
// === PLAYBACK ===
|
|
49
|
-
{ scenario: 'ACTION: activate', toolName: 'manage_effect', arguments: { action: 'activate', actorName: EFFECT_ACTOR, reset: false }, expected: 'success' },
|
|
50
|
-
{ scenario: 'ACTION: activate_effect by systemName', toolName: 'manage_effect', arguments: { action: 'activate_effect', systemName: EFFECT_ACTOR }, expected: 'success' },
|
|
51
|
-
{ scenario: 'ACTION: deactivate', toolName: 'manage_effect', arguments: { action: 'deactivate', actorName: EFFECT_ACTOR }, expected: 'success' },
|
|
52
|
-
{ scenario: 'ACTION: reset', toolName: 'manage_effect', arguments: { action: 'reset', actorName: EFFECT_ACTOR, reset: true }, expected: 'success' },
|
|
53
|
-
{ scenario: 'PLAYBACK: advance_simulation', toolName: 'manage_effect', arguments: { action: 'advance_simulation', actorName: EFFECT_ACTOR, deltaTime: 0.016, steps: 2 }, expected: 'success', assertions: [{ path: 'structuredContent.result.steps', equals: 2, label: 'native simulation step count applied' }] },
|
|
54
|
-
|
|
55
|
-
// === GRAPH ===
|
|
56
|
-
{ scenario: 'ADD: add_niagara_module', toolName: 'manage_effect', arguments: { action: 'add_niagara_module', assetPath: SYSTEM_PATH, systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, modulePath: '/Niagara/Modules/Emitter/EmitterState.EmitterState', scriptType: 'Update', name: 'Testniagara_module' }, expected: 'success|already exists', captureResult: { key: 'niagaraModuleNodeId', fromField: 'result.nodeId' } },
|
|
57
|
-
{ scenario: 'CONNECT: connect_niagara_pins', toolName: 'manage_effect', arguments: { action: 'connect_niagara_pins', assetPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, scriptType: 'Update', autoConnect: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.connected', equals: true, label: 'real Niagara graph pins connected' }, { path: 'structuredContent.result.autoConnected', equals: true, label: 'native auto-connect path executed' }] },
|
|
58
|
-
{ scenario: 'DELETE: remove_niagara_node', toolName: 'manage_effect', arguments: { action: 'remove_niagara_node', assetPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, scriptType: 'Update', nodeId: '${captured:niagaraModuleNodeId}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.removed', equals: true, label: 'captured Niagara graph node removed' }] },
|
|
59
|
-
|
|
60
|
-
// === RUNTIME PARAMETER ===
|
|
61
|
-
{ scenario: 'CONFIG: set_niagara_parameter', toolName: 'manage_effect', arguments: { action: 'set_niagara_parameter', actorName: EFFECT_ACTOR, parameterName: 'MCPParameter', parameterType: 'Float', value: 1.25 }, expected: 'success', assertions: [{ path: 'structuredContent.result.applied', equals: true, label: 'runtime Niagara parameter value applied' }] },
|
|
62
|
-
{ scenario: 'DELETE: clear_debug_shapes', toolName: 'manage_effect', arguments: { action: 'clear_debug_shapes' }, expected: 'success|not found' },
|
|
63
|
-
{ scenario: 'ACTION: cleanup with explicit filter', toolName: 'manage_effect', arguments: { action: 'cleanup', filter: `NoSuchManageEffectActor_${ts}` }, expected: 'success|not found' },
|
|
64
|
-
{ scenario: 'INFO: list_debug_shapes', toolName: 'manage_effect', arguments: { action: 'list_debug_shapes' }, expected: 'success' },
|
|
65
|
-
|
|
66
|
-
// === NIAGARA AUTHORING ===
|
|
67
|
-
{ scenario: 'CONFIG: set_emitter_properties', toolName: 'manage_effect', arguments: { action: 'set_emitter_properties', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, emitterProperties: { enabled: true }, save: false }, expected: 'success' },
|
|
68
|
-
{ scenario: 'ADD: add_spawn_rate_module', toolName: 'manage_effect', arguments: { action: 'add_spawn_rate_module', systemPath: SYSTEM_PATH, emitter: DEFAULT_EMITTER, spawnRate: 123, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.spawnRate', equals: 123, label: 'spawnRate applied to native module' }] },
|
|
69
|
-
{ scenario: 'ADD: add_spawn_burst_module', toolName: 'manage_effect', arguments: { action: 'add_spawn_burst_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, burstCount: 7, burstTime: 0.25, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.burstCount', equals: 7, label: 'burstCount reached native module' }, { path: 'structuredContent.result.burstTime', equals: 0.25, label: 'burstTime reached native module' }] },
|
|
70
|
-
{ scenario: 'ADD: add_spawn_per_unit_module', toolName: 'manage_effect', arguments: { action: 'add_spawn_per_unit_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, spawnPerUnit: 2.5, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.spawnPerUnit', equals: 2.5, label: 'spawnPerUnit reached native module' }] },
|
|
71
|
-
{ scenario: 'ADD: add_initialize_particle_module', toolName: 'manage_effect', arguments: { action: 'add_initialize_particle_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, lifetime: 3, mass: 1.5, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.lifetime', equals: 3, label: 'lifetime reached native module' }, { path: 'structuredContent.result.mass', equals: 1.5, label: 'mass reached native module' }] },
|
|
72
|
-
{ scenario: 'ADD: add_particle_state_module', toolName: 'manage_effect', arguments: { action: 'add_particle_state_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, save: false }, expected: 'success|already exists' },
|
|
73
|
-
{ scenario: 'ADD: add_force_module', toolName: 'manage_effect', arguments: { action: 'add_force_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, forceType: 'Gravity', forceStrength: 456, forceVector: { x: 0, y: 0, z: -456 }, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.forceType', equals: 'Gravity', label: 'forceType reached native module' }, { path: 'structuredContent.result.forceStrength', equals: 456, label: 'forceStrength reached native module' }] },
|
|
74
|
-
{ scenario: 'ADD: add_velocity_module', toolName: 'manage_effect', arguments: { action: 'add_velocity_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, velocity: { x: 1, y: 2, z: 3 }, velocityMode: 'Linear', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.velocityMode', equals: 'Linear', label: 'velocityMode reached native module' }] },
|
|
75
|
-
{ scenario: 'ADD: add_acceleration_module', toolName: 'manage_effect', arguments: { action: 'add_acceleration_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, acceleration: { x: 0, y: 0, z: -980 }, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.parameterAdded', equals: true, label: 'acceleration parameter added to Niagara system' }] },
|
|
76
|
-
{ scenario: 'ADD: add_size_module', toolName: 'manage_effect', arguments: { action: 'add_size_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, sizeMode: 'Uniform', uniformSize: 12, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.parameterAdded', equals: true, label: 'size parameter added to Niagara system' }, { path: 'structuredContent.result.uniformSize', equals: 12, label: 'uniformSize reached native module' }] },
|
|
77
|
-
{ scenario: 'ADD: add_color_module', toolName: 'manage_effect', arguments: { action: 'add_color_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, color: { r: 1, g: 0.5, b: 0.25, a: 1 }, colorMode: 'Direct', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.parameterAdded', equals: true, label: 'color parameter added to Niagara system' }, { path: 'structuredContent.result.colorMode', equals: 'Direct', label: 'colorMode reached native module' }] },
|
|
78
|
-
{ scenario: 'ADD: add_sprite_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_sprite_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, materialPath: BASIC_MATERIAL, alignment: 'Unaligned', facingMode: 'FaceCamera', save: false }, expected: 'success|already exists' },
|
|
79
|
-
{ scenario: 'ADD: add_mesh_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_mesh_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, meshPath: CUBE_MESH, save: false }, expected: 'success|already exists' },
|
|
80
|
-
{ scenario: 'ADD: add_ribbon_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_ribbon_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, materialPath: BASIC_MATERIAL, save: false }, expected: 'success|already exists' },
|
|
81
|
-
{ scenario: 'ADD: add_light_renderer_module', toolName: 'manage_effect', arguments: { action: 'add_light_renderer_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, lightRadius: 200, save: false }, expected: 'success|already exists' },
|
|
82
|
-
{ scenario: 'ADD: add_collision_module', toolName: 'manage_effect', arguments: { action: 'add_collision_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, collisionMode: 'SceneDepth', restitution: 0.4, friction: 0.1, dieOnCollision: true, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.moduleAdded', equals: true, label: 'collision module added to Niagara stack' }, { path: 'structuredContent.result.parameterAdded', equals: true, label: 'collision parameters added to Niagara system' }, { path: 'structuredContent.result.dieOnCollision', equals: true, label: 'dieOnCollision reached native module' }] },
|
|
83
|
-
{ scenario: 'ADD: add_kill_particles_module', toolName: 'manage_effect', arguments: { action: 'add_kill_particles_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, killCondition: 'Age', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.moduleAdded', equals: true, label: 'kill particles module added to Niagara stack' }, { path: 'structuredContent.result.killCondition', equals: 'Age', label: 'killCondition reached native module' }] },
|
|
84
|
-
{ scenario: 'ADD: add_camera_offset_module', toolName: 'manage_effect', arguments: { action: 'add_camera_offset_module', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, cameraOffset: 4, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.moduleAdded', equals: true, label: 'camera offset module added to Niagara stack' }, { path: 'structuredContent.result.parameterAdded', equals: true, label: 'camera offset parameter added to Niagara system' }, { path: 'structuredContent.result.cameraOffset', equals: 4, label: 'cameraOffset reached native module' }] },
|
|
85
|
-
{ scenario: 'ADD: add_user_parameter', toolName: 'manage_effect', arguments: { action: 'add_user_parameter', systemPath: SYSTEM_PATH, parameterName: USER_PARAM, parameterType: 'Float', save: false }, expected: 'success|already exists' },
|
|
86
|
-
{ scenario: 'CONFIG: set_parameter_value', toolName: 'manage_effect', arguments: { action: 'set_parameter_value', systemPath: SYSTEM_PATH, parameterName: USER_PARAM, parameterValue: 2.5, save: false }, expected: 'success' },
|
|
87
|
-
{ scenario: 'CONNECT: bind_parameter_to_source applies real assignment binding', toolName: 'manage_effect', arguments: { action: 'bind_parameter_to_source', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: BOUND_PARAM, parameterType: 'Float', sourceBinding: 'Emitter.Age', save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.bindingApplied', equals: true, label: 'real Niagara parameter binding applied' }, { path: 'structuredContent.result.assignmentModuleAdded', equals: true, label: 'assignment module added to Niagara stack' }, { path: 'structuredContent.result.niagaraDefaultSource', equals: 'Emitter Age', label: 'Emitter.Age normalized to Niagara engine constant' }] },
|
|
88
|
-
{ scenario: 'ADD: add_skeletal_mesh_data_interface', toolName: 'manage_effect', arguments: { action: 'add_skeletal_mesh_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPSkelDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'skeletal mesh data interface added to exposed parameters' }] },
|
|
89
|
-
{ scenario: 'ADD: add_static_mesh_data_interface', toolName: 'manage_effect', arguments: { action: 'add_static_mesh_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPStaticDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'static mesh data interface added to exposed parameters' }] },
|
|
90
|
-
{ scenario: 'ADD: add_spline_data_interface', toolName: 'manage_effect', arguments: { action: 'add_spline_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPSplineDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'spline data interface added to exposed parameters' }] },
|
|
91
|
-
{ scenario: 'ADD: add_audio_spectrum_data_interface', toolName: 'manage_effect', arguments: { action: 'add_audio_spectrum_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPAudioDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'audio spectrum data interface added to exposed parameters' }] },
|
|
92
|
-
{ scenario: 'ADD: add_collision_query_data_interface', toolName: 'manage_effect', arguments: { action: 'add_collision_query_data_interface', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, parameterName: `MCPCollisionDI_${ts}`, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.dataInterfaceAdded', equals: true, label: 'collision query data interface added to exposed parameters' }] },
|
|
93
|
-
{ scenario: 'ADD: add_event_generator', toolName: 'manage_effect', arguments: { action: 'add_event_generator', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, eventName: EVENT_NAME, eventType: 'Location', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.eventGeneratorAdded', equals: true, label: 'event generator mutation recorded' }] },
|
|
94
|
-
{ scenario: 'ADD: add_event_receiver', toolName: 'manage_effect', arguments: { action: 'add_event_receiver', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, eventName: EVENT_NAME, spawnOnEvent: true, eventSpawnCount: 2, save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.eventHandlerAdded', equals: true, label: 'event handler added to Niagara emitter' }, { path: 'structuredContent.result.eventGraphCreated', equals: true, label: 'event handler output graph created' }, { path: 'structuredContent.result.spawnOnEvent', equals: true, label: 'spawnOnEvent reached native event receiver' }] },
|
|
95
|
-
{ scenario: 'CONFIG: configure_event_payload', toolName: 'manage_effect', arguments: { action: 'configure_event_payload', systemPath: SYSTEM_PATH, eventName: EVENT_NAME, eventPayload: [{ name: 'PayloadFloat', type: 'Float' }], save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.eventPayloadConfigured', equals: true, label: 'event payload parameters added' }, { path: 'structuredContent.result.payloadAttributeCount', equals: 1, label: 'eventPayload attributes reached native payload configuration' }] },
|
|
96
|
-
{ scenario: 'TOGGLE: enable_gpu_simulation', toolName: 'manage_effect', arguments: { action: 'enable_gpu_simulation', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, fixedBoundsEnabled: true, deterministicEnabled: true, save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.fixedBoundsEnabled', equals: true, label: 'fixedBoundsEnabled reached native GPU configuration' }, { path: 'structuredContent.result.deterministicEnabled', equals: true, label: 'deterministicEnabled reached native GPU configuration' }] },
|
|
97
|
-
{ scenario: 'ADD: add_simulation_stage', toolName: 'manage_effect', arguments: { action: 'add_simulation_stage', systemPath: SYSTEM_PATH, emitterName: DEFAULT_EMITTER, stageName: STAGE_NAME, stageIterationSource: 'Particles', save: false }, expected: 'success|already exists', assertions: [{ path: 'structuredContent.result.simulationStageAdded', equals: true, label: 'simulation stage added to Niagara emitter' }, { path: 'structuredContent.result.simulationStageGraphCreated', equals: true, label: 'simulation stage output graph created' }, { path: 'structuredContent.result.iterationSource', equals: 'Particles', label: 'stageIterationSource reached native stage configuration' }] },
|
|
98
|
-
{ scenario: 'INFO: get_niagara_info', toolName: 'manage_effect', arguments: { action: 'get_niagara_info', assetPath: SYSTEM_PATH }, expected: 'success' },
|
|
99
|
-
{ scenario: 'ACTION: validate_niagara_system', toolName: 'manage_effect', arguments: { action: 'validate_niagara_system', system: SYSTEM_PATH }, expected: 'success' },
|
|
100
|
-
|
|
101
|
-
// === CLEANUP ===
|
|
102
|
-
{ scenario: 'Cleanup: delete spawned Niagara actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: SPAWNED_EFFECT_ACTOR }, expected: 'success|not found' },
|
|
103
|
-
{ scenario: 'Cleanup: delete primary Niagara actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: EFFECT_ACTOR }, expected: 'success|not found' },
|
|
104
|
-
{ scenario: 'Cleanup: delete test actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: TEST_ACTOR }, expected: 'success|not found' },
|
|
105
|
-
{ scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' },
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
runToolTests('manage-effect', testCases);
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* manage_gas Tool Integration Tests
|
|
4
|
-
* Covers all 27 actions with real captured asset paths.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { runToolTests } from '../../test-runner.mjs';
|
|
8
|
-
|
|
9
|
-
const ts = Date.now();
|
|
10
|
-
const TEST_FOLDER = `/Game/MCPTest/GameplayAssets/ManageGAS_${ts}`;
|
|
11
|
-
const blueprintName = `BP_TestGAS_${ts}`;
|
|
12
|
-
const attributeSetName = `BP_TestAttributes_${ts}`;
|
|
13
|
-
const abilityName = `BP_TestAbility_${ts}`;
|
|
14
|
-
const effectName = `BP_TestEffect_${ts}`;
|
|
15
|
-
const cueName = `BP_TestCue_${ts}`;
|
|
16
|
-
const attributeName = `Health_${ts}`;
|
|
17
|
-
const abilityTag = `Ability.Test.${ts}`;
|
|
18
|
-
const effectTag = `Effect.Test.${ts}`;
|
|
19
|
-
const cueTag = `GameplayCue.Test.${ts}`;
|
|
20
|
-
|
|
21
|
-
const testCases = [
|
|
22
|
-
// === SETUP ===
|
|
23
|
-
{ scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success' },
|
|
24
|
-
{
|
|
25
|
-
scenario: 'Setup: create test blueprint',
|
|
26
|
-
toolName: 'manage_blueprint',
|
|
27
|
-
arguments: { action: 'create', name: blueprintName, path: TEST_FOLDER, parentClass: 'Actor' },
|
|
28
|
-
expected: 'success',
|
|
29
|
-
captureResult: { key: 'blueprintPath', fromField: 'result.assetPath' }
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
// === COMPONENTS / ATTRIBUTES ===
|
|
33
|
-
{ scenario: 'ADD: add_ability_system_component', toolName: 'manage_gas', arguments: { action: 'add_ability_system_component', blueprintPath: '${captured:blueprintPath}', componentName: 'AbilitySystemComponent' }, expected: 'success' },
|
|
34
|
-
{ scenario: 'CONFIG: configure_asc', toolName: 'manage_gas', arguments: { action: 'configure_asc', blueprintPath: '${captured:blueprintPath}', componentName: 'AbilitySystemComponent', replicationMode: 'Mixed' }, expected: 'success' },
|
|
35
|
-
{
|
|
36
|
-
scenario: 'CREATE: create_attribute_set',
|
|
37
|
-
toolName: 'manage_gas',
|
|
38
|
-
arguments: { action: 'create_attribute_set', name: attributeSetName, path: TEST_FOLDER },
|
|
39
|
-
expected: 'success',
|
|
40
|
-
captureResult: { key: 'attributeSetPath', fromField: 'result.assetPath' }
|
|
41
|
-
},
|
|
42
|
-
{ scenario: 'ADD: add_attribute', toolName: 'manage_gas', arguments: { action: 'add_attribute', attributeSetPath: '${captured:attributeSetPath}', attributeName, attributeType: 'Custom', defaultValue: 100 }, expected: 'success' },
|
|
43
|
-
{ scenario: 'CONFIG: set_attribute_base_value', toolName: 'manage_gas', arguments: { action: 'set_attribute_base_value', attributeSetPath: '${captured:attributeSetPath}', attributeName, baseValue: 125 }, expected: 'success' },
|
|
44
|
-
{ scenario: 'CONFIG: set_attribute_clamping', toolName: 'manage_gas', arguments: { action: 'set_attribute_clamping', attributeSetPath: '${captured:attributeSetPath}', attributeName, minValue: 0, maxValue: 200, clampMode: 'MinMax' }, expected: 'success' },
|
|
45
|
-
|
|
46
|
-
// === GAMEPLAY ABILITY ===
|
|
47
|
-
{
|
|
48
|
-
scenario: 'CREATE: create_gameplay_ability',
|
|
49
|
-
toolName: 'manage_gas',
|
|
50
|
-
arguments: { action: 'create_gameplay_ability', name: abilityName, path: TEST_FOLDER },
|
|
51
|
-
expected: 'success',
|
|
52
|
-
captureResult: { key: 'abilityPath', fromField: 'result.assetPath' }
|
|
53
|
-
},
|
|
54
|
-
{ scenario: 'CONFIG: set_ability_tags', toolName: 'manage_gas', arguments: { action: 'set_ability_tags', abilityPath: '${captured:abilityPath}', abilityTags: [abilityTag], cancelAbilitiesWithTag: [`Ability.Cancel.${ts}`], blockAbilitiesWithTag: [`Ability.Block.${ts}`], activationRequiredTags: [`Ability.Required.${ts}`], activationBlockedTags: [`Ability.Blocked.${ts}`] }, expected: 'success' },
|
|
55
|
-
{ scenario: 'CONFIG: set_ability_targeting', toolName: 'manage_gas', arguments: { action: 'set_ability_targeting', abilityPath: '${captured:abilityPath}', targetingMode: 'AOE', targetRange: 1200, aoeRadius: 350 }, expected: 'success' },
|
|
56
|
-
{ scenario: 'ADD: add_ability_task', toolName: 'manage_gas', arguments: { action: 'add_ability_task', abilityPath: '${captured:abilityPath}', taskType: 'WaitDelay' }, expected: 'success' },
|
|
57
|
-
{ scenario: 'CONFIG: set_activation_policy', toolName: 'manage_gas', arguments: { action: 'set_activation_policy', abilityPath: '${captured:abilityPath}', activationPolicy: 'OnInputPressed' }, expected: 'success' },
|
|
58
|
-
{ scenario: 'CONFIG: set_instancing_policy', toolName: 'manage_gas', arguments: { action: 'set_instancing_policy', abilityPath: '${captured:abilityPath}', instancingPolicy: 'InstancedPerExecution' }, expected: 'success' },
|
|
59
|
-
|
|
60
|
-
// === GAMEPLAY EFFECT ===
|
|
61
|
-
{
|
|
62
|
-
scenario: 'CREATE: create_gameplay_effect',
|
|
63
|
-
toolName: 'manage_gas',
|
|
64
|
-
arguments: { action: 'create_gameplay_effect', name: effectName, path: TEST_FOLDER, durationType: 'Instant' },
|
|
65
|
-
expected: 'success',
|
|
66
|
-
captureResult: { key: 'effectPath', fromField: 'result.assetPath' },
|
|
67
|
-
assertions: [{ path: 'structuredContent.result.durationType', equals: 'instant', label: 'effect duration type preserved at creation' }]
|
|
68
|
-
},
|
|
69
|
-
{ scenario: 'CONFIG: set_ability_costs', toolName: 'manage_gas', arguments: { action: 'set_ability_costs', abilityPath: '${captured:abilityPath}', costEffectPath: '${captured:effectPath}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.costEffectAssigned', equals: true, label: 'cost effect class assigned' }] },
|
|
70
|
-
{ scenario: 'CONFIG: set_ability_cooldown', toolName: 'manage_gas', arguments: { action: 'set_ability_cooldown', abilityPath: '${captured:abilityPath}', cooldownEffectPath: '${captured:effectPath}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.cooldownEffectAssigned', equals: true, label: 'cooldown effect class assigned' }] },
|
|
71
|
-
{ scenario: 'CONFIG: set_effect_duration', toolName: 'manage_gas', arguments: { action: 'set_effect_duration', effectPath: '${captured:effectPath}', durationType: 'HasDuration', duration: 5, period: 1 }, expected: 'success' },
|
|
72
|
-
{ scenario: 'ADD: add_effect_modifier', toolName: 'manage_gas', arguments: { action: 'add_effect_modifier', effectPath: '${captured:effectPath}', attributeName, modifierOperation: 'Add', modifierMagnitude: 25, targetAttribute: attributeName }, expected: 'success' },
|
|
73
|
-
{ scenario: 'CONFIG: set_modifier_magnitude', toolName: 'manage_gas', arguments: { action: 'set_modifier_magnitude', effectPath: '${captured:effectPath}', modifierIndex: 0, magnitudeCalculationType: 'SetByCaller', modifierMagnitude: 50, setByCallerTag: `Data.Damage.${ts}` }, expected: 'success' },
|
|
74
|
-
{ scenario: 'ADD: add_effect_execution_calculation', toolName: 'manage_gas', arguments: { action: 'add_effect_execution_calculation', effectPath: '${captured:effectPath}', calculationClass: '/Script/GameplayAbilities.GameplayEffectExecutionCalculation' }, expected: 'success' },
|
|
75
|
-
{ scenario: 'ADD: add_effect_cue', toolName: 'manage_gas', arguments: { action: 'add_effect_cue', effectPath: '${captured:effectPath}', cueTag }, expected: 'success' },
|
|
76
|
-
{ scenario: 'CONFIG: set_effect_stacking', toolName: 'manage_gas', arguments: { action: 'set_effect_stacking', effectPath: '${captured:effectPath}', stackingType: 'AggregateByTarget', stackLimitCount: 3, stackDurationRefreshPolicy: 'RefreshOnSuccessfulApplication', stackPeriodResetPolicy: 'ResetOnSuccessfulApplication', stackExpirationPolicy: 'RemoveSingleStackAndRefreshDuration' }, expected: 'success' },
|
|
77
|
-
{ scenario: 'CONFIG: set_effect_tags', toolName: 'manage_gas', arguments: { action: 'set_effect_tags', effectPath: '${captured:effectPath}', grantedTags: [effectTag], applicationRequiredTags: [`Effect.Required.${ts}`], removalTags: [`Effect.Remove.${ts}`], immunityTags: [`Effect.Immune.${ts}`] }, expected: 'success' },
|
|
78
|
-
|
|
79
|
-
// === GAMEPLAY CUES / UTILITY ===
|
|
80
|
-
{
|
|
81
|
-
scenario: 'CREATE: create_gameplay_cue_notify',
|
|
82
|
-
toolName: 'manage_gas',
|
|
83
|
-
arguments: { action: 'create_gameplay_cue_notify', name: cueName, path: TEST_FOLDER, cueType: 'Static', cueTag },
|
|
84
|
-
expected: 'success',
|
|
85
|
-
captureResult: { key: 'cuePath', fromField: 'result.assetPath' }
|
|
86
|
-
},
|
|
87
|
-
{ scenario: 'CONFIG: configure_cue_trigger', toolName: 'manage_gas', arguments: { action: 'configure_cue_trigger', cuePath: '${captured:cuePath}', triggerType: 'Executed' }, expected: 'success' },
|
|
88
|
-
{ scenario: 'CONFIG: set_cue_effects', toolName: 'manage_gas', arguments: { action: 'set_cue_effects', cuePath: '${captured:cuePath}', particleSystemPath: '/Engine/EngineResources/DefaultTexture', soundPath: '/Engine/EngineSounds/Notifications/CompileSuccess_Cue', cameraShakePath: '/Script/Engine.CameraShakeBase', decalPath: '/Engine/EngineMaterials/DefaultMaterial.DefaultMaterial' }, expected: 'success', assertions: [{ path: 'structuredContent.result.decalPath', equals: '/Engine/EngineMaterials/DefaultMaterial.DefaultMaterial', label: 'decal path applied' }, { path: 'structuredContent.result.variableCount', equals: 12, label: 'decal variables added' }] },
|
|
89
|
-
{ scenario: 'ADD: add_tag_to_asset', toolName: 'manage_gas', arguments: { action: 'add_tag_to_asset', assetPath: '${captured:abilityPath}', tagName: abilityTag }, expected: 'success' },
|
|
90
|
-
{ scenario: 'INFO: get_gas_info', toolName: 'manage_gas', arguments: { action: 'get_gas_info', assetPath: '${captured:abilityPath}' }, expected: 'success' },
|
|
91
|
-
|
|
92
|
-
// === CLEANUP ===
|
|
93
|
-
{ scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' }
|
|
94
|
-
];
|
|
95
|
-
|
|
96
|
-
runToolTests('manage-gas', testCases);
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* manage_interaction Tool Integration Tests
|
|
4
|
-
* Covers all 22 actions with real Blueprint paths and spawned actor state.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { runToolTests } from '../../test-runner.mjs';
|
|
8
|
-
|
|
9
|
-
const ts = Date.now();
|
|
10
|
-
const TEST_FOLDER = `/Game/MCPTest/GameplayInteraction_${ts}`;
|
|
11
|
-
const TEST_FOLDER_ALIAS = TEST_FOLDER.slice(1);
|
|
12
|
-
const TEST_ACTOR = `TestInteractionActor_${ts}`;
|
|
13
|
-
const BLUEPRINT_NAME = `BP_MCP_InteractionActor_${ts}`;
|
|
14
|
-
const INTERFACE_NAME = `BPI_MCP_Interactable_${ts}`;
|
|
15
|
-
const DOOR_NAME = `BP_MCP_Door_${ts}`;
|
|
16
|
-
const SWITCH_NAME = `BP_MCP_Switch_${ts}`;
|
|
17
|
-
const CHEST_NAME = `BP_MCP_Chest_${ts}`;
|
|
18
|
-
const LEVER_NAME = `BP_MCP_Lever_${ts}`;
|
|
19
|
-
const TRIGGER_NAME = `BP_MCP_Trigger_${ts}`;
|
|
20
|
-
|
|
21
|
-
const EXPECTED_BLUEPRINT_PATH = `${TEST_FOLDER}/${BLUEPRINT_NAME}`;
|
|
22
|
-
const EXPECTED_INTERFACE_PATH = `${TEST_FOLDER}/${INTERFACE_NAME}.${INTERFACE_NAME}`;
|
|
23
|
-
const EXPECTED_DOOR_PATH = `${TEST_FOLDER}/${DOOR_NAME}`;
|
|
24
|
-
const EXPECTED_SWITCH_PATH = `${TEST_FOLDER}/${SWITCH_NAME}.${SWITCH_NAME}`;
|
|
25
|
-
const EXPECTED_CHEST_PATH = `${TEST_FOLDER}/${CHEST_NAME}.${CHEST_NAME}`;
|
|
26
|
-
const EXPECTED_LEVER_PATH = `${TEST_FOLDER}/${LEVER_NAME}.${LEVER_NAME}`;
|
|
27
|
-
const EXPECTED_TRIGGER_PATH = `${TEST_FOLDER}/${TRIGGER_NAME}.${TRIGGER_NAME}`;
|
|
28
|
-
const TEST_WIDGET_CLASS = '/Script/UMG.UserWidget';
|
|
29
|
-
const TEST_LOOT_TABLE_PATH = `${TEST_FOLDER}/LT_MCP_Test`;
|
|
30
|
-
|
|
31
|
-
const blueprintPath = '${captured:blueprintPath}';
|
|
32
|
-
const doorPath = '${captured:doorPath}';
|
|
33
|
-
const switchPath = '${captured:switchPath}';
|
|
34
|
-
const chestPath = '${captured:chestPath}';
|
|
35
|
-
const triggerPath = '${captured:triggerPath}';
|
|
36
|
-
|
|
37
|
-
const testCases = [
|
|
38
|
-
// === SETUP ===
|
|
39
|
-
{ scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success|already exists' },
|
|
40
|
-
{ scenario: 'Setup: spawn destructible target actor', toolName: 'control_actor', arguments: { action: 'spawn', classPath: '/Engine/BasicShapes/Cube', actorName: TEST_ACTOR, location: { x: 0, y: 0, z: 100 } }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destructible target actor spawned' }] },
|
|
41
|
-
{
|
|
42
|
-
scenario: 'Setup: create interaction actor blueprint',
|
|
43
|
-
toolName: 'manage_blueprint',
|
|
44
|
-
arguments: { action: 'create', name: BLUEPRINT_NAME, path: TEST_FOLDER, parentClass: 'Actor' },
|
|
45
|
-
expected: 'success',
|
|
46
|
-
captureResult: { key: 'blueprintPath', fromField: 'result.assetPath' },
|
|
47
|
-
assertions: [{ path: 'structuredContent.result.assetPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction target blueprint path returned' }]
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
// === INTERACTION COMPONENT ===
|
|
51
|
-
{ scenario: 'CREATE: create_interaction_component', toolName: 'manage_interaction', arguments: { action: 'create_interaction_component', blueprintPath, componentName: 'InteractionComponent', traceDistance: 250 }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentAdded', equals: true, label: 'interaction component added' }, { path: 'structuredContent.result.componentName', equals: 'InteractionComponent', label: 'interaction component name returned' }, { path: 'structuredContent.result.assetPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction component target verified' }] },
|
|
52
|
-
{ scenario: 'CONFIG: configure_interaction_trace', toolName: 'manage_interaction', arguments: { action: 'configure_interaction_trace', blueprintPath, traceType: 'sphere', traceDistance: 375, traceRadius: 80 }, expected: 'success', assertions: [{ path: 'structuredContent.result.traceType', equals: 'sphere', label: 'interaction trace type configured' }, { path: 'structuredContent.result.traceDistance', equals: 375, label: 'interaction trace distance configured' }, { path: 'structuredContent.result.traceRadius', equals: 80, label: 'interaction trace radius configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'interaction trace configured flag returned' }] },
|
|
53
|
-
{ scenario: 'CONFIG: configure_interaction_widget', toolName: 'manage_interaction', arguments: { action: 'configure_interaction_widget', blueprintPath, widgetClass: TEST_WIDGET_CLASS, showOnHover: true, showPromptText: false, promptTextFormat: 'Use {Key}' }, expected: 'success', assertions: [{ path: 'structuredContent.result.widgetClass', equals: TEST_WIDGET_CLASS, label: 'interaction widget class returned' }, { path: 'structuredContent.result.showOnHover', equals: true, label: 'interaction widget hover enabled' }, { path: 'structuredContent.result.showPromptText', equals: false, label: 'interaction widget prompt flag configured' }, { path: 'structuredContent.result.promptTextFormat', equals: 'Use {Key}', label: 'interaction widget prompt format configured' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction widget target returned' }] },
|
|
54
|
-
{ scenario: 'ADD: add_interaction_events', toolName: 'manage_interaction', arguments: { action: 'add_interaction_events', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.eventsAdded', length: 4, label: 'interaction event dispatchers added' }, { path: 'structuredContent.result.eventCount', equals: 4, label: 'interaction event count returned' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction events target returned' }] },
|
|
55
|
-
|
|
56
|
-
// === INTERACTABLES ===
|
|
57
|
-
{ scenario: 'CREATE: create_interactable_interface', toolName: 'manage_interaction', arguments: { action: 'create_interactable_interface', name: INTERFACE_NAME, folder: TEST_FOLDER_ALIAS }, expected: 'success', assertions: [{ path: 'structuredContent.result.interfacePath', equals: EXPECTED_INTERFACE_PATH, label: 'interactable interface path returned' }, { path: 'structuredContent.result.created', equals: true, label: 'interactable interface created' }, { path: 'structuredContent.result.functionsAdded', length: 3, label: 'interactable interface functions added' }] },
|
|
58
|
-
{
|
|
59
|
-
scenario: 'CREATE: create_door_actor',
|
|
60
|
-
toolName: 'manage_interaction',
|
|
61
|
-
arguments: { action: 'create_door_actor', name: DOOR_NAME, folder: TEST_FOLDER, openAngle: 110, openTime: 0.75, autoClose: true, autoCloseDelay: 2.5, requiresKey: true },
|
|
62
|
-
expected: 'success',
|
|
63
|
-
captureResult: { key: 'doorPath', fromField: 'result.assetPath' },
|
|
64
|
-
assertions: [{ path: 'structuredContent.result.openAngle', equals: 110, label: 'door open angle set at creation' }, { path: 'structuredContent.result.openTime', equals: 0.75, label: 'door open time set at creation' }, { path: 'structuredContent.result.autoClose', equals: true, label: 'door auto-close set at creation' }, { path: 'structuredContent.result.requiresKey', equals: true, label: 'door key requirement set at creation' }, { path: 'structuredContent.result.assetPath', equals: EXPECTED_DOOR_PATH, label: 'door asset path returned' }]
|
|
65
|
-
},
|
|
66
|
-
{ scenario: 'CONFIG: configure_door_properties', toolName: 'manage_interaction', arguments: { action: 'configure_door_properties', doorPath, openAngle: 95, openTime: 1.25, locked: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.doorPath', equals: EXPECTED_DOOR_PATH, label: 'door config target returned' }, { path: 'structuredContent.result.openAngle', equals: 95, label: 'door config open angle applied' }, { path: 'structuredContent.result.openTime', equals: 1.25, label: 'door config open time applied' }, { path: 'structuredContent.result.locked', equals: true, label: 'door locked flag applied' }] },
|
|
67
|
-
{
|
|
68
|
-
scenario: 'CREATE: create_switch_actor',
|
|
69
|
-
toolName: 'manage_interaction',
|
|
70
|
-
arguments: { action: 'create_switch_actor', name: SWITCH_NAME, folder: TEST_FOLDER, switchType: 'lever' },
|
|
71
|
-
expected: 'success',
|
|
72
|
-
captureResult: { key: 'switchPath', fromField: 'result.switchPath' },
|
|
73
|
-
assertions: [{ path: 'structuredContent.result.switchPath', equals: EXPECTED_SWITCH_PATH, label: 'switch path returned' }, { path: 'structuredContent.result.switchType', equals: 'lever', label: 'switch type set at creation' }]
|
|
74
|
-
},
|
|
75
|
-
{ scenario: 'CONFIG: configure_switch_properties', toolName: 'manage_interaction', arguments: { action: 'configure_switch_properties', switchPath, switchType: 'pressure_plate', canToggle: false, resetTime: 3.5 }, expected: 'success', assertions: [{ path: 'structuredContent.result.switchPath', equals: EXPECTED_SWITCH_PATH, label: 'switch config target returned' }, { path: 'structuredContent.result.switchType', equals: 'pressure_plate', label: 'switch config type applied' }, { path: 'structuredContent.result.canToggle', equals: false, label: 'switch toggle flag applied' }, { path: 'structuredContent.result.resetTime', equals: 3.5, label: 'switch reset time applied' }] },
|
|
76
|
-
{
|
|
77
|
-
scenario: 'CREATE: create_chest_actor',
|
|
78
|
-
toolName: 'manage_interaction',
|
|
79
|
-
arguments: { action: 'create_chest_actor', name: CHEST_NAME, folder: TEST_FOLDER, locked: true },
|
|
80
|
-
expected: 'success',
|
|
81
|
-
captureResult: { key: 'chestPath', fromField: 'result.chestPath' },
|
|
82
|
-
assertions: [{ path: 'structuredContent.result.chestPath', equals: EXPECTED_CHEST_PATH, label: 'chest path returned' }, { path: 'structuredContent.result.locked', equals: true, label: 'chest locked at creation' }]
|
|
83
|
-
},
|
|
84
|
-
{ scenario: 'CONFIG: configure_chest_properties', toolName: 'manage_interaction', arguments: { action: 'configure_chest_properties', chestPath, locked: false, openAngle: 75, openTime: 0.6, lootTablePath: TEST_LOOT_TABLE_PATH }, expected: 'success', assertions: [{ path: 'structuredContent.result.chestPath', equals: EXPECTED_CHEST_PATH, label: 'chest config target returned' }, { path: 'structuredContent.result.locked', equals: false, label: 'chest locked flag configured' }, { path: 'structuredContent.result.openAngle', equals: 75, label: 'chest open angle configured' }, { path: 'structuredContent.result.openTime', equals: 0.6, label: 'chest open time configured' }, { path: 'structuredContent.result.lootTablePath', equals: TEST_LOOT_TABLE_PATH, label: 'chest loot table path returned' }] },
|
|
85
|
-
{
|
|
86
|
-
scenario: 'CREATE: create_lever_actor',
|
|
87
|
-
toolName: 'manage_interaction',
|
|
88
|
-
arguments: { action: 'create_lever_actor', name: LEVER_NAME, folder: TEST_FOLDER },
|
|
89
|
-
expected: 'success',
|
|
90
|
-
captureResult: { key: 'leverPath', fromField: 'result.leverPath' },
|
|
91
|
-
assertions: [{ path: 'structuredContent.result.leverPath', equals: EXPECTED_LEVER_PATH, label: 'lever path returned' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_LEVER_PATH, label: 'lever blueprint path returned' }]
|
|
92
|
-
},
|
|
93
|
-
|
|
94
|
-
// === DESTRUCTIBLES ===
|
|
95
|
-
{ scenario: 'ACTION: setup_destructible_mesh', toolName: 'manage_interaction', arguments: { action: 'setup_destructible_mesh', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destructible mesh actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destructible mesh configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructibleMeshConfigured', label: 'destructible mesh actor tag added' }] },
|
|
96
|
-
{ scenario: 'CONFIG: configure_destruction_levels', toolName: 'manage_interaction', arguments: { action: 'configure_destruction_levels', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destruction levels actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destruction levels configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructionLevelsConfigured', label: 'destruction levels actor tag added' }] },
|
|
97
|
-
{ scenario: 'CONFIG: configure_destruction_effects', toolName: 'manage_interaction', arguments: { action: 'configure_destruction_effects', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destruction effects actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destruction effects configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructionEffectsConfigured', label: 'destruction effects actor tag added' }] },
|
|
98
|
-
{ scenario: 'CONFIG: configure_destruction_damage', toolName: 'manage_interaction', arguments: { action: 'configure_destruction_damage', actorName: TEST_ACTOR }, expected: 'success', assertions: [{ path: 'structuredContent.result.actorName', equals: TEST_ACTOR, label: 'destruction damage actor target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'destruction damage configured flag returned' }, { path: 'structuredContent.result.tagAdded', equals: 'MCP_DestructionDamageConfigured', label: 'destruction damage actor tag added' }] },
|
|
99
|
-
{ scenario: 'ADD: add_destruction_component', toolName: 'manage_interaction', arguments: { action: 'add_destruction_component', blueprintPath, componentName: 'DestructionComponent' }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentAdded', equals: true, label: 'destruction component added' }, { path: 'structuredContent.result.componentName', equals: 'DestructionComponent', label: 'destruction component name returned' }, { path: 'structuredContent.result.variablesAdded', length: 4, label: 'destruction variables added' }] },
|
|
100
|
-
|
|
101
|
-
// === TRIGGERS ===
|
|
102
|
-
{
|
|
103
|
-
scenario: 'CREATE: create_trigger_actor',
|
|
104
|
-
toolName: 'manage_interaction',
|
|
105
|
-
arguments: { action: 'create_trigger_actor', name: TRIGGER_NAME, folder: TEST_FOLDER, triggerShape: 'sphere' },
|
|
106
|
-
expected: 'success',
|
|
107
|
-
captureResult: { key: 'triggerPath', fromField: 'result.triggerPath' },
|
|
108
|
-
assertions: [{ path: 'structuredContent.result.triggerPath', equals: EXPECTED_TRIGGER_PATH, label: 'trigger path returned' }, { path: 'structuredContent.result.triggerShape', equals: 'sphere', label: 'trigger shape set at creation' }]
|
|
109
|
-
},
|
|
110
|
-
{ scenario: 'CONFIG: configure_trigger_events', toolName: 'manage_interaction', arguments: { action: 'configure_trigger_events', triggerPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.configured', equals: true, label: 'trigger events configured flag returned' }, { path: 'structuredContent.result.eventCount', equals: 3, label: 'trigger event dispatchers added' }, { path: 'structuredContent.result.eventsAdded', length: 3, label: 'trigger event names returned' }] },
|
|
111
|
-
{ scenario: 'CONFIG: configure_trigger_filter', toolName: 'manage_interaction', arguments: { action: 'configure_trigger_filter', triggerPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.triggerPath', equals: EXPECTED_TRIGGER_PATH, label: 'trigger filter target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'trigger filter configured flag returned' }, { path: 'structuredContent.result.variablesAdded', length: 2, label: 'trigger filter variables added' }] },
|
|
112
|
-
{ scenario: 'CONFIG: configure_trigger_response', toolName: 'manage_interaction', arguments: { action: 'configure_trigger_response', triggerPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.triggerPath', equals: EXPECTED_TRIGGER_PATH, label: 'trigger response target returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'trigger response configured flag returned' }, { path: 'structuredContent.result.variablesAdded', length: 2, label: 'trigger response variables added' }] },
|
|
113
|
-
|
|
114
|
-
// === INFO ===
|
|
115
|
-
{ scenario: 'INFO: get_interaction_info blueprint', toolName: 'manage_interaction', arguments: { action: 'get_interaction_info', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Blueprint', label: 'interaction info reports blueprint asset type' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'interaction info returns blueprint path' }, { path: 'structuredContent.result.blueprintName', equals: BLUEPRINT_NAME, label: 'interaction info returns blueprint name' }] },
|
|
116
|
-
|
|
117
|
-
// === CLEANUP ===
|
|
118
|
-
{ scenario: 'Cleanup: delete test actor', toolName: 'control_actor', arguments: { action: 'delete', actorName: TEST_ACTOR }, expected: 'success|not found' },
|
|
119
|
-
{ scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' },
|
|
120
|
-
];
|
|
121
|
-
|
|
122
|
-
runToolTests('manage-interaction', testCases);
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* manage_inventory Tool Integration Tests
|
|
4
|
-
* Covers all 33 actions with real asset paths captured from setup and creation.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { runToolTests } from '../../test-runner.mjs';
|
|
8
|
-
|
|
9
|
-
const ts = Date.now();
|
|
10
|
-
const TEST_FOLDER = `/Game/MCPTest/GameplayInventory_${ts}`;
|
|
11
|
-
const TEST_FOLDER_ALIAS = TEST_FOLDER.slice(1);
|
|
12
|
-
const BLUEPRINT_NAME = `BP_MCP_InventoryActor_${ts}`;
|
|
13
|
-
const ITEM_NAME = `DA_MCP_Item_${ts}`;
|
|
14
|
-
const CATEGORY_NAME = `DA_MCP_Category_${ts}`;
|
|
15
|
-
const PICKUP_NAME = `BP_MCP_Pickup_${ts}`;
|
|
16
|
-
const LOOT_TABLE_NAME = `DA_MCP_LootTable_${ts}`;
|
|
17
|
-
const RECIPE_NAME = `DA_MCP_Recipe_${ts}`;
|
|
18
|
-
const STATION_NAME = `BP_MCP_CraftingStation_${ts}`;
|
|
19
|
-
|
|
20
|
-
const EXPECTED_BLUEPRINT_PATH = `${TEST_FOLDER}/${BLUEPRINT_NAME}`;
|
|
21
|
-
const EXPECTED_ITEM_PATH = `${TEST_FOLDER}/${ITEM_NAME}`;
|
|
22
|
-
const EXPECTED_CATEGORY_PATH = `${TEST_FOLDER}/${CATEGORY_NAME}`;
|
|
23
|
-
const EXPECTED_PICKUP_PATH = `${TEST_FOLDER}/${PICKUP_NAME}`;
|
|
24
|
-
const EXPECTED_LOOT_TABLE_PATH = `${TEST_FOLDER}/${LOOT_TABLE_NAME}`;
|
|
25
|
-
const EXPECTED_RECIPE_PATH = `${TEST_FOLDER}/${RECIPE_NAME}`;
|
|
26
|
-
|
|
27
|
-
const blueprintPath = '${captured:blueprintPath}';
|
|
28
|
-
const itemPath = '${captured:itemPath}';
|
|
29
|
-
const categoryPath = '${captured:categoryPath}';
|
|
30
|
-
const pickupPath = '${captured:pickupPath}';
|
|
31
|
-
const lootTablePath = '${captured:lootTablePath}';
|
|
32
|
-
const recipePath = '${captured:recipePath}';
|
|
33
|
-
const stationPath = '${captured:stationPath}';
|
|
34
|
-
|
|
35
|
-
const testCases = [
|
|
36
|
-
// === SETUP ===
|
|
37
|
-
{ scenario: 'Setup: create test folder', toolName: 'manage_asset', arguments: { action: 'create_folder', path: TEST_FOLDER }, expected: 'success|already exists' },
|
|
38
|
-
{
|
|
39
|
-
scenario: 'Setup: create inventory actor blueprint',
|
|
40
|
-
toolName: 'manage_blueprint',
|
|
41
|
-
arguments: { action: 'create', name: BLUEPRINT_NAME, path: TEST_FOLDER, parentClass: 'Actor' },
|
|
42
|
-
expected: 'success',
|
|
43
|
-
captureResult: { key: 'blueprintPath', fromField: 'result.assetPath' },
|
|
44
|
-
assertions: [{ path: 'structuredContent.result.existsAfter', equals: true, label: 'inventory actor blueprint exists after creation' }]
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
// === ITEM DATA ===
|
|
48
|
-
{
|
|
49
|
-
scenario: 'CREATE: create_item_data_asset',
|
|
50
|
-
toolName: 'manage_inventory',
|
|
51
|
-
arguments: { action: 'create_item_data_asset', name: ITEM_NAME, path: TEST_FOLDER_ALIAS },
|
|
52
|
-
expected: 'success',
|
|
53
|
-
captureResult: { key: 'itemPath', fromField: 'result.assetPath' },
|
|
54
|
-
assertions: [{ path: 'structuredContent.result.assetClass', equals: 'McpGenericDataAsset', label: 'item data asset class reported' }]
|
|
55
|
-
},
|
|
56
|
-
{ scenario: 'CONFIG: set_item_properties', toolName: 'manage_inventory', arguments: { action: 'set_item_properties', itemPath, properties: {}, save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.propertiesModified', equals: 0, label: 'generic item accepts properties payload without false modification' }, { path: 'structuredContent.result.assetPath', equals: EXPECTED_ITEM_PATH, label: 'item properties target verified' }] },
|
|
57
|
-
{ scenario: 'CONFIG: configure_item_stacking', toolName: 'manage_inventory', arguments: { action: 'configure_item_stacking', itemPath, stackable: true, maxStackSize: 25, uniqueItems: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.maxStackSize', equals: 25, label: 'stack size request returned' }, { path: 'structuredContent.result.configured', equals: true, label: 'stacking persisted into asset data' }, { path: 'structuredContent.result.modifiedProperties', length: 3, label: 'stacking properties modified' }] },
|
|
58
|
-
{ scenario: 'CONFIG: set_item_icon', toolName: 'manage_inventory', arguments: { action: 'set_item_icon', itemPath, iconPath: '/Game/MCPTest/FakeInventoryIcon' }, expected: 'success', assertions: [{ path: 'structuredContent.result.iconPath', equals: '/Game/MCPTest/FakeInventoryIcon', label: 'icon path request returned' }, { path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'icon target item returned' }, { path: 'structuredContent.result.iconSet', equals: true, label: 'icon path persisted into asset data' }, { path: 'structuredContent.result.propertyModified', equals: 'Properties.IconPath', label: 'generic item icon storage reported' }] },
|
|
59
|
-
|
|
60
|
-
// === CATEGORY ===
|
|
61
|
-
{
|
|
62
|
-
scenario: 'CREATE: create_item_category',
|
|
63
|
-
toolName: 'manage_inventory',
|
|
64
|
-
arguments: { action: 'create_item_category', name: CATEGORY_NAME, path: TEST_FOLDER },
|
|
65
|
-
expected: 'success',
|
|
66
|
-
captureResult: { key: 'categoryPath', fromField: 'result.categoryPath' },
|
|
67
|
-
assertions: [{ path: 'structuredContent.result.categoryPath', equals: EXPECTED_CATEGORY_PATH, label: 'category path returned' }]
|
|
68
|
-
},
|
|
69
|
-
{ scenario: 'CONNECT: assign_item_category', toolName: 'manage_inventory', arguments: { action: 'assign_item_category', itemPath, categoryPath, save: false }, expected: 'success', assertions: [{ path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'category assignment item target returned' }, { path: 'structuredContent.result.categoryPath', equals: EXPECTED_CATEGORY_PATH, label: 'category assignment category target returned' }] },
|
|
70
|
-
|
|
71
|
-
// === INVENTORY COMPONENT ===
|
|
72
|
-
{ scenario: 'CREATE: create_inventory_component', toolName: 'manage_inventory', arguments: { action: 'create_inventory_component', blueprintPath, componentName: 'InventoryComponent', slotCount: 12 }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentName', equals: 'InventoryComponent', label: 'inventory component name returned' }, { path: 'structuredContent.result.componentAdded', equals: true, label: 'inventory component added' }] },
|
|
73
|
-
{ scenario: 'CONFIG: configure_inventory_slots', toolName: 'manage_inventory', arguments: { action: 'configure_inventory_slots', blueprintPath, slotCount: 16 }, expected: 'success', assertions: [{ path: 'structuredContent.result.slotCount', equals: 16, label: 'inventory slot count configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'inventory slots configured flag returned' }] },
|
|
74
|
-
{ scenario: 'ADD: add_inventory_functions', toolName: 'manage_inventory', arguments: { action: 'add_inventory_functions', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.functionsAdded', length: 8, label: 'inventory helper functions/events returned' }, { path: 'structuredContent.result.variablesAdded', length: 5, label: 'inventory helper variables added' }] },
|
|
75
|
-
{ scenario: 'CONFIG: configure_inventory_events', toolName: 'manage_inventory', arguments: { action: 'configure_inventory_events', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.eventsAdded', length: 4, label: 'inventory events configured' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'inventory events target blueprint returned' }] },
|
|
76
|
-
{ scenario: 'CONFIG: set_inventory_replication', toolName: 'manage_inventory', arguments: { action: 'set_inventory_replication', blueprintPath, replicated: true, replicationCondition: 'OwnerOnly' }, expected: 'success', assertions: [{ path: 'structuredContent.result.replicated', equals: true, label: 'inventory replication enabled' }, { path: 'structuredContent.result.replicationCondition', equals: 'OwnerOnly', label: 'inventory replication condition applied' }, { path: 'structuredContent.result.modifiedVariables', length: 4, label: 'inventory variables marked for replication' }] },
|
|
77
|
-
{ scenario: 'CONFIG: configure_inventory_weight', toolName: 'manage_inventory', arguments: { action: 'configure_inventory_weight', blueprintPath, maxWeight: 125, enableWeight: true, encumberanceSystem: true, encumberanceThreshold: 0.8 }, expected: 'success', assertions: [{ path: 'structuredContent.result.maxWeight', equals: 125, label: 'max inventory weight configured' }, { path: 'structuredContent.result.encumberanceThreshold', equals: 0.8, label: 'encumberance threshold configured' }] },
|
|
78
|
-
|
|
79
|
-
// === PICKUPS ===
|
|
80
|
-
{
|
|
81
|
-
scenario: 'CREATE: create_pickup_actor',
|
|
82
|
-
toolName: 'manage_inventory',
|
|
83
|
-
arguments: { action: 'create_pickup_actor', name: PICKUP_NAME, path: TEST_FOLDER },
|
|
84
|
-
expected: 'success',
|
|
85
|
-
captureResult: { key: 'pickupPath', fromField: 'result.pickupPath' },
|
|
86
|
-
assertions: [{ path: 'structuredContent.result.blueprintName', equals: PICKUP_NAME, label: 'pickup blueprint name returned' }]
|
|
87
|
-
},
|
|
88
|
-
{ scenario: 'CONFIG: configure_pickup_interaction', toolName: 'manage_inventory', arguments: { action: 'configure_pickup_interaction', pickupPath, interactionType: 'Overlap', prompt: 'Collect item' }, expected: 'success', assertions: [{ path: 'structuredContent.result.interactionType', equals: 'Overlap', label: 'pickup interaction type configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'pickup interaction configured flag returned' }] },
|
|
89
|
-
{ scenario: 'CONFIG: configure_pickup_respawn', toolName: 'manage_inventory', arguments: { action: 'configure_pickup_respawn', pickupPath, respawnable: true, respawnTime: 45 }, expected: 'success', assertions: [{ path: 'structuredContent.result.respawnable', equals: true, label: 'pickup respawn enabled' }, { path: 'structuredContent.result.respawnTime', equals: 45, label: 'pickup respawn time configured' }] },
|
|
90
|
-
{ scenario: 'CONFIG: configure_pickup_effects', toolName: 'manage_inventory', arguments: { action: 'configure_pickup_effects', pickupPath, bobbing: true, rotation: false, glowEffect: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.bobbing', equals: true, label: 'pickup bobbing configured' }, { path: 'structuredContent.result.rotation', equals: false, label: 'pickup rotation configured' }, { path: 'structuredContent.result.glowEffect', equals: true, label: 'pickup glow configured' }] },
|
|
91
|
-
|
|
92
|
-
// === EQUIPMENT ===
|
|
93
|
-
{ scenario: 'CREATE: create_equipment_component', toolName: 'manage_inventory', arguments: { action: 'create_equipment_component', blueprintPath, componentName: 'EquipmentComponent' }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentName', equals: 'EquipmentComponent', label: 'equipment component name returned' }, { path: 'structuredContent.result.variablesAdded', length: 3, label: 'equipment state variables added' }] },
|
|
94
|
-
{ scenario: 'ACTION: define_equipment_slots', toolName: 'manage_inventory', arguments: { action: 'define_equipment_slots', blueprintPath, slots: ['Head', 'Weapon', 'Ring'] }, expected: 'success', assertions: [{ path: 'structuredContent.result.slotCount', equals: 3, label: 'equipment slot count configured' }, { path: 'structuredContent.result.slotsConfigured', length: 3, label: 'equipment slots returned' }] },
|
|
95
|
-
{ scenario: 'CONFIG: configure_equipment_effects', toolName: 'manage_inventory', arguments: { action: 'configure_equipment_effects', blueprintPath, statModifiers: true, abilityGrants: false, passiveEffects: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.statModifiersConfigured', equals: true, label: 'equipment stat modifiers configured' }, { path: 'structuredContent.result.abilityGrantsConfigured', equals: false, label: 'equipment ability grants configured' }, { path: 'structuredContent.result.passiveEffectsConfigured', equals: true, label: 'equipment passive effects configured' }] },
|
|
96
|
-
{ scenario: 'ADD: add_equipment_functions', toolName: 'manage_inventory', arguments: { action: 'add_equipment_functions', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.functionsAdded', length: 9, label: 'equipment helper functions/events returned' }, { path: 'structuredContent.result.variablesAdded', length: 6, label: 'equipment helper variables added' }] },
|
|
97
|
-
{ scenario: 'CONFIG: configure_equipment_visuals', toolName: 'manage_inventory', arguments: { action: 'configure_equipment_visuals', blueprintPath, attachToSocket: true, defaultSocket: 'hand_r' }, expected: 'success', assertions: [{ path: 'structuredContent.result.attachToSocket', equals: true, label: 'equipment visual socket attach enabled' }, { path: 'structuredContent.result.defaultSocket', equals: 'hand_r', label: 'equipment default socket configured' }] },
|
|
98
|
-
|
|
99
|
-
// === LOOT ===
|
|
100
|
-
{
|
|
101
|
-
scenario: 'CREATE: create_loot_table',
|
|
102
|
-
toolName: 'manage_inventory',
|
|
103
|
-
arguments: { action: 'create_loot_table', name: LOOT_TABLE_NAME, path: TEST_FOLDER },
|
|
104
|
-
expected: 'success',
|
|
105
|
-
captureResult: { key: 'lootTablePath', fromField: 'result.lootTablePath' },
|
|
106
|
-
assertions: [{ path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'loot table path returned' }]
|
|
107
|
-
},
|
|
108
|
-
{ scenario: 'ADD: add_loot_entry', toolName: 'manage_inventory', arguments: { action: 'add_loot_entry', lootTablePath, itemPath, lootWeight: 2.5, minQuantity: 1, maxQuantity: 3 }, expected: 'success', assertions: [{ path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'loot entry table target returned' }, { path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'loot entry item target returned' }, { path: 'structuredContent.result.weight', equals: 2.5, label: 'loot entry weight returned' }, { path: 'structuredContent.result.added', equals: true, label: 'loot entry persisted into table data' }, { path: 'structuredContent.result.storage', equals: 'Properties', label: 'generic loot table storage reported' }] },
|
|
109
|
-
{ scenario: 'CONFIG: configure_loot_drop', toolName: 'manage_inventory', arguments: { action: 'configure_loot_drop', actorPath: blueprintPath, lootTablePath, dropCount: 2, dropRadius: 250, dropOnDeath: true }, expected: 'success', assertions: [{ path: 'structuredContent.result.dropCount', equals: 2, label: 'loot drop count configured' }, { path: 'structuredContent.result.dropRadius', equals: 250, label: 'loot drop radius configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'loot drop configured flag returned' }] },
|
|
110
|
-
{ scenario: 'CONFIG: set_loot_quality_tiers', toolName: 'manage_inventory', arguments: { action: 'set_loot_quality_tiers', lootTablePath, tiers: [{ name: 'Common', dropWeight: 70 }, { name: 'Rare', dropWeight: 30 }] }, expected: 'success', assertions: [{ path: 'structuredContent.result.tierCount', equals: 2, label: 'loot quality tier count configured' }, { path: 'structuredContent.result.tiersConfigured', length: 2, label: 'loot quality tiers returned' }] },
|
|
111
|
-
{ scenario: 'ACTION: remove_loot_entry', toolName: 'manage_inventory', arguments: { action: 'remove_loot_entry', lootTablePath, entryIndex: 0 }, expected: 'success', assertions: [{ path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'remove loot entry table target returned' }, { path: 'structuredContent.result.removed', equals: false, label: 'generic loot table reports no removable backing array' }] },
|
|
112
|
-
|
|
113
|
-
// === CRAFTING ===
|
|
114
|
-
{
|
|
115
|
-
scenario: 'CREATE: create_crafting_recipe',
|
|
116
|
-
toolName: 'manage_inventory',
|
|
117
|
-
arguments: { action: 'create_crafting_recipe', name: RECIPE_NAME, path: TEST_FOLDER, outputItemPath: itemPath, outputQuantity: 2, craftTime: 4.5 },
|
|
118
|
-
expected: 'success',
|
|
119
|
-
captureResult: { key: 'recipePath', fromField: 'result.recipePath' },
|
|
120
|
-
assertions: [{ path: 'structuredContent.result.outputItemPath', equals: EXPECTED_ITEM_PATH, label: 'crafting recipe output item configured' }, { path: 'structuredContent.result.outputQuantity', equals: 2, label: 'crafting output quantity configured' }]
|
|
121
|
-
},
|
|
122
|
-
{ scenario: 'CONFIG: configure_recipe_requirements', toolName: 'manage_inventory', arguments: { action: 'configure_recipe_requirements', recipePath, requiredLevel: 5, requiredStation: 'Workbench' }, expected: 'success', assertions: [{ path: 'structuredContent.result.recipePath', equals: EXPECTED_RECIPE_PATH, label: 'recipe requirements target returned' }, { path: 'structuredContent.result.requiredLevel', equals: 5, label: 'recipe required level configured' }, { path: 'structuredContent.result.requiredStation', equals: 'Workbench', label: 'recipe required station configured' }, { path: 'structuredContent.result.configured', equals: true, label: 'recipe requirements persisted into asset data' }, { path: 'structuredContent.result.propertiesModified', equals: 2, label: 'recipe requirement properties modified' }] },
|
|
123
|
-
{ scenario: 'ADD: add_recipe_ingredient', toolName: 'manage_inventory', arguments: { action: 'add_recipe_ingredient', recipePath, ingredientItemPath: itemPath, quantity: 3 }, expected: 'success', assertions: [{ path: 'structuredContent.result.recipePath', equals: EXPECTED_RECIPE_PATH, label: 'recipe ingredient target returned' }, { path: 'structuredContent.result.ingredientItemPath', equals: EXPECTED_ITEM_PATH, label: 'recipe ingredient item returned' }, { path: 'structuredContent.result.quantity', equals: 3, label: 'recipe ingredient quantity returned' }, { path: 'structuredContent.result.added', equals: true, label: 'recipe ingredient persisted into recipe data' }, { path: 'structuredContent.result.storage', equals: 'Properties', label: 'generic recipe ingredient storage reported' }] },
|
|
124
|
-
{
|
|
125
|
-
scenario: 'CREATE: create_crafting_station',
|
|
126
|
-
toolName: 'manage_inventory',
|
|
127
|
-
arguments: { action: 'create_crafting_station', name: STATION_NAME, path: TEST_FOLDER, stationType: 'Workbench' },
|
|
128
|
-
expected: 'success',
|
|
129
|
-
captureResult: { key: 'stationPath', fromField: 'result.stationPath' },
|
|
130
|
-
assertions: [{ path: 'structuredContent.result.stationType', equals: 'Workbench', label: 'crafting station type returned' }]
|
|
131
|
-
},
|
|
132
|
-
{ scenario: 'ADD: add_crafting_component', toolName: 'manage_inventory', arguments: { action: 'add_crafting_component', blueprintPath, componentName: 'CraftingComponent' }, expected: 'success', assertions: [{ path: 'structuredContent.result.componentName', equals: 'CraftingComponent', label: 'crafting component name returned' }, { path: 'structuredContent.result.componentAdded', equals: true, label: 'crafting component added' }] },
|
|
133
|
-
{ scenario: 'CONFIG: configure_station_recipes', toolName: 'manage_inventory', arguments: { action: 'configure_station_recipes', stationPath, recipePaths: [recipePath], stationType: 'Workbench', craftingSpeedMultiplier: 1.25 }, expected: 'success', assertions: [{ path: 'structuredContent.result.stationType', equals: 'Workbench', label: 'station recipe type configured' }, { path: 'structuredContent.result.recipeCount', equals: 1, label: 'station recipe count configured' }, { path: 'structuredContent.result.recipePaths', length: 1, label: 'station recipe path returned' }] },
|
|
134
|
-
|
|
135
|
-
// === INFO ===
|
|
136
|
-
{ scenario: 'INFO: get_inventory_info blueprint', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', blueprintPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Blueprint', label: 'inventory info reports blueprint asset type' }, { path: 'structuredContent.result.blueprintPath', equals: EXPECTED_BLUEPRINT_PATH, label: 'inventory info returns blueprint path' }, { path: 'structuredContent.result.components', length: 3, label: 'inventory info reports inventory, equipment, and crafting components' }] },
|
|
137
|
-
{ scenario: 'INFO: get_inventory_info item', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', itemPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Item', label: 'inventory info reports item asset type' }, { path: 'structuredContent.result.itemPath', equals: EXPECTED_ITEM_PATH, label: 'inventory info returns item path' }, { path: 'structuredContent.result.properties.bStackable', equals: 'true', label: 'item stacking flag read back from asset data' }, { path: 'structuredContent.result.properties.MaxStackSize', equals: '25', label: 'item stack size read back from asset data' }, { path: 'structuredContent.result.properties.IconPath', equals: '/Game/MCPTest/FakeInventoryIcon', label: 'item icon path read back from asset data' }] },
|
|
138
|
-
{ scenario: 'INFO: get_inventory_info loot table', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', lootTablePath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'LootTable', label: 'inventory info reports loot table asset type' }, { path: 'structuredContent.result.lootTablePath', equals: EXPECTED_LOOT_TABLE_PATH, label: 'inventory info returns loot table path' }, { path: 'structuredContent.result.properties.LootEntry_0', equals: `ItemPath=${EXPECTED_ITEM_PATH};Weight=2.5;MinQuantity=1;MaxQuantity=3`, label: 'loot entry read back from table data' }] },
|
|
139
|
-
{ scenario: 'INFO: get_inventory_info recipe', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', recipePath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Recipe', label: 'inventory info reports recipe asset type' }, { path: 'structuredContent.result.recipePath', equals: EXPECTED_RECIPE_PATH, label: 'inventory info returns recipe path' }, { path: 'structuredContent.result.properties.RequiredLevel', equals: '5', label: 'recipe required level read back from asset data' }, { path: 'structuredContent.result.properties.RequiredStation', equals: 'Workbench', label: 'recipe station read back from asset data' }, { path: 'structuredContent.result.properties.Ingredient_2', equals: `ItemPath=${EXPECTED_ITEM_PATH};Quantity=3`, label: 'recipe ingredient read back from asset data' }] },
|
|
140
|
-
{ scenario: 'INFO: get_inventory_info pickup', toolName: 'manage_inventory', arguments: { action: 'get_inventory_info', pickupPath }, expected: 'success', assertions: [{ path: 'structuredContent.result.assetType', equals: 'Pickup', label: 'inventory info reports pickup asset type' }, { path: 'structuredContent.result.pickupPath', equals: EXPECTED_PICKUP_PATH, label: 'inventory info returns pickup path' }] },
|
|
141
|
-
|
|
142
|
-
// === CLEANUP ===
|
|
143
|
-
{ scenario: 'Cleanup: delete test folder', toolName: 'manage_asset', arguments: { action: 'delete', path: TEST_FOLDER, force: true }, expected: 'success|not found' },
|
|
144
|
-
];
|
|
145
|
-
|
|
146
|
-
runToolTests('manage-inventory', testCases);
|