unreal-engine-mcp-server 0.5.4 → 0.5.5
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/dist/automation/bridge.d.ts.map +1 -0
- package/dist/automation/bridge.js.map +1 -0
- package/dist/automation/connection-manager.d.ts.map +1 -0
- package/dist/automation/connection-manager.js.map +1 -0
- package/dist/automation/handshake.d.ts.map +1 -0
- package/dist/automation/handshake.js.map +1 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/message-handler.d.ts.map +1 -0
- package/dist/automation/message-handler.js.map +1 -0
- package/dist/automation/request-tracker.d.ts.map +1 -0
- package/dist/automation/request-tracker.js.map +1 -0
- package/dist/automation/types.d.ts.map +1 -0
- package/dist/automation/types.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +4 -3
- package/dist/cli.js.map +1 -0
- package/dist/config/class-aliases.d.ts.map +1 -0
- package/dist/config/class-aliases.js.map +1 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/graphql/loaders.d.ts.map +1 -0
- package/dist/graphql/loaders.js.map +1 -0
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +29 -29
- package/dist/graphql/resolvers.js.map +1 -0
- package/dist/graphql/schema.d.ts.map +1 -0
- package/dist/graphql/schema.js.map +1 -0
- package/dist/graphql/server.d.ts.map +1 -0
- package/dist/graphql/server.js.map +1 -0
- package/dist/graphql/types.d.ts.map +1 -0
- package/dist/graphql/types.js.map +1 -0
- package/dist/handlers/resource-handlers.d.ts.map +1 -0
- package/dist/handlers/resource-handlers.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -7
- package/dist/index.js.map +1 -0
- package/dist/resources/actors.d.ts.map +1 -0
- package/dist/resources/actors.js.map +1 -0
- package/dist/resources/assets.d.ts.map +1 -0
- package/dist/resources/assets.js +6 -4
- package/dist/resources/assets.js.map +1 -0
- package/dist/resources/levels.d.ts.map +1 -0
- package/dist/resources/levels.js.map +1 -0
- package/dist/server/resource-registry.d.ts.map +1 -0
- package/dist/server/resource-registry.js.map +1 -0
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/server-setup.d.ts.map +1 -0
- package/dist/server-setup.js.map +1 -0
- package/dist/services/health-monitor.d.ts.map +1 -0
- package/dist/services/health-monitor.js.map +1 -0
- package/dist/services/metrics-server.d.ts.map +1 -0
- package/dist/services/metrics-server.js.map +1 -0
- package/dist/tools/actors.d.ts.map +1 -0
- package/dist/tools/actors.js +3 -1
- package/dist/tools/actors.js.map +1 -0
- package/dist/tools/animation.d.ts.map +1 -0
- package/dist/tools/animation.js +2 -2
- package/dist/tools/animation.js.map +1 -0
- package/dist/tools/assets.d.ts.map +1 -0
- package/dist/tools/assets.js.map +1 -0
- package/dist/tools/audio.d.ts.map +1 -0
- package/dist/tools/audio.js.map +1 -0
- package/dist/tools/base-tool.d.ts.map +1 -0
- package/dist/tools/base-tool.js.map +1 -0
- package/dist/tools/behavior-tree.d.ts.map +1 -0
- package/dist/tools/behavior-tree.js.map +1 -0
- package/dist/tools/blueprint.d.ts.map +1 -0
- package/dist/tools/blueprint.js +4 -2
- package/dist/tools/blueprint.js.map +1 -0
- package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -0
- package/dist/tools/consolidated-tool-definitions.js.map +1 -0
- package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -0
- package/dist/tools/consolidated-tool-handlers.js.map +1 -0
- package/dist/tools/debug.d.ts.map +1 -0
- package/dist/tools/debug.js +3 -1
- package/dist/tools/debug.js.map +1 -0
- package/dist/tools/dynamic-handler-registry.d.ts.map +1 -0
- package/dist/tools/dynamic-handler-registry.js +3 -1
- package/dist/tools/dynamic-handler-registry.js.map +1 -0
- package/dist/tools/editor.d.ts.map +1 -0
- package/dist/tools/editor.js +1 -1
- package/dist/tools/editor.js.map +1 -0
- package/dist/tools/engine.d.ts.map +1 -0
- package/dist/tools/engine.js.map +1 -0
- package/dist/tools/environment.d.ts.map +1 -0
- package/dist/tools/environment.js +2 -2
- package/dist/tools/environment.js.map +1 -0
- package/dist/tools/foliage.d.ts.map +1 -0
- package/dist/tools/foliage.js.map +1 -0
- package/dist/tools/handlers/actor-handlers.d.ts +1 -1
- package/dist/tools/handlers/actor-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/actor-handlers.js +6 -5
- package/dist/tools/handlers/actor-handlers.js.map +1 -0
- package/dist/tools/handlers/animation-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/animation-handlers.js.map +1 -0
- package/dist/tools/handlers/argument-helper.d.ts.map +1 -0
- package/dist/tools/handlers/argument-helper.js.map +1 -0
- package/dist/tools/handlers/asset-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/asset-handlers.js +5 -1
- package/dist/tools/handlers/asset-handlers.js.map +1 -0
- package/dist/tools/handlers/audio-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/audio-handlers.js.map +1 -0
- package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/blueprint-handlers.js +2 -1
- package/dist/tools/handlers/blueprint-handlers.js.map +1 -0
- package/dist/tools/handlers/common-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/common-handlers.js.map +1 -0
- package/dist/tools/handlers/editor-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/editor-handlers.js +12 -2
- package/dist/tools/handlers/editor-handlers.js.map +1 -0
- package/dist/tools/handlers/effect-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/effect-handlers.js.map +1 -0
- package/dist/tools/handlers/environment-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/environment-handlers.js.map +1 -0
- package/dist/tools/handlers/graph-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/graph-handlers.js +61 -1
- package/dist/tools/handlers/graph-handlers.js.map +1 -0
- package/dist/tools/handlers/input-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/input-handlers.js.map +1 -0
- package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/inspect-handlers.js.map +1 -0
- package/dist/tools/handlers/level-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/level-handlers.js.map +1 -0
- package/dist/tools/handlers/lighting-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/lighting-handlers.js +23 -1
- package/dist/tools/handlers/lighting-handlers.js.map +1 -0
- package/dist/tools/handlers/performance-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/performance-handlers.js +15 -2
- package/dist/tools/handlers/performance-handlers.js.map +1 -0
- package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/pipeline-handlers.js.map +1 -0
- package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/sequence-handlers.js.map +1 -0
- package/dist/tools/handlers/system-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/system-handlers.js +16 -1
- package/dist/tools/handlers/system-handlers.js.map +1 -0
- package/dist/tools/input.d.ts.map +1 -0
- package/dist/tools/input.js +3 -1
- package/dist/tools/input.js.map +1 -0
- package/dist/tools/introspection.d.ts.map +1 -0
- package/dist/tools/introspection.js.map +1 -0
- package/dist/tools/landscape.d.ts.map +1 -0
- package/dist/tools/landscape.js +3 -1
- package/dist/tools/landscape.js.map +1 -0
- package/dist/tools/level.d.ts.map +1 -0
- package/dist/tools/level.js.map +1 -0
- package/dist/tools/lighting.d.ts.map +1 -0
- package/dist/tools/lighting.js +3 -1
- package/dist/tools/lighting.js.map +1 -0
- package/dist/tools/logs.d.ts.map +1 -0
- package/dist/tools/logs.js.map +1 -0
- package/dist/tools/materials.d.ts.map +1 -0
- package/dist/tools/materials.js +3 -1
- package/dist/tools/materials.js.map +1 -0
- package/dist/tools/niagara.d.ts.map +1 -0
- package/dist/tools/niagara.js +7 -5
- package/dist/tools/niagara.js.map +1 -0
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js.map +1 -0
- package/dist/tools/physics.d.ts.map +1 -0
- package/dist/tools/physics.js +9 -7
- package/dist/tools/physics.js.map +1 -0
- package/dist/tools/property-dictionary.d.ts.map +1 -0
- package/dist/tools/property-dictionary.js.map +1 -0
- package/dist/tools/sequence.d.ts.map +1 -0
- package/dist/tools/sequence.js +3 -1
- package/dist/tools/sequence.js.map +1 -0
- package/dist/tools/tool-definition-utils.d.ts.map +1 -0
- package/dist/tools/tool-definition-utils.js.map +1 -0
- package/dist/tools/ui.d.ts.map +1 -0
- package/dist/tools/ui.js +3 -1
- package/dist/tools/ui.js.map +1 -0
- package/dist/types/automation-responses.d.ts.map +1 -0
- package/dist/types/automation-responses.js.map +1 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/handler-types.d.ts.map +1 -0
- package/dist/types/handler-types.js.map +1 -0
- package/dist/types/tool-interfaces.d.ts.map +1 -0
- package/dist/types/tool-interfaces.js.map +1 -0
- package/dist/types/tool-types.d.ts.map +1 -0
- package/dist/types/tool-types.js.map +1 -0
- package/dist/unreal-bridge.d.ts +1 -0
- package/dist/unreal-bridge.d.ts.map +1 -0
- package/dist/unreal-bridge.js +8 -0
- package/dist/unreal-bridge.js.map +1 -0
- package/dist/utils/command-validator.d.ts.map +1 -0
- package/dist/utils/command-validator.js.map +1 -0
- package/dist/utils/elicitation.d.ts.map +1 -0
- package/dist/utils/elicitation.js.map +1 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/ini-reader.d.ts.map +1 -0
- package/dist/utils/ini-reader.js.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/normalize.d.ts.map +1 -0
- package/dist/utils/normalize.js.map +1 -0
- package/dist/utils/path-security.d.ts.map +1 -0
- package/dist/utils/path-security.js.map +1 -0
- package/dist/utils/response-factory.d.ts.map +1 -0
- package/dist/utils/response-factory.js +3 -1
- package/dist/utils/response-factory.js.map +1 -0
- package/dist/utils/response-validator.d.ts.map +1 -0
- package/dist/utils/response-validator.js.map +1 -0
- package/dist/utils/result-helpers.d.ts.map +1 -0
- package/dist/utils/result-helpers.js.map +1 -0
- package/dist/utils/safe-json.d.ts.map +1 -0
- package/dist/utils/safe-json.js.map +1 -0
- package/dist/utils/unreal-command-queue.d.ts.map +1 -0
- package/dist/utils/unreal-command-queue.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wasm/index.d.ts.map +1 -0
- package/dist/wasm/index.js.map +1 -0
- package/package.json +12 -34
- package/server.json +2 -2
- package/.dockerignore +0 -57
- package/.env.example +0 -26
- package/.env.production +0 -61
- package/.eslintrc.json +0 -0
- package/.eslintrc.override.json +0 -8
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -94
- package/.github/ISSUE_TEMPLATE/config.yml +0 -8
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -56
- package/.github/copilot-instructions.md +0 -478
- package/.github/dependabot.yml +0 -19
- package/.github/labeler.yml +0 -24
- package/.github/labels.yml +0 -70
- package/.github/pull_request_template.md +0 -42
- package/.github/release-drafter-config.yml +0 -51
- package/.github/workflows/auto-merge.yml +0 -38
- package/.github/workflows/ci.yml +0 -38
- package/.github/workflows/dependency-review.yml +0 -17
- package/.github/workflows/gemini-issue-triage.yml +0 -172
- package/.github/workflows/greetings.yml +0 -27
- package/.github/workflows/labeler.yml +0 -17
- package/.github/workflows/links.yml +0 -80
- package/.github/workflows/pr-size-labeler.yml +0 -137
- package/.github/workflows/publish-mcp.yml +0 -79
- package/.github/workflows/release-drafter.yml +0 -24
- package/.github/workflows/release.yml +0 -112
- package/.github/workflows/semantic-pull-request.yml +0 -35
- package/.github/workflows/smoke-test.yml +0 -36
- package/.github/workflows/stale.yml +0 -28
- package/CONTRIBUTING.md +0 -140
- package/Dockerfile +0 -37
- package/GEMINI.md +0 -115
- package/Public/Plugin_setup_guide.mp4 +0 -0
- package/Public/icon.png +0 -0
- package/claude_desktop_config_example.json +0 -15
- package/dist/types/responses.d.ts +0 -249
- package/dist/types/responses.js +0 -2
- package/docs/GraphQL-API.md +0 -888
- package/docs/Migration-Guide-v0.5.0.md +0 -684
- package/docs/Roadmap.md +0 -53
- package/docs/WebAssembly-Integration.md +0 -628
- package/docs/editor-plugin-extension.md +0 -370
- package/docs/handler-mapping.md +0 -249
- package/docs/native-automation-progress.md +0 -128
- package/docs/testing-guide.md +0 -423
- package/eslint.config.mjs +0 -68
- package/mcp-config-example.json +0 -14
- package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +0 -8
- package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +0 -64
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +0 -189
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +0 -22
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +0 -30
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +0 -1983
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +0 -72
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +0 -46
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +0 -846
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +0 -2393
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +0 -300
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +0 -2807
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +0 -1087
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +0 -488
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +0 -643
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +0 -31
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +0 -1094
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +0 -5750
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +0 -152
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +0 -2614
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +0 -42
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +0 -1237
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +0 -1725
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +0 -2265
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +0 -954
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +0 -209
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +0 -41
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +0 -1164
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +0 -762
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +0 -663
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +0 -136
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +0 -494
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +0 -278
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +0 -625
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +0 -401
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +0 -67
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +0 -472
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +0 -2634
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +0 -189
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +0 -917
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +0 -39
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +0 -2706
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +0 -519
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +0 -38
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +0 -668
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +0 -346
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +0 -1345
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +0 -149
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +0 -782
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +0 -115
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +0 -796
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +0 -117
- package/scripts/check-unreal-connection.mjs +0 -19
- package/scripts/clean-tmp.js +0 -23
- package/scripts/patch-wasm.js +0 -26
- package/scripts/run-all-tests.mjs +0 -136
- package/scripts/smoke-test.ts +0 -94
- package/scripts/sync-mcp-plugin.js +0 -143
- package/scripts/test-no-plugin-alternates.mjs +0 -113
- package/scripts/validate-server.js +0 -46
- package/scripts/verify-automation-bridge.js +0 -200
- package/src/automation/bridge.ts +0 -630
- package/src/automation/connection-manager.ts +0 -148
- package/src/automation/handshake.ts +0 -99
- package/src/automation/index.ts +0 -2
- package/src/automation/message-handler.ts +0 -192
- package/src/automation/request-tracker.ts +0 -155
- package/src/automation/types.ts +0 -108
- package/src/cli.ts +0 -34
- package/src/config/class-aliases.ts +0 -65
- package/src/config.ts +0 -73
- package/src/constants.ts +0 -29
- package/src/graphql/loaders.ts +0 -244
- package/src/graphql/resolvers.ts +0 -1008
- package/src/graphql/schema.ts +0 -452
- package/src/graphql/server.ts +0 -156
- package/src/graphql/types.ts +0 -10
- package/src/handlers/resource-handlers.ts +0 -186
- package/src/index.ts +0 -243
- package/src/resources/actors.ts +0 -127
- package/src/resources/assets.ts +0 -286
- package/src/resources/levels.ts +0 -68
- package/src/server/resource-registry.ts +0 -47
- package/src/server/tool-registry.ts +0 -354
- package/src/server-setup.ts +0 -114
- package/src/services/health-monitor.ts +0 -132
- package/src/services/metrics-server.ts +0 -176
- package/src/tools/actors.ts +0 -564
- package/src/tools/animation.ts +0 -941
- package/src/tools/assets.ts +0 -394
- package/src/tools/audio.ts +0 -499
- package/src/tools/base-tool.ts +0 -52
- package/src/tools/behavior-tree.ts +0 -45
- package/src/tools/blueprint.ts +0 -940
- package/src/tools/consolidated-tool-definitions.ts +0 -1256
- package/src/tools/consolidated-tool-handlers.ts +0 -302
- package/src/tools/debug.ts +0 -622
- package/src/tools/dynamic-handler-registry.ts +0 -33
- package/src/tools/editor.ts +0 -435
- package/src/tools/engine.ts +0 -43
- package/src/tools/environment.ts +0 -281
- package/src/tools/foliage.ts +0 -596
- package/src/tools/handlers/actor-handlers.ts +0 -244
- package/src/tools/handlers/animation-handlers.ts +0 -237
- package/src/tools/handlers/argument-helper.ts +0 -142
- package/src/tools/handlers/asset-handlers.ts +0 -550
- package/src/tools/handlers/audio-handlers.ts +0 -194
- package/src/tools/handlers/blueprint-handlers.ts +0 -380
- package/src/tools/handlers/common-handlers.ts +0 -108
- package/src/tools/handlers/editor-handlers.ts +0 -124
- package/src/tools/handlers/effect-handlers.ts +0 -224
- package/src/tools/handlers/environment-handlers.ts +0 -183
- package/src/tools/handlers/graph-handlers.ts +0 -117
- package/src/tools/handlers/input-handlers.ts +0 -28
- package/src/tools/handlers/inspect-handlers.ts +0 -450
- package/src/tools/handlers/level-handlers.ts +0 -253
- package/src/tools/handlers/lighting-handlers.ts +0 -151
- package/src/tools/handlers/performance-handlers.ts +0 -132
- package/src/tools/handlers/pipeline-handlers.ts +0 -194
- package/src/tools/handlers/sequence-handlers.ts +0 -438
- package/src/tools/handlers/system-handlers.ts +0 -564
- package/src/tools/input.ts +0 -160
- package/src/tools/introspection.ts +0 -689
- package/src/tools/landscape.ts +0 -649
- package/src/tools/level.ts +0 -989
- package/src/tools/lighting.ts +0 -1052
- package/src/tools/logs.ts +0 -219
- package/src/tools/materials.ts +0 -295
- package/src/tools/niagara.ts +0 -485
- package/src/tools/performance.ts +0 -661
- package/src/tools/physics.ts +0 -679
- package/src/tools/property-dictionary.ts +0 -98
- package/src/tools/sequence.ts +0 -385
- package/src/tools/tool-definition-utils.ts +0 -35
- package/src/tools/ui.ts +0 -452
- package/src/types/automation-responses.ts +0 -119
- package/src/types/env.ts +0 -17
- package/src/types/handler-types.ts +0 -442
- package/src/types/responses.ts +0 -355
- package/src/types/tool-interfaces.ts +0 -250
- package/src/types/tool-types.ts +0 -575
- package/src/unreal-bridge.ts +0 -693
- package/src/utils/command-validator.ts +0 -139
- package/src/utils/elicitation.ts +0 -132
- package/src/utils/error-handler.ts +0 -287
- package/src/utils/ini-reader.ts +0 -86
- package/src/utils/logger.ts +0 -35
- package/src/utils/normalize.test.ts +0 -162
- package/src/utils/normalize.ts +0 -146
- package/src/utils/path-security.ts +0 -43
- package/src/utils/response-factory.ts +0 -44
- package/src/utils/response-validator.ts +0 -395
- package/src/utils/result-helpers.ts +0 -195
- package/src/utils/safe-json.test.ts +0 -90
- package/src/utils/safe-json.ts +0 -70
- package/src/utils/unreal-command-queue.ts +0 -166
- package/src/utils/validation.test.ts +0 -184
- package/src/utils/validation.ts +0 -312
- package/src/wasm/index.ts +0 -838
- package/test-server.mjs +0 -100
- package/tests/test-animation.mjs +0 -369
- package/tests/test-asset-advanced.mjs +0 -82
- package/tests/test-asset-graph.mjs +0 -311
- package/tests/test-audio.mjs +0 -417
- package/tests/test-automation-timeouts.mjs +0 -98
- package/tests/test-behavior-tree.mjs +0 -444
- package/tests/test-blueprint-graph.mjs +0 -410
- package/tests/test-blueprint.mjs +0 -577
- package/tests/test-client-mode.mjs +0 -86
- package/tests/test-console-command.mjs +0 -56
- package/tests/test-control-actor.mjs +0 -425
- package/tests/test-control-editor.mjs +0 -112
- package/tests/test-graphql.mjs +0 -372
- package/tests/test-input.mjs +0 -349
- package/tests/test-inspect.mjs +0 -302
- package/tests/test-landscape.mjs +0 -316
- package/tests/test-lighting.mjs +0 -428
- package/tests/test-manage-asset.mjs +0 -438
- package/tests/test-manage-level.mjs +0 -89
- package/tests/test-materials.mjs +0 -356
- package/tests/test-niagara.mjs +0 -185
- package/tests/test-no-inline-python.mjs +0 -122
- package/tests/test-performance.mjs +0 -539
- package/tests/test-plugin-handshake.mjs +0 -82
- package/tests/test-runner.mjs +0 -993
- package/tests/test-sequence.mjs +0 -104
- package/tests/test-system.mjs +0 -96
- package/tests/test-wasm.mjs +0 -283
- package/tests/test-world-partition.mjs +0 -215
- package/tsconfig.json +0 -56
- package/vitest.config.ts +0 -35
- package/wasm/Cargo.lock +0 -363
- package/wasm/Cargo.toml +0 -42
- package/wasm/LICENSE +0 -21
- package/wasm/README.md +0 -253
- package/wasm/src/dependency_resolver.rs +0 -377
- package/wasm/src/lib.rs +0 -153
- package/wasm/src/property_parser.rs +0 -271
- package/wasm/src/transform_math.rs +0 -396
- package/wasm/tests/integration.rs +0 -109
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
name: '📏 Gemini PR Size Labeler'
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request_target:
|
|
5
|
-
types: ['opened', 'reopened', 'synchronize']
|
|
6
|
-
|
|
7
|
-
permissions:
|
|
8
|
-
pull-requests: 'write'
|
|
9
|
-
contents: 'read'
|
|
10
|
-
|
|
11
|
-
concurrency:
|
|
12
|
-
group: '${{ github.workflow }}-${{ github.event.pull_request.number }}'
|
|
13
|
-
cancel-in-progress: true
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
label-pr:
|
|
17
|
-
timeout-minutes: 5
|
|
18
|
-
runs-on: 'ubuntu-latest'
|
|
19
|
-
steps:
|
|
20
|
-
- name: 'Get PR diff stats'
|
|
21
|
-
id: 'diff_stats'
|
|
22
|
-
uses: 'actions/github-script@v8'
|
|
23
|
-
with:
|
|
24
|
-
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
25
|
-
script: |
|
|
26
|
-
const { data: pr } = await github.rest.pulls.get({
|
|
27
|
-
owner: context.repo.owner,
|
|
28
|
-
repo: context.repo.repo,
|
|
29
|
-
pull_number: context.payload.pull_request.number
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
const additions = pr.additions || 0;
|
|
33
|
-
const deletions = pr.deletions || 0;
|
|
34
|
-
const totalChanges = additions + deletions;
|
|
35
|
-
const filesChanged = pr.changed_files || 0;
|
|
36
|
-
|
|
37
|
-
core.setOutput('total_changes', totalChanges);
|
|
38
|
-
core.setOutput('files_changed', filesChanged);
|
|
39
|
-
core.setOutput('additions', additions);
|
|
40
|
-
core.setOutput('deletions', deletions);
|
|
41
|
-
|
|
42
|
-
core.info(`PR #${pr.number}: +${additions} -${deletions} (${totalChanges} total) in ${filesChanged} files`);
|
|
43
|
-
|
|
44
|
-
- name: 'Determine size label'
|
|
45
|
-
id: 'size_label'
|
|
46
|
-
run: |
|
|
47
|
-
TOTAL=${{ steps.diff_stats.outputs.total_changes }}
|
|
48
|
-
|
|
49
|
-
if [ $TOTAL -lt 10 ]; then
|
|
50
|
-
echo "size_label=size/xs" >> $GITHUB_OUTPUT
|
|
51
|
-
elif [ $TOTAL -lt 50 ]; then
|
|
52
|
-
echo "size_label=size/s" >> $GITHUB_OUTPUT
|
|
53
|
-
elif [ $TOTAL -lt 200 ]; then
|
|
54
|
-
echo "size_label=size/m" >> $GITHUB_OUTPUT
|
|
55
|
-
elif [ $TOTAL -lt 1000 ]; then
|
|
56
|
-
echo "size_label=size/l" >> $GITHUB_OUTPUT
|
|
57
|
-
else
|
|
58
|
-
echo "size_label=size/xl" >> $GITHUB_OUTPUT
|
|
59
|
-
fi
|
|
60
|
-
|
|
61
|
-
- name: 'Apply size label'
|
|
62
|
-
uses: 'actions/github-script@v8'
|
|
63
|
-
env:
|
|
64
|
-
SIZE_LABEL: '${{ steps.size_label.outputs.size_label }}'
|
|
65
|
-
with:
|
|
66
|
-
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
67
|
-
script: |
|
|
68
|
-
const prNumber = context.payload.pull_request.number;
|
|
69
|
-
const newLabel = process.env.SIZE_LABEL;
|
|
70
|
-
|
|
71
|
-
// Get current labels
|
|
72
|
-
const { data: currentLabels } = await github.rest.issues.listLabelsOnIssue({
|
|
73
|
-
owner: context.repo.owner,
|
|
74
|
-
repo: context.repo.repo,
|
|
75
|
-
issue_number: prNumber
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
// Remove old size labels
|
|
79
|
-
const sizeLabels = ['size/xs', 'size/s', 'size/m', 'size/l', 'size/xl'];
|
|
80
|
-
for (const label of currentLabels) {
|
|
81
|
-
if (sizeLabels.includes(label.name) && label.name !== newLabel) {
|
|
82
|
-
await github.rest.issues.removeLabel({
|
|
83
|
-
owner: context.repo.owner,
|
|
84
|
-
repo: context.repo.repo,
|
|
85
|
-
issue_number: prNumber,
|
|
86
|
-
name: label.name
|
|
87
|
-
});
|
|
88
|
-
core.info(`Removed old label: ${label.name}`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Add new size label
|
|
93
|
-
await github.rest.issues.addLabels({
|
|
94
|
-
owner: context.repo.owner,
|
|
95
|
-
repo: context.repo.repo,
|
|
96
|
-
issue_number: prNumber,
|
|
97
|
-
labels: [newLabel]
|
|
98
|
-
});
|
|
99
|
-
core.info(`Applied label: ${newLabel}`);
|
|
100
|
-
|
|
101
|
-
- name: 'Comment on large PRs'
|
|
102
|
-
if: steps.size_label.outputs.size_label == 'size/xl'
|
|
103
|
-
uses: 'actions/github-script@v8'
|
|
104
|
-
with:
|
|
105
|
-
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
106
|
-
script: |
|
|
107
|
-
const prNumber = context.payload.pull_request.number;
|
|
108
|
-
|
|
109
|
-
// Check if we already commented
|
|
110
|
-
const { data: comments } = await github.rest.issues.listComments({
|
|
111
|
-
owner: context.repo.owner,
|
|
112
|
-
repo: context.repo.repo,
|
|
113
|
-
issue_number: prNumber
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
const botComment = comments.find(c =>
|
|
117
|
-
c.user && c.user.login && c.user.login.includes('[bot]') &&
|
|
118
|
-
c.body.includes('This pull request is quite large')
|
|
119
|
-
);
|
|
120
|
-
|
|
121
|
-
if (!botComment) {
|
|
122
|
-
await github.rest.issues.createComment({
|
|
123
|
-
owner: context.repo.owner,
|
|
124
|
-
repo: context.repo.repo,
|
|
125
|
-
issue_number: prNumber,
|
|
126
|
-
body: `## 📏 Large PR Detected
|
|
127
|
-
|
|
128
|
-
This pull request is quite large (1000+ lines changed), which can make reviewing challenging.
|
|
129
|
-
|
|
130
|
-
**Suggestions:**
|
|
131
|
-
- Consider breaking this into smaller, focused PRs
|
|
132
|
-
- Separate refactoring from new features
|
|
133
|
-
- Split bug fixes from feature additions
|
|
134
|
-
|
|
135
|
-
This helps reviewers provide better feedback and speeds up the merge process. Thank you! 🙏`
|
|
136
|
-
});
|
|
137
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
name: Publish to MCP Registry
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags: ["v*"]
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
publish:
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
permissions:
|
|
12
|
-
id-token: write
|
|
13
|
-
contents: read
|
|
14
|
-
|
|
15
|
-
steps:
|
|
16
|
-
- name: Checkout code
|
|
17
|
-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
18
|
-
|
|
19
|
-
- name: Setup Node.js
|
|
20
|
-
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
|
21
|
-
with:
|
|
22
|
-
node-version: "20"
|
|
23
|
-
registry-url: "https://registry.npmjs.org"
|
|
24
|
-
cache: 'npm'
|
|
25
|
-
|
|
26
|
-
- name: Install dependencies
|
|
27
|
-
run: npm ci
|
|
28
|
-
|
|
29
|
-
- name: Run smoke tests
|
|
30
|
-
run: npm run test:smoke
|
|
31
|
-
continue-on-error: true
|
|
32
|
-
|
|
33
|
-
- name: Run linting
|
|
34
|
-
run: npm run lint
|
|
35
|
-
|
|
36
|
-
- name: Build package
|
|
37
|
-
run: npm run build
|
|
38
|
-
|
|
39
|
-
- name: Extract version from tag
|
|
40
|
-
id: version
|
|
41
|
-
run: |
|
|
42
|
-
if [[ ${{ github.event_name }} == "push" && ${{ github.ref }} == refs/tags/* ]]; then
|
|
43
|
-
VERSION=${GITHUB_REF#refs/tags/v}
|
|
44
|
-
else
|
|
45
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
46
|
-
fi
|
|
47
|
-
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
48
|
-
echo "Publishing version: $VERSION"
|
|
49
|
-
|
|
50
|
-
- name: Update server.json version
|
|
51
|
-
run: |
|
|
52
|
-
VERSION=${{ steps.version.outputs.version }}
|
|
53
|
-
jq --arg v "$VERSION" '.version = $v | .packages[] |= if .registryType == "npm" then .version = $v else . end' server.json > tmp && mv tmp server.json
|
|
54
|
-
echo "Updated server.json:"
|
|
55
|
-
cat server.json
|
|
56
|
-
|
|
57
|
-
- name: Publish to npm
|
|
58
|
-
run: npm publish
|
|
59
|
-
continue-on-error: true
|
|
60
|
-
env:
|
|
61
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
62
|
-
|
|
63
|
-
- name: Install MCP Publisher
|
|
64
|
-
run: |
|
|
65
|
-
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.4.0/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
|
|
66
|
-
chmod +x mcp-publisher
|
|
67
|
-
|
|
68
|
-
- name: Login to MCP Registry
|
|
69
|
-
run: ./mcp-publisher login github-oidc
|
|
70
|
-
|
|
71
|
-
- name: Publish to MCP Registry
|
|
72
|
-
run: ./mcp-publisher publish
|
|
73
|
-
|
|
74
|
-
- name: Verify publication
|
|
75
|
-
if: ${{ always() }}
|
|
76
|
-
run: |
|
|
77
|
-
echo "Waiting for registry to update..."
|
|
78
|
-
sleep 30
|
|
79
|
-
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.ChiR24/unreal-engine-mcp" | jq '.'
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: Release Drafter
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
workflow_dispatch:
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
update_release_draft:
|
|
14
|
-
permissions:
|
|
15
|
-
contents: write
|
|
16
|
-
pull-requests: write
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
timeout-minutes: 15
|
|
19
|
-
steps:
|
|
20
|
-
- uses: release-drafter/release-drafter@v6
|
|
21
|
-
with:
|
|
22
|
-
config-name: release-drafter-config.yml
|
|
23
|
-
env:
|
|
24
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
name: Create GitHub Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*.*.*'
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
contents: write
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
release:
|
|
13
|
-
name: Create Release
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
|
|
16
|
-
steps:
|
|
17
|
-
- name: Checkout code
|
|
18
|
-
uses: actions/checkout@v6 # v4
|
|
19
|
-
with:
|
|
20
|
-
fetch-depth: 0
|
|
21
|
-
|
|
22
|
-
- name: Setup Node.js
|
|
23
|
-
uses: actions/setup-node@v6 # v4
|
|
24
|
-
with:
|
|
25
|
-
node-version: '20'
|
|
26
|
-
cache: 'npm'
|
|
27
|
-
|
|
28
|
-
- name: Install dependencies
|
|
29
|
-
run: npm ci
|
|
30
|
-
|
|
31
|
-
- name: Build package
|
|
32
|
-
run: npm run build
|
|
33
|
-
|
|
34
|
-
- name: Extract version from tag
|
|
35
|
-
id: version
|
|
36
|
-
run: |
|
|
37
|
-
VERSION=${GITHUB_REF#refs/tags/v}
|
|
38
|
-
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
39
|
-
echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
|
40
|
-
echo "Releasing version: $VERSION"
|
|
41
|
-
|
|
42
|
-
- name: Extract changelog for this version
|
|
43
|
-
id: changelog
|
|
44
|
-
run: |
|
|
45
|
-
VERSION=${{ steps.version.outputs.version }}
|
|
46
|
-
|
|
47
|
-
CHANGELOG=$(awk -v ver="$VERSION" '
|
|
48
|
-
$0 ~ "## .*\\[" ver "\\]" { found=1; next }
|
|
49
|
-
found && /^## .*\[/ { exit }
|
|
50
|
-
found { print }
|
|
51
|
-
' CHANGELOG.md)
|
|
52
|
-
|
|
53
|
-
if [ -z "$CHANGELOG" ]; then
|
|
54
|
-
CHANGELOG="Release ${{ steps.version.outputs.tag }}"
|
|
55
|
-
fi
|
|
56
|
-
|
|
57
|
-
echo "$CHANGELOG" > release_notes.md
|
|
58
|
-
echo "Generated release notes:"
|
|
59
|
-
cat release_notes.md
|
|
60
|
-
|
|
61
|
-
- name: Create dist archive
|
|
62
|
-
run: |
|
|
63
|
-
mkdir -p release-artifacts
|
|
64
|
-
|
|
65
|
-
tar -czvf release-artifacts/unreal-engine-mcp-server-${{ steps.version.outputs.version }}.tar.gz \
|
|
66
|
-
dist/ \
|
|
67
|
-
package.json \
|
|
68
|
-
README.md \
|
|
69
|
-
CHANGELOG.md \
|
|
70
|
-
LICENSE
|
|
71
|
-
|
|
72
|
-
zip -r release-artifacts/unreal-engine-mcp-server-${{ steps.version.outputs.version }}.zip \
|
|
73
|
-
dist/ \
|
|
74
|
-
package.json \
|
|
75
|
-
README.md \
|
|
76
|
-
CHANGELOG.md \
|
|
77
|
-
LICENSE
|
|
78
|
-
|
|
79
|
-
- name: Create Plugin archive
|
|
80
|
-
run: |
|
|
81
|
-
if [ -d "plugins/McpAutomationBridge" ]; then
|
|
82
|
-
tar -czvf release-artifacts/McpAutomationBridge-plugin-${{ steps.version.outputs.version }}.tar.gz \
|
|
83
|
-
plugins/McpAutomationBridge/
|
|
84
|
-
|
|
85
|
-
zip -r release-artifacts/McpAutomationBridge-plugin-${{ steps.version.outputs.version }}.zip \
|
|
86
|
-
plugins/McpAutomationBridge/
|
|
87
|
-
|
|
88
|
-
echo "Plugin archive created"
|
|
89
|
-
else
|
|
90
|
-
echo "Plugin directory not found, skipping plugin archive"
|
|
91
|
-
fi
|
|
92
|
-
|
|
93
|
-
- name: Create GitHub Release
|
|
94
|
-
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
|
|
95
|
-
with:
|
|
96
|
-
name: Release ${{ steps.version.outputs.tag }}
|
|
97
|
-
body_path: release_notes.md
|
|
98
|
-
draft: false
|
|
99
|
-
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
|
|
100
|
-
files: |
|
|
101
|
-
release-artifacts/*
|
|
102
|
-
env:
|
|
103
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
104
|
-
|
|
105
|
-
- name: Release Summary
|
|
106
|
-
run: |
|
|
107
|
-
echo "## Release Created Successfully! 🎉" >> $GITHUB_STEP_SUMMARY
|
|
108
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
109
|
-
echo "**Version:** ${{ steps.version.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
|
|
110
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
111
|
-
echo "### Artifacts:" >> $GITHUB_STEP_SUMMARY
|
|
112
|
-
ls -la release-artifacts/ >> $GITHUB_STEP_SUMMARY
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: "Semantic Pull Request"
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request_target:
|
|
5
|
-
types:
|
|
6
|
-
- opened
|
|
7
|
-
- edited
|
|
8
|
-
- synchronize
|
|
9
|
-
|
|
10
|
-
permissions:
|
|
11
|
-
pull-requests: read
|
|
12
|
-
statuses: write
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
main:
|
|
16
|
-
name: Validate PR Title
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
steps:
|
|
19
|
-
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
|
|
20
|
-
env:
|
|
21
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
-
with:
|
|
23
|
-
types: |
|
|
24
|
-
feat
|
|
25
|
-
fix
|
|
26
|
-
docs
|
|
27
|
-
style
|
|
28
|
-
refactor
|
|
29
|
-
perf
|
|
30
|
-
test
|
|
31
|
-
build
|
|
32
|
-
ci
|
|
33
|
-
chore
|
|
34
|
-
revert
|
|
35
|
-
requireScope: false
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: Smoke Test (Mock Mode)
|
|
2
|
-
permissions:
|
|
3
|
-
contents: read
|
|
4
|
-
|
|
5
|
-
on:
|
|
6
|
-
push:
|
|
7
|
-
branches: [ "main" ]
|
|
8
|
-
pull_request:
|
|
9
|
-
branches: [ "main" ]
|
|
10
|
-
|
|
11
|
-
concurrency:
|
|
12
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
13
|
-
cancel-in-progress: true
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
smoke-test:
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
steps:
|
|
19
|
-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
20
|
-
|
|
21
|
-
- name: Use Node.js
|
|
22
|
-
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
|
23
|
-
with:
|
|
24
|
-
node-version: '20.x'
|
|
25
|
-
cache: 'npm'
|
|
26
|
-
|
|
27
|
-
- name: Install dependencies
|
|
28
|
-
run: npm ci
|
|
29
|
-
|
|
30
|
-
- name: Build
|
|
31
|
-
run: npm run build
|
|
32
|
-
|
|
33
|
-
- name: Run Smoke Test
|
|
34
|
-
run: npm run test:smoke
|
|
35
|
-
env:
|
|
36
|
-
MOCK_UNREAL_CONNECTION: "true"
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: '🏷️ Stale Issue and PR Management'
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
schedule:
|
|
5
|
-
- cron: '0 0 * * *'
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
issues: write
|
|
10
|
-
pull-requests: write
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
stale:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1
|
|
17
|
-
with:
|
|
18
|
-
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions!'
|
|
19
|
-
stale-pr-message: 'This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Please update your PR or add a comment if you would like to keep it open.'
|
|
20
|
-
close-issue-message: 'This issue was closed because it has been stale for 14 days with no activity.'
|
|
21
|
-
close-pr-message: 'This pull request was closed because it has been stale for 14 days with no activity.'
|
|
22
|
-
days-before-stale: 60
|
|
23
|
-
days-before-close: 14
|
|
24
|
-
stale-issue-label: 'stale'
|
|
25
|
-
stale-pr-label: 'stale'
|
|
26
|
-
exempt-issue-labels: 'pinned,security,bug,enhancement'
|
|
27
|
-
exempt-pr-labels: 'pinned,security'
|
|
28
|
-
operations-per-run: 100
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
# Contributing to Unreal Engine MCP Server
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing! This document provides guidelines and instructions for contributing.
|
|
4
|
-
|
|
5
|
-
## 📋 Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Code of Conduct](#code-of-conduct)
|
|
8
|
-
- [Getting Started](#getting-started)
|
|
9
|
-
- [Development Workflow](#development-workflow)
|
|
10
|
-
- [Pull Request Process](#pull-request-process)
|
|
11
|
-
- [Coding Standards](#coding-standards)
|
|
12
|
-
|
|
13
|
-
## Code of Conduct
|
|
14
|
-
|
|
15
|
-
Please be respectful and constructive in all interactions. We're building something together.
|
|
16
|
-
|
|
17
|
-
## Getting Started
|
|
18
|
-
|
|
19
|
-
### Prerequisites
|
|
20
|
-
|
|
21
|
-
- **Node.js** 18+
|
|
22
|
-
- **Unreal Engine** 5.0-5.7 (for live testing)
|
|
23
|
-
- **Git**
|
|
24
|
-
|
|
25
|
-
### Setup
|
|
26
|
-
|
|
27
|
-
1. Fork and clone the repository:
|
|
28
|
-
```bash
|
|
29
|
-
git clone https://github.com/ChiR24/Unreal_mcp.git
|
|
30
|
-
cd unreal-engine-mcp-server
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
2. Install dependencies:
|
|
34
|
-
```bash
|
|
35
|
-
npm install
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
3. Build the project:
|
|
39
|
-
```bash
|
|
40
|
-
npm run build
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
4. Run smoke tests (no Unreal needed):
|
|
44
|
-
```bash
|
|
45
|
-
npm run test:smoke
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Development Workflow
|
|
49
|
-
|
|
50
|
-
### Branch Naming
|
|
51
|
-
|
|
52
|
-
Use descriptive branch names:
|
|
53
|
-
- `feat/add-new-tool` - New features
|
|
54
|
-
- `fix/connection-timeout` - Bug fixes
|
|
55
|
-
- `docs/update-readme` - Documentation
|
|
56
|
-
- `refactor/cleanup-bridge` - Code refactoring
|
|
57
|
-
|
|
58
|
-
### Running Tests
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# Smoke test (CI-compatible, no Unreal needed)
|
|
62
|
-
npm run test:smoke
|
|
63
|
-
|
|
64
|
-
# Live tests (requires Unreal Editor running with plugin)
|
|
65
|
-
npm run test:all
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Building
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
npm run build # Full build (TypeScript + WASM)
|
|
72
|
-
npm run build:core # TypeScript only
|
|
73
|
-
npm run build:wasm # WASM only (requires wasm-pack)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Pull Request Process
|
|
77
|
-
|
|
78
|
-
### Before Submitting
|
|
79
|
-
|
|
80
|
-
1. ✅ Run `npm run lint` and fix any issues
|
|
81
|
-
2. ✅ Run `npm run test:smoke` to verify basic functionality
|
|
82
|
-
3. ✅ Update documentation if adding new features
|
|
83
|
-
4. ✅ Update `CHANGELOG.md` under `[Unreleased]`
|
|
84
|
-
|
|
85
|
-
### PR Title Format
|
|
86
|
-
|
|
87
|
-
We use [Conventional Commits](https://www.conventionalcommits.org/). PR titles must follow this format:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
<type>: <description>
|
|
91
|
-
|
|
92
|
-
Examples:
|
|
93
|
-
feat: add new animation blending tool
|
|
94
|
-
fix: resolve WebSocket connection timeout
|
|
95
|
-
docs: update installation instructions
|
|
96
|
-
refactor: simplify blueprint graph handler
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
|
|
100
|
-
|
|
101
|
-
### Review Process
|
|
102
|
-
|
|
103
|
-
1. All PRs require at least one approval
|
|
104
|
-
2. CI must pass (lint, smoke test, CodeQL)
|
|
105
|
-
3. Maintainers may request changes
|
|
106
|
-
|
|
107
|
-
## Coding Standards
|
|
108
|
-
|
|
109
|
-
### TypeScript
|
|
110
|
-
|
|
111
|
-
- Use strict TypeScript (`strict: true`)
|
|
112
|
-
- Prefer `async/await` over raw Promises
|
|
113
|
-
- Use descriptive variable names
|
|
114
|
-
- Add JSDoc comments for public APIs
|
|
115
|
-
|
|
116
|
-
### C++ (Plugin)
|
|
117
|
-
|
|
118
|
-
- Follow Unreal Engine coding standards
|
|
119
|
-
- Use `UPROPERTY`/`UFUNCTION` macros appropriately
|
|
120
|
-
- Keep thread safety in mind for async operations
|
|
121
|
-
|
|
122
|
-
### File Organization
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
src/
|
|
126
|
-
├── tools/ # MCP tool implementations
|
|
127
|
-
├── automation/ # Unreal bridge logic
|
|
128
|
-
├── utils/ # Shared utilities
|
|
129
|
-
└── services/ # Background services
|
|
130
|
-
|
|
131
|
-
Plugins/
|
|
132
|
-
└── McpAutomationBridge/ # C++ Unreal plugin
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Questions?
|
|
136
|
-
|
|
137
|
-
- Open a [Discussion](../../discussions) for questions
|
|
138
|
-
- Open an [Issue](../../issues) for bugs or feature requests
|
|
139
|
-
|
|
140
|
-
Thank you for contributing! 🎮
|
package/Dockerfile
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Multi-stage build for efficient image size
|
|
2
|
-
FROM node:22-alpine AS builder
|
|
3
|
-
|
|
4
|
-
# Set working directory
|
|
5
|
-
WORKDIR /app
|
|
6
|
-
|
|
7
|
-
# Copy package files
|
|
8
|
-
COPY package*.json ./
|
|
9
|
-
|
|
10
|
-
# Install ALL dependencies (including dev) for building - skip prepare script
|
|
11
|
-
RUN npm ci --ignore-scripts
|
|
12
|
-
|
|
13
|
-
# Copy TypeScript config and source files
|
|
14
|
-
COPY tsconfig.json ./
|
|
15
|
-
COPY src ./src
|
|
16
|
-
|
|
17
|
-
# Build the TypeScript project
|
|
18
|
-
RUN npm run build
|
|
19
|
-
|
|
20
|
-
# Production stage
|
|
21
|
-
FROM cgr.dev/chainguard/node:latest
|
|
22
|
-
|
|
23
|
-
ENV NODE_ENV=production
|
|
24
|
-
|
|
25
|
-
# Chainguard node runs as nonroot by default (user: node)
|
|
26
|
-
WORKDIR /app
|
|
27
|
-
|
|
28
|
-
# Copy only package manifests and install production deps in a clean layer
|
|
29
|
-
COPY --chown=node:node package*.json ./
|
|
30
|
-
RUN npm ci --omit=dev --ignore-scripts && npm cache clean --force
|
|
31
|
-
|
|
32
|
-
# Copy built application from builder stage
|
|
33
|
-
COPY --chown=node:node --from=builder /app/dist ./dist
|
|
34
|
-
|
|
35
|
-
# No shell, no init needed; run as provided nonroot user
|
|
36
|
-
ENTRYPOINT ["/usr/bin/node"]
|
|
37
|
-
CMD ["dist/cli.js"]
|