unreal-engine-mcp-server 0.4.7 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +26 -0
- package/.env.production +38 -7
- package/.eslintrc.json +0 -54
- package/.eslintrc.override.json +8 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +94 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +56 -0
- package/.github/copilot-instructions.md +478 -45
- package/.github/dependabot.yml +19 -0
- package/.github/labeler.yml +24 -0
- package/.github/labels.yml +70 -0
- package/.github/pull_request_template.md +42 -0
- package/.github/release-drafter.yml +148 -0
- package/.github/workflows/auto-merge.yml +38 -0
- package/.github/workflows/ci.yml +38 -0
- package/.github/workflows/dependency-review.yml +17 -0
- package/.github/workflows/gemini-issue-triage.yml +172 -0
- package/.github/workflows/greetings.yml +23 -0
- package/.github/workflows/labeler.yml +16 -0
- package/.github/workflows/links.yml +80 -0
- package/.github/workflows/pr-size-labeler.yml +137 -0
- package/.github/workflows/publish-mcp.yml +12 -7
- package/.github/workflows/release-drafter.yml +23 -0
- package/.github/workflows/release.yml +112 -0
- package/.github/workflows/semantic-pull-request.yml +35 -0
- package/.github/workflows/smoke-test.yml +36 -0
- package/.github/workflows/stale.yml +28 -0
- package/CHANGELOG.md +267 -31
- package/CONTRIBUTING.md +140 -0
- package/README.md +166 -71
- package/claude_desktop_config_example.json +7 -6
- package/dist/automation/bridge.d.ts +50 -0
- package/dist/automation/bridge.js +452 -0
- package/dist/automation/connection-manager.d.ts +23 -0
- package/dist/automation/connection-manager.js +107 -0
- package/dist/automation/handshake.d.ts +11 -0
- package/dist/automation/handshake.js +89 -0
- package/dist/automation/index.d.ts +3 -0
- package/dist/automation/index.js +3 -0
- package/dist/automation/message-handler.d.ts +12 -0
- package/dist/automation/message-handler.js +149 -0
- package/dist/automation/request-tracker.d.ts +25 -0
- package/dist/automation/request-tracker.js +98 -0
- package/dist/automation/types.d.ts +130 -0
- package/dist/automation/types.js +2 -0
- package/dist/cli.js +32 -5
- package/dist/config.d.ts +27 -0
- package/dist/config.js +60 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.js +12 -0
- package/dist/graphql/resolvers.d.ts +268 -0
- package/dist/graphql/resolvers.js +743 -0
- package/dist/graphql/schema.d.ts +5 -0
- package/dist/graphql/schema.js +437 -0
- package/dist/graphql/server.d.ts +26 -0
- package/dist/graphql/server.js +115 -0
- package/dist/graphql/types.d.ts +7 -0
- package/dist/graphql/types.js +2 -0
- package/dist/handlers/resource-handlers.d.ts +20 -0
- package/dist/handlers/resource-handlers.js +180 -0
- package/dist/index.d.ts +31 -18
- package/dist/index.js +119 -619
- package/dist/prompts/index.js +4 -4
- package/dist/resources/actors.d.ts +17 -12
- package/dist/resources/actors.js +56 -76
- package/dist/resources/assets.d.ts +6 -14
- package/dist/resources/assets.js +115 -147
- package/dist/resources/levels.d.ts +13 -13
- package/dist/resources/levels.js +25 -34
- package/dist/server/resource-registry.d.ts +20 -0
- package/dist/server/resource-registry.js +37 -0
- package/dist/server/tool-registry.d.ts +23 -0
- package/dist/server/tool-registry.js +322 -0
- package/dist/server-setup.d.ts +21 -0
- package/dist/server-setup.js +111 -0
- package/dist/services/health-monitor.d.ts +34 -0
- package/dist/services/health-monitor.js +105 -0
- package/dist/services/metrics-server.d.ts +11 -0
- package/dist/services/metrics-server.js +105 -0
- package/dist/tools/actors.d.ts +147 -9
- package/dist/tools/actors.js +350 -311
- package/dist/tools/animation.d.ts +135 -4
- package/dist/tools/animation.js +510 -411
- package/dist/tools/assets.d.ts +117 -19
- package/dist/tools/assets.js +259 -284
- package/dist/tools/audio.d.ts +102 -42
- package/dist/tools/audio.js +272 -685
- package/dist/tools/base-tool.d.ts +17 -0
- package/dist/tools/base-tool.js +46 -0
- package/dist/tools/behavior-tree.d.ts +94 -0
- package/dist/tools/behavior-tree.js +39 -0
- package/dist/tools/blueprint/helpers.d.ts +29 -0
- package/dist/tools/blueprint/helpers.js +182 -0
- package/dist/tools/blueprint.d.ts +228 -118
- package/dist/tools/blueprint.js +685 -832
- package/dist/tools/consolidated-tool-definitions.d.ts +5462 -1781
- package/dist/tools/consolidated-tool-definitions.js +829 -496
- package/dist/tools/consolidated-tool-handlers.d.ts +2 -1
- package/dist/tools/consolidated-tool-handlers.js +211 -1026
- package/dist/tools/debug.d.ts +143 -85
- package/dist/tools/debug.js +234 -180
- package/dist/tools/dynamic-handler-registry.d.ts +11 -0
- package/dist/tools/dynamic-handler-registry.js +101 -0
- package/dist/tools/editor.d.ts +139 -18
- package/dist/tools/editor.js +239 -244
- package/dist/tools/engine.d.ts +10 -4
- package/dist/tools/engine.js +13 -5
- package/dist/tools/environment.d.ts +36 -0
- package/dist/tools/environment.js +267 -0
- package/dist/tools/foliage.d.ts +105 -14
- package/dist/tools/foliage.js +219 -331
- package/dist/tools/handlers/actor-handlers.d.ts +3 -0
- package/dist/tools/handlers/actor-handlers.js +232 -0
- package/dist/tools/handlers/animation-handlers.d.ts +3 -0
- package/dist/tools/handlers/animation-handlers.js +185 -0
- package/dist/tools/handlers/argument-helper.d.ts +16 -0
- package/dist/tools/handlers/argument-helper.js +80 -0
- package/dist/tools/handlers/asset-handlers.d.ts +3 -0
- package/dist/tools/handlers/asset-handlers.js +496 -0
- package/dist/tools/handlers/audio-handlers.d.ts +3 -0
- package/dist/tools/handlers/audio-handlers.js +166 -0
- package/dist/tools/handlers/blueprint-handlers.d.ts +4 -0
- package/dist/tools/handlers/blueprint-handlers.js +358 -0
- package/dist/tools/handlers/common-handlers.d.ts +14 -0
- package/dist/tools/handlers/common-handlers.js +56 -0
- package/dist/tools/handlers/editor-handlers.d.ts +3 -0
- package/dist/tools/handlers/editor-handlers.js +119 -0
- package/dist/tools/handlers/effect-handlers.d.ts +3 -0
- package/dist/tools/handlers/effect-handlers.js +171 -0
- package/dist/tools/handlers/environment-handlers.d.ts +3 -0
- package/dist/tools/handlers/environment-handlers.js +170 -0
- package/dist/tools/handlers/graph-handlers.d.ts +3 -0
- package/dist/tools/handlers/graph-handlers.js +90 -0
- package/dist/tools/handlers/input-handlers.d.ts +3 -0
- package/dist/tools/handlers/input-handlers.js +21 -0
- package/dist/tools/handlers/inspect-handlers.d.ts +3 -0
- package/dist/tools/handlers/inspect-handlers.js +383 -0
- package/dist/tools/handlers/level-handlers.d.ts +3 -0
- package/dist/tools/handlers/level-handlers.js +237 -0
- package/dist/tools/handlers/lighting-handlers.d.ts +3 -0
- package/dist/tools/handlers/lighting-handlers.js +144 -0
- package/dist/tools/handlers/performance-handlers.d.ts +3 -0
- package/dist/tools/handlers/performance-handlers.js +130 -0
- package/dist/tools/handlers/pipeline-handlers.d.ts +3 -0
- package/dist/tools/handlers/pipeline-handlers.js +110 -0
- package/dist/tools/handlers/sequence-handlers.d.ts +3 -0
- package/dist/tools/handlers/sequence-handlers.js +376 -0
- package/dist/tools/handlers/system-handlers.d.ts +4 -0
- package/dist/tools/handlers/system-handlers.js +506 -0
- package/dist/tools/input.d.ts +19 -0
- package/dist/tools/input.js +89 -0
- package/dist/tools/introspection.d.ts +103 -40
- package/dist/tools/introspection.js +425 -568
- package/dist/tools/landscape.d.ts +97 -36
- package/dist/tools/landscape.js +280 -409
- package/dist/tools/level.d.ts +130 -10
- package/dist/tools/level.js +639 -675
- package/dist/tools/lighting.d.ts +77 -38
- package/dist/tools/lighting.js +441 -943
- package/dist/tools/logs.d.ts +3 -3
- package/dist/tools/logs.js +5 -57
- package/dist/tools/materials.d.ts +91 -24
- package/dist/tools/materials.js +190 -118
- package/dist/tools/niagara.d.ts +149 -39
- package/dist/tools/niagara.js +232 -182
- package/dist/tools/performance.d.ts +27 -12
- package/dist/tools/performance.js +204 -122
- package/dist/tools/physics.d.ts +32 -77
- package/dist/tools/physics.js +171 -582
- package/dist/tools/property-dictionary.d.ts +13 -0
- package/dist/tools/property-dictionary.js +82 -0
- package/dist/tools/sequence.d.ts +73 -48
- package/dist/tools/sequence.js +196 -748
- package/dist/tools/tool-definition-utils.d.ts +59 -0
- package/dist/tools/tool-definition-utils.js +35 -0
- package/dist/tools/ui.d.ts +66 -34
- package/dist/tools/ui.js +134 -214
- package/dist/types/env.d.ts +0 -3
- package/dist/types/env.js +0 -7
- package/dist/types/tool-interfaces.d.ts +898 -0
- package/dist/types/tool-interfaces.js +2 -0
- package/dist/types/tool-types.d.ts +183 -19
- package/dist/types/tool-types.js +0 -4
- package/dist/unreal-bridge.d.ts +24 -131
- package/dist/unreal-bridge.js +364 -1506
- package/dist/utils/command-validator.d.ts +9 -0
- package/dist/utils/command-validator.js +67 -0
- package/dist/utils/elicitation.d.ts +1 -1
- package/dist/utils/elicitation.js +12 -15
- package/dist/utils/error-handler.d.ts +2 -51
- package/dist/utils/error-handler.js +11 -87
- package/dist/utils/ini-reader.d.ts +3 -0
- package/dist/utils/ini-reader.js +69 -0
- package/dist/utils/logger.js +9 -6
- package/dist/utils/normalize.d.ts +3 -0
- package/dist/utils/normalize.js +56 -0
- package/dist/utils/response-factory.d.ts +7 -0
- package/dist/utils/response-factory.js +33 -0
- package/dist/utils/response-validator.d.ts +3 -24
- package/dist/utils/response-validator.js +130 -81
- package/dist/utils/result-helpers.d.ts +4 -5
- package/dist/utils/result-helpers.js +15 -16
- package/dist/utils/safe-json.js +5 -11
- package/dist/utils/unreal-command-queue.d.ts +24 -0
- package/dist/utils/unreal-command-queue.js +120 -0
- package/dist/utils/validation.d.ts +0 -40
- package/dist/utils/validation.js +1 -78
- package/dist/wasm/index.d.ts +70 -0
- package/dist/wasm/index.js +535 -0
- package/docs/GraphQL-API.md +888 -0
- package/docs/Migration-Guide-v0.5.0.md +692 -0
- package/docs/Roadmap.md +53 -0
- package/docs/WebAssembly-Integration.md +628 -0
- package/docs/editor-plugin-extension.md +370 -0
- package/docs/handler-mapping.md +242 -0
- package/docs/native-automation-progress.md +128 -0
- package/docs/testing-guide.md +423 -0
- package/mcp-config-example.json +6 -6
- package/package.json +60 -27
- package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +8 -0
- package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +64 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +189 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +22 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +30 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +1983 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +72 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +46 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +581 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +2394 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +300 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +2807 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +1087 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +488 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +643 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +31 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +1184 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +5652 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +152 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +2614 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +42 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +1237 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +1701 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +2145 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +954 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +209 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +41 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +1164 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +762 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +634 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +136 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +494 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +278 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +625 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +401 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +67 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +735 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +2634 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +189 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +917 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +39 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +2670 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +519 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +38 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +668 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +346 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +1330 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +149 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +783 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +115 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +796 -0
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +117 -0
- package/scripts/check-unreal-connection.mjs +19 -0
- package/scripts/clean-tmp.js +23 -0
- package/scripts/patch-wasm.js +26 -0
- package/scripts/run-all-tests.mjs +131 -0
- package/scripts/smoke-test.ts +94 -0
- package/scripts/sync-mcp-plugin.js +143 -0
- package/scripts/test-no-plugin-alternates.mjs +113 -0
- package/scripts/validate-server.js +46 -0
- package/scripts/verify-automation-bridge.js +200 -0
- package/server.json +57 -21
- package/src/automation/bridge.ts +558 -0
- package/src/automation/connection-manager.ts +130 -0
- package/src/automation/handshake.ts +99 -0
- package/src/automation/index.ts +2 -0
- package/src/automation/message-handler.ts +167 -0
- package/src/automation/request-tracker.ts +123 -0
- package/src/automation/types.ts +107 -0
- package/src/cli.ts +33 -6
- package/src/config.ts +73 -0
- package/src/constants.ts +12 -0
- package/src/graphql/resolvers.ts +1010 -0
- package/src/graphql/schema.ts +452 -0
- package/src/graphql/server.ts +154 -0
- package/src/graphql/types.ts +7 -0
- package/src/handlers/resource-handlers.ts +186 -0
- package/src/index.ts +152 -663
- package/src/prompts/index.ts +4 -4
- package/src/resources/actors.ts +58 -76
- package/src/resources/assets.ts +147 -134
- package/src/resources/levels.ts +28 -33
- package/src/server/resource-registry.ts +47 -0
- package/src/server/tool-registry.ts +354 -0
- package/src/server-setup.ts +148 -0
- package/src/services/health-monitor.ts +132 -0
- package/src/services/metrics-server.ts +142 -0
- package/src/tools/actors.ts +417 -322
- package/src/tools/animation.ts +671 -461
- package/src/tools/assets.ts +353 -289
- package/src/tools/audio.ts +323 -766
- package/src/tools/base-tool.ts +52 -0
- package/src/tools/behavior-tree.ts +45 -0
- package/src/tools/blueprint/helpers.ts +189 -0
- package/src/tools/blueprint.ts +787 -965
- package/src/tools/consolidated-tool-definitions.ts +993 -515
- package/src/tools/consolidated-tool-handlers.ts +272 -1139
- package/src/tools/debug.ts +292 -187
- package/src/tools/dynamic-handler-registry.ts +151 -0
- package/src/tools/editor.ts +309 -246
- package/src/tools/engine.ts +14 -3
- package/src/tools/environment.ts +287 -0
- package/src/tools/foliage.ts +314 -379
- package/src/tools/handlers/actor-handlers.ts +271 -0
- package/src/tools/handlers/animation-handlers.ts +237 -0
- package/src/tools/handlers/argument-helper.ts +142 -0
- package/src/tools/handlers/asset-handlers.ts +532 -0
- package/src/tools/handlers/audio-handlers.ts +194 -0
- package/src/tools/handlers/blueprint-handlers.ts +380 -0
- package/src/tools/handlers/common-handlers.ts +87 -0
- package/src/tools/handlers/editor-handlers.ts +123 -0
- package/src/tools/handlers/effect-handlers.ts +220 -0
- package/src/tools/handlers/environment-handlers.ts +183 -0
- package/src/tools/handlers/graph-handlers.ts +116 -0
- package/src/tools/handlers/input-handlers.ts +28 -0
- package/src/tools/handlers/inspect-handlers.ts +450 -0
- package/src/tools/handlers/level-handlers.ts +252 -0
- package/src/tools/handlers/lighting-handlers.ts +147 -0
- package/src/tools/handlers/performance-handlers.ts +132 -0
- package/src/tools/handlers/pipeline-handlers.ts +127 -0
- package/src/tools/handlers/sequence-handlers.ts +415 -0
- package/src/tools/handlers/system-handlers.ts +564 -0
- package/src/tools/input.ts +101 -0
- package/src/tools/introspection.ts +493 -584
- package/src/tools/landscape.ts +394 -489
- package/src/tools/level.ts +752 -694
- package/src/tools/lighting.ts +583 -984
- package/src/tools/logs.ts +9 -57
- package/src/tools/materials.ts +231 -121
- package/src/tools/niagara.ts +293 -168
- package/src/tools/performance.ts +320 -168
- package/src/tools/physics.ts +268 -613
- package/src/tools/property-dictionary.ts +98 -0
- package/src/tools/sequence.ts +255 -815
- package/src/tools/tool-definition-utils.ts +35 -0
- package/src/tools/ui.ts +207 -283
- package/src/types/env.ts +0 -10
- package/src/types/tool-interfaces.ts +250 -0
- package/src/types/tool-types.ts +243 -21
- package/src/unreal-bridge.ts +460 -1550
- package/src/utils/command-validator.ts +75 -0
- package/src/utils/elicitation.ts +10 -7
- package/src/utils/error-handler.ts +14 -90
- package/src/utils/ini-reader.ts +86 -0
- package/src/utils/logger.ts +8 -3
- package/src/utils/normalize.ts +60 -0
- package/src/utils/response-factory.ts +39 -0
- package/src/utils/response-validator.ts +176 -56
- package/src/utils/result-helpers.ts +21 -19
- package/src/utils/safe-json.ts +14 -11
- package/src/utils/unreal-command-queue.ts +152 -0
- package/src/utils/validation.ts +4 -1
- package/src/wasm/index.ts +838 -0
- package/test-server.mjs +100 -0
- package/tests/run-unreal-tool-tests.mjs +242 -14
- package/tests/test-animation.mjs +44 -0
- package/tests/test-asset-advanced.mjs +82 -0
- package/tests/test-asset-errors.mjs +35 -0
- package/tests/test-audio.mjs +219 -0
- package/tests/test-automation-timeouts.mjs +98 -0
- package/tests/test-behavior-tree.mjs +261 -0
- package/tests/test-blueprint-events.mjs +35 -0
- package/tests/test-blueprint-graph.mjs +79 -0
- package/tests/test-blueprint.mjs +577 -0
- package/tests/test-client-mode.mjs +86 -0
- package/tests/test-console-command.mjs +56 -0
- package/tests/test-control-actor.mjs +425 -0
- package/tests/test-control-editor.mjs +80 -0
- package/tests/test-extra-tools.mjs +38 -0
- package/tests/test-graphql.mjs +322 -0
- package/tests/test-inspect.mjs +72 -0
- package/tests/test-landscape.mjs +60 -0
- package/tests/test-manage-asset.mjs +438 -0
- package/tests/test-manage-level.mjs +70 -0
- package/tests/test-materials.mjs +356 -0
- package/tests/test-niagara.mjs +185 -0
- package/tests/test-no-inline-python.mjs +122 -0
- package/tests/test-plugin-handshake.mjs +82 -0
- package/tests/test-render.mjs +33 -0
- package/tests/test-runner.mjs +933 -0
- package/tests/test-search-assets.mjs +66 -0
- package/tests/test-sequence.mjs +68 -0
- package/tests/test-system.mjs +57 -0
- package/tests/test-wasm.mjs +193 -0
- package/tests/test-world-partition.mjs +215 -0
- package/tsconfig.json +3 -3
- package/wasm/Cargo.lock +363 -0
- package/wasm/Cargo.toml +42 -0
- package/wasm/LICENSE +21 -0
- package/wasm/README.md +253 -0
- package/wasm/src/dependency_resolver.rs +377 -0
- package/wasm/src/lib.rs +153 -0
- package/wasm/src/property_parser.rs +271 -0
- package/wasm/src/transform_math.rs +396 -0
- package/wasm/tests/integration.rs +109 -0
- package/.github/workflows/smithery-build.yml +0 -29
- package/dist/tools/build_environment_advanced.d.ts +0 -65
- package/dist/tools/build_environment_advanced.js +0 -633
- package/dist/tools/rc.d.ts +0 -110
- package/dist/tools/rc.js +0 -437
- package/dist/tools/visual.d.ts +0 -40
- package/dist/tools/visual.js +0 -282
- package/dist/utils/http.d.ts +0 -6
- package/dist/utils/http.js +0 -151
- package/dist/utils/python-output.d.ts +0 -18
- package/dist/utils/python-output.js +0 -290
- package/dist/utils/python.d.ts +0 -2
- package/dist/utils/python.js +0 -4
- package/dist/utils/stdio-redirect.d.ts +0 -2
- package/dist/utils/stdio-redirect.js +0 -20
- package/docs/unreal-tool-test-cases.md +0 -574
- package/smithery.yaml +0 -29
- package/src/tools/build_environment_advanced.ts +0 -732
- package/src/tools/rc.ts +0 -515
- package/src/tools/visual.ts +0 -281
- package/src/utils/http.ts +0 -187
- package/src/utils/python-output.ts +0 -351
- package/src/utils/python.ts +0 -3
- package/src/utils/stdio-redirect.ts +0 -18
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-generated TypeScript types from tool schemas
|
|
3
|
-
* This provides type safety and IntelliSense support
|
|
4
|
-
*/
|
|
5
1
|
export interface BaseToolResponse {
|
|
6
2
|
success: boolean;
|
|
7
3
|
message?: string;
|
|
@@ -18,6 +14,7 @@ export interface ManageAssetResponse extends BaseToolResponse {
|
|
|
18
14
|
assets?: AssetInfo[];
|
|
19
15
|
paths?: string[];
|
|
20
16
|
materialPath?: string;
|
|
17
|
+
materialInstancePath?: string;
|
|
21
18
|
}
|
|
22
19
|
export interface Vector3D {
|
|
23
20
|
x: number;
|
|
@@ -31,8 +28,25 @@ export interface Rotation3D {
|
|
|
31
28
|
}
|
|
32
29
|
export interface ControlActorResponse extends BaseToolResponse {
|
|
33
30
|
actor?: string;
|
|
34
|
-
|
|
31
|
+
actorName?: string;
|
|
32
|
+
actorPath?: string;
|
|
33
|
+
componentName?: string;
|
|
34
|
+
componentPath?: string;
|
|
35
|
+
componentClass?: string;
|
|
36
|
+
componentPaths?: Array<{
|
|
37
|
+
name: string;
|
|
38
|
+
path: string;
|
|
39
|
+
class?: string;
|
|
40
|
+
}>;
|
|
41
|
+
components?: Array<Record<string, unknown>>;
|
|
42
|
+
actors?: Array<Record<string, unknown>>;
|
|
43
|
+
deleted?: string | string[];
|
|
44
|
+
deletedCount?: number;
|
|
45
|
+
missing?: string[];
|
|
35
46
|
physicsEnabled?: boolean;
|
|
47
|
+
visible?: boolean;
|
|
48
|
+
tag?: string;
|
|
49
|
+
snapshotName?: string;
|
|
36
50
|
}
|
|
37
51
|
export interface ControlEditorResponse extends BaseToolResponse {
|
|
38
52
|
playing?: boolean;
|
|
@@ -52,6 +66,13 @@ export interface AnimationPhysicsResponse extends BaseToolResponse {
|
|
|
52
66
|
playing?: boolean;
|
|
53
67
|
playRate?: number;
|
|
54
68
|
ragdollActive?: boolean;
|
|
69
|
+
path?: string;
|
|
70
|
+
blendSpacePath?: string;
|
|
71
|
+
skeletonPath?: string;
|
|
72
|
+
controlRigPath?: string;
|
|
73
|
+
twoDimensional?: boolean;
|
|
74
|
+
warnings?: string[];
|
|
75
|
+
details?: unknown;
|
|
55
76
|
}
|
|
56
77
|
export interface CreateEffectResponse extends BaseToolResponse {
|
|
57
78
|
effectName?: string;
|
|
@@ -123,6 +144,59 @@ export interface ToolParameters {
|
|
|
123
144
|
actorName: string;
|
|
124
145
|
force: Vector3D;
|
|
125
146
|
};
|
|
147
|
+
SpawnBlueprintParams: {
|
|
148
|
+
blueprintPath: string;
|
|
149
|
+
actorName?: string;
|
|
150
|
+
location?: Vector3D;
|
|
151
|
+
rotation?: Rotation3D;
|
|
152
|
+
};
|
|
153
|
+
SetTransformParams: {
|
|
154
|
+
actorName: string;
|
|
155
|
+
location?: Vector3D;
|
|
156
|
+
rotation?: Rotation3D;
|
|
157
|
+
scale?: Vector3D;
|
|
158
|
+
};
|
|
159
|
+
SetVisibilityParams: {
|
|
160
|
+
actorName: string;
|
|
161
|
+
visible: boolean;
|
|
162
|
+
};
|
|
163
|
+
ComponentParams: {
|
|
164
|
+
actorName: string;
|
|
165
|
+
componentType?: string;
|
|
166
|
+
componentName?: string;
|
|
167
|
+
properties?: Record<string, unknown>;
|
|
168
|
+
};
|
|
169
|
+
DuplicateActorParams: {
|
|
170
|
+
actorName: string;
|
|
171
|
+
newName?: string;
|
|
172
|
+
offset?: Vector3D;
|
|
173
|
+
};
|
|
174
|
+
AttachActorParams: {
|
|
175
|
+
childActor: string;
|
|
176
|
+
parentActor: string;
|
|
177
|
+
};
|
|
178
|
+
DetachActorParams: {
|
|
179
|
+
actorName: string;
|
|
180
|
+
};
|
|
181
|
+
TagActorParams: {
|
|
182
|
+
actorName: string;
|
|
183
|
+
tag: string;
|
|
184
|
+
};
|
|
185
|
+
FindByTagParams: {
|
|
186
|
+
tag: string;
|
|
187
|
+
matchType?: string;
|
|
188
|
+
};
|
|
189
|
+
FindByNameParams: {
|
|
190
|
+
name: string;
|
|
191
|
+
};
|
|
192
|
+
BlueprintVariablesParams: {
|
|
193
|
+
actorName: string;
|
|
194
|
+
variables: Record<string, unknown>;
|
|
195
|
+
};
|
|
196
|
+
SnapshotActorParams: {
|
|
197
|
+
actorName: string;
|
|
198
|
+
snapshotName: string;
|
|
199
|
+
};
|
|
126
200
|
SetCameraParams: {
|
|
127
201
|
location?: Vector3D;
|
|
128
202
|
rotation?: Rotation3D;
|
|
@@ -134,12 +208,12 @@ export interface ToolParameters {
|
|
|
134
208
|
command: string;
|
|
135
209
|
};
|
|
136
210
|
}
|
|
137
|
-
export type AssetAction = 'list' | 'import' | 'create_material';
|
|
138
|
-
export type ActorAction = 'spawn' | 'delete' | 'apply_force';
|
|
211
|
+
export type AssetAction = 'list' | 'import' | 'create_material' | 'create_material_instance';
|
|
212
|
+
export type ActorAction = 'spawn' | 'spawn_blueprint' | 'delete' | 'delete_by_tag' | 'duplicate' | 'apply_force' | 'set_transform' | 'get_transform' | 'set_visibility' | 'add_component' | 'set_component_properties' | 'get_components' | 'add_tag' | 'find_by_tag' | 'find_by_name' | 'set_blueprint_variables' | 'create_snapshot' | 'attach' | 'detach';
|
|
139
213
|
export type EditorAction = 'play' | 'stop' | 'set_camera' | 'set_view_mode';
|
|
140
214
|
export type LevelAction = 'load' | 'save' | 'stream' | 'create_light' | 'build_lighting';
|
|
141
|
-
export type AnimationAction = 'create_animation_bp' | 'play_montage' | 'setup_ragdoll';
|
|
142
|
-
export type EffectAction = 'particle' | 'niagara' | 'debug_shape';
|
|
215
|
+
export type AnimationAction = 'create_animation_bp' | 'create_anim_blueprint' | 'create_animation_blueprint' | 'play_montage' | 'play_anim_montage' | 'setup_ragdoll' | 'activate_ragdoll' | 'configure_vehicle' | 'create_blend_space' | 'create_state_machine' | 'setup_ik' | 'create_procedural_anim' | 'create_blend_tree' | 'setup_retargeting' | 'setup_physics_simulation' | 'create_animation_asset' | 'cleanup';
|
|
216
|
+
export type EffectAction = 'particle' | 'niagara' | 'debug_shape' | 'spawn_niagara' | 'set_niagara_parameter' | 'clear_debug_shapes' | 'create_dynamic_light' | 'cleanup';
|
|
143
217
|
export type BlueprintAction = 'create' | 'add_component';
|
|
144
218
|
export type EnvironmentAction = 'create_landscape' | 'sculpt' | 'add_foliage' | 'paint_foliage';
|
|
145
219
|
export type SystemAction = 'profile' | 'show_fps' | 'set_quality' | 'play_sound' | 'create_widget' | 'show_widget' | 'screenshot' | 'engine_start' | 'engine_quit' | 'read_log';
|
|
@@ -153,6 +227,8 @@ export interface ConsolidatedToolParams {
|
|
|
153
227
|
destinationPath?: string;
|
|
154
228
|
name?: string;
|
|
155
229
|
path?: string;
|
|
230
|
+
parentMaterial?: string;
|
|
231
|
+
parameters?: Record<string, any>;
|
|
156
232
|
};
|
|
157
233
|
control_actor: {
|
|
158
234
|
action: ActorAction;
|
|
@@ -160,13 +236,40 @@ export interface ConsolidatedToolParams {
|
|
|
160
236
|
classPath?: string;
|
|
161
237
|
location?: Vector3D;
|
|
162
238
|
rotation?: Rotation3D;
|
|
239
|
+
scale?: Vector3D;
|
|
163
240
|
force?: Vector3D;
|
|
241
|
+
blueprintPath?: string;
|
|
242
|
+
componentType?: string;
|
|
243
|
+
componentName?: string;
|
|
244
|
+
properties?: Record<string, unknown>;
|
|
245
|
+
visible?: boolean;
|
|
246
|
+
newName?: string;
|
|
247
|
+
offset?: Vector3D;
|
|
248
|
+
tag?: string;
|
|
249
|
+
matchType?: string;
|
|
250
|
+
variables?: Record<string, unknown>;
|
|
251
|
+
snapshotName?: string;
|
|
252
|
+
childActor?: string;
|
|
253
|
+
parentActor?: string;
|
|
254
|
+
actorNames?: string[];
|
|
164
255
|
};
|
|
165
256
|
control_editor: {
|
|
166
257
|
action: EditorAction;
|
|
167
258
|
location?: Vector3D;
|
|
168
259
|
rotation?: Rotation3D;
|
|
169
260
|
viewMode?: string;
|
|
261
|
+
speed?: number;
|
|
262
|
+
filename?: string;
|
|
263
|
+
fov?: number;
|
|
264
|
+
width?: number;
|
|
265
|
+
height?: number;
|
|
266
|
+
command?: string;
|
|
267
|
+
steps?: number;
|
|
268
|
+
frameRate?: number;
|
|
269
|
+
durationSeconds?: number;
|
|
270
|
+
bookmarkName?: string;
|
|
271
|
+
category?: string;
|
|
272
|
+
preferences?: Record<string, unknown>;
|
|
170
273
|
};
|
|
171
274
|
manage_level: {
|
|
172
275
|
action: LevelAction;
|
|
@@ -185,13 +288,63 @@ export interface ConsolidatedToolParams {
|
|
|
185
288
|
action: AnimationAction;
|
|
186
289
|
name?: string;
|
|
187
290
|
actorName?: string;
|
|
291
|
+
savePath?: string;
|
|
292
|
+
path?: string;
|
|
188
293
|
skeletonPath?: string;
|
|
294
|
+
blueprintName?: string;
|
|
295
|
+
blueprintPath?: string;
|
|
189
296
|
montagePath?: string;
|
|
190
297
|
animationPath?: string;
|
|
191
298
|
playRate?: number;
|
|
192
299
|
physicsAssetName?: string;
|
|
193
300
|
blendWeight?: number;
|
|
194
|
-
|
|
301
|
+
meshPath?: string;
|
|
302
|
+
assignToMesh?: boolean;
|
|
303
|
+
previewSkeleton?: string;
|
|
304
|
+
generateConstraints?: boolean;
|
|
305
|
+
vehicleName?: string;
|
|
306
|
+
vehicleType?: 'Car' | 'Bike' | 'Tank' | 'Aircraft' | string;
|
|
307
|
+
wheels?: Array<{
|
|
308
|
+
name: string;
|
|
309
|
+
radius: number;
|
|
310
|
+
width: number;
|
|
311
|
+
mass: number;
|
|
312
|
+
isSteering?: boolean;
|
|
313
|
+
isDriving?: boolean;
|
|
314
|
+
}>;
|
|
315
|
+
engine?: {
|
|
316
|
+
maxRPM: number;
|
|
317
|
+
torqueCurve: Array<[number, number]>;
|
|
318
|
+
};
|
|
319
|
+
transmission?: {
|
|
320
|
+
gears: number[];
|
|
321
|
+
finalDriveRatio: number;
|
|
322
|
+
};
|
|
323
|
+
pluginDependencies?: string[];
|
|
324
|
+
dimensions?: number | [number, number];
|
|
325
|
+
horizontalAxis?: {
|
|
326
|
+
name?: string;
|
|
327
|
+
minValue?: number;
|
|
328
|
+
maxValue?: number;
|
|
329
|
+
};
|
|
330
|
+
verticalAxis?: {
|
|
331
|
+
name?: string;
|
|
332
|
+
minValue?: number;
|
|
333
|
+
maxValue?: number;
|
|
334
|
+
};
|
|
335
|
+
samples?: any[];
|
|
336
|
+
states?: any[];
|
|
337
|
+
transitions?: any[];
|
|
338
|
+
chain?: any;
|
|
339
|
+
effector?: any;
|
|
340
|
+
sourceSkeleton?: string;
|
|
341
|
+
targetSkeleton?: string;
|
|
342
|
+
assets?: string[];
|
|
343
|
+
retargetAssets?: string[];
|
|
344
|
+
suffix?: string;
|
|
345
|
+
overwrite?: boolean;
|
|
346
|
+
artifacts?: string[];
|
|
347
|
+
assetType?: string;
|
|
195
348
|
};
|
|
196
349
|
create_effect: {
|
|
197
350
|
action: EffectAction;
|
|
@@ -203,6 +356,20 @@ export interface ConsolidatedToolParams {
|
|
|
203
356
|
shape?: string;
|
|
204
357
|
size?: number;
|
|
205
358
|
color?: [number, number, number, number];
|
|
359
|
+
lightName?: string;
|
|
360
|
+
lightType?: 'Point' | 'Spot' | 'Directional' | 'Rect' | string;
|
|
361
|
+
intensity?: number;
|
|
362
|
+
rotation?: Rotation3D;
|
|
363
|
+
pulse?: {
|
|
364
|
+
enabled?: boolean;
|
|
365
|
+
frequency?: number;
|
|
366
|
+
};
|
|
367
|
+
filter?: string;
|
|
368
|
+
systemName?: string;
|
|
369
|
+
parameterName?: string;
|
|
370
|
+
parameterType?: string;
|
|
371
|
+
value?: any;
|
|
372
|
+
isUserParameter?: boolean;
|
|
206
373
|
duration?: number;
|
|
207
374
|
};
|
|
208
375
|
manage_blueprint: {
|
|
@@ -212,6 +379,9 @@ export interface ConsolidatedToolParams {
|
|
|
212
379
|
componentType?: string;
|
|
213
380
|
componentName?: string;
|
|
214
381
|
savePath?: string;
|
|
382
|
+
waitForCompletion?: boolean;
|
|
383
|
+
applyAndSave?: boolean;
|
|
384
|
+
waitForCompletionTimeoutMs?: number;
|
|
215
385
|
};
|
|
216
386
|
build_environment: {
|
|
217
387
|
action: EnvironmentAction;
|
|
@@ -240,15 +410,9 @@ export interface ConsolidatedToolParams {
|
|
|
240
410
|
widgetName?: string;
|
|
241
411
|
widgetType?: string;
|
|
242
412
|
visible?: boolean;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
filter_category?: string | string[];
|
|
247
|
-
filter_level?: 'Error' | 'Warning' | 'Log' | 'Verbose' | 'VeryVerbose' | 'All';
|
|
248
|
-
lines?: number;
|
|
249
|
-
log_path?: string;
|
|
250
|
-
include_prefixes?: string[];
|
|
251
|
-
exclude_categories?: string[];
|
|
413
|
+
width?: number;
|
|
414
|
+
height?: number;
|
|
415
|
+
windowed?: boolean;
|
|
252
416
|
};
|
|
253
417
|
console_command: {
|
|
254
418
|
command: string;
|
package/dist/types/tool-types.js
CHANGED
package/dist/unreal-bridge.d.ts
CHANGED
|
@@ -1,92 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
objectPath: string;
|
|
3
|
-
functionName: string;
|
|
4
|
-
parameters?: Record<string, any>;
|
|
5
|
-
generateTransaction?: boolean;
|
|
6
|
-
}
|
|
1
|
+
import type { AutomationBridge } from './automation/index.js';
|
|
7
2
|
export declare class UnrealBridge {
|
|
8
|
-
private ws?;
|
|
9
|
-
private http;
|
|
10
|
-
private env;
|
|
11
3
|
private log;
|
|
12
4
|
private connected;
|
|
13
|
-
private
|
|
14
|
-
private
|
|
15
|
-
private readonly MAX_RECONNECT_ATTEMPTS;
|
|
16
|
-
private readonly BASE_RECONNECT_DELAY;
|
|
17
|
-
private autoReconnectEnabled;
|
|
18
|
-
private engineVersionCache?;
|
|
19
|
-
private readonly ENGINE_VERSION_TTL_MS;
|
|
20
|
-
private lastPongReceived;
|
|
21
|
-
private pingInterval?;
|
|
22
|
-
private readonly PING_INTERVAL_MS;
|
|
23
|
-
private readonly PONG_TIMEOUT_MS;
|
|
5
|
+
private automationBridge?;
|
|
6
|
+
private automationBridgeListeners?;
|
|
24
7
|
private commandQueue;
|
|
25
|
-
private isProcessing;
|
|
26
|
-
private readonly MIN_COMMAND_DELAY;
|
|
27
|
-
private readonly MAX_COMMAND_DELAY;
|
|
28
|
-
private readonly STAT_COMMAND_DELAY;
|
|
29
|
-
private lastCommandTime;
|
|
30
|
-
private lastStatCommandTime;
|
|
31
|
-
private consoleObjectCache;
|
|
32
|
-
private readonly CONSOLE_CACHE_TTL;
|
|
33
|
-
private pluginStatusCache;
|
|
34
|
-
private readonly PLUGIN_CACHE_TTL;
|
|
35
|
-
private readonly UNSAFE_VIEWMODES;
|
|
36
|
-
private readonly HARD_BLOCKED_VIEWMODES;
|
|
37
|
-
private readonly VIEWMODE_ALIASES;
|
|
38
|
-
private readonly PYTHON_TEMPLATES;
|
|
39
8
|
get isConnected(): boolean;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
* Uses optimized retry pattern from TypeScript best practices
|
|
43
|
-
* @param maxAttempts Maximum number of connection attempts
|
|
44
|
-
* @param timeoutMs Timeout for each connection attempt in milliseconds
|
|
45
|
-
* @param retryDelayMs Initial delay between retry attempts in milliseconds
|
|
46
|
-
* @returns Promise that resolves to true if connected, false otherwise
|
|
47
|
-
*/
|
|
9
|
+
setAutomationBridge(automationBridge?: AutomationBridge): void;
|
|
10
|
+
getAutomationBridge(): AutomationBridge;
|
|
48
11
|
private connectPromise?;
|
|
49
12
|
tryConnect(maxAttempts?: number, timeoutMs?: number, retryDelayMs?: number): Promise<boolean>;
|
|
50
13
|
connect(timeoutMs?: number): Promise<void>;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
14
|
+
private waitForAutomationConnection;
|
|
15
|
+
getObjectProperty(params: {
|
|
16
|
+
objectPath: string;
|
|
17
|
+
propertyName: string;
|
|
18
|
+
timeoutMs?: number;
|
|
19
|
+
allowAlternate?: boolean;
|
|
20
|
+
}): Promise<Record<string, any>>;
|
|
21
|
+
setObjectProperty(params: {
|
|
22
|
+
objectPath: string;
|
|
23
|
+
propertyName: string;
|
|
24
|
+
value: unknown;
|
|
25
|
+
markDirty?: boolean;
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
allowAlternate?: boolean;
|
|
28
|
+
}): Promise<Record<string, any>>;
|
|
29
|
+
executeConsoleCommand(command: string, _options?: Record<string, never>): Promise<any>;
|
|
66
30
|
executeConsoleCommands(commands: Iterable<string | {
|
|
67
31
|
command: string;
|
|
68
32
|
priority?: number;
|
|
69
|
-
allowPython?: boolean;
|
|
70
33
|
}>, options?: {
|
|
71
34
|
continueOnError?: boolean;
|
|
72
35
|
delayMs?: number;
|
|
73
36
|
}): Promise<any[]>;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
disconnect(): Promise<void>;
|
|
78
|
-
/**
|
|
79
|
-
* Enhanced Editor Function Access
|
|
80
|
-
* Use Python scripting as a bridge to access modern Editor Subsystem functions
|
|
81
|
-
*/
|
|
82
|
-
executeEditorFunction(functionName: string, params?: Record<string, any>): Promise<any>;
|
|
83
|
-
/**
|
|
84
|
-
* Execute Python script and parse the result
|
|
85
|
-
*/
|
|
86
|
-
executePythonWithResult(script: string): Promise<any>;
|
|
87
|
-
/**
|
|
88
|
-
* Get the Unreal Engine version via Python and parse major/minor/patch.
|
|
89
|
-
*/
|
|
37
|
+
executeEditorFunction(functionName: string, params?: Record<string, any>, _options?: {
|
|
38
|
+
timeoutMs?: number;
|
|
39
|
+
}): Promise<any>;
|
|
90
40
|
getEngineVersion(): Promise<{
|
|
91
41
|
version: string;
|
|
92
42
|
major: number;
|
|
@@ -94,71 +44,14 @@ export declare class UnrealBridge {
|
|
|
94
44
|
patch: number;
|
|
95
45
|
isUE56OrAbove: boolean;
|
|
96
46
|
}>;
|
|
97
|
-
/**
|
|
98
|
-
* Query feature flags (Python availability, editor subsystems) via Python.
|
|
99
|
-
*/
|
|
100
47
|
getFeatureFlags(): Promise<{
|
|
101
|
-
pythonEnabled: boolean;
|
|
102
48
|
subsystems: {
|
|
103
49
|
unrealEditor: boolean;
|
|
104
50
|
levelEditor: boolean;
|
|
105
51
|
editorActor: boolean;
|
|
106
52
|
};
|
|
107
53
|
}>;
|
|
108
|
-
/**
|
|
109
|
-
* Fallback commands when Python is not available
|
|
110
|
-
*/
|
|
111
|
-
private executeFallbackCommand;
|
|
112
|
-
/**
|
|
113
|
-
* SOLUTION 2: Safe ViewMode Switching
|
|
114
|
-
* Prevent crashes by validating and safely switching viewmodes
|
|
115
|
-
*/
|
|
116
|
-
setSafeViewMode(mode: string): Promise<any>;
|
|
117
|
-
/**
|
|
118
|
-
* Get safe alternative for unsafe viewmodes
|
|
119
|
-
*/
|
|
120
|
-
private getSafeAlternative;
|
|
121
|
-
/**
|
|
122
|
-
* SOLUTION 3: Command Throttling and Queueing
|
|
123
|
-
* Prevent rapid command execution that can overwhelm the engine
|
|
124
|
-
*/
|
|
125
54
|
private executeThrottledCommand;
|
|
126
|
-
/**
|
|
127
|
-
* Process command queue with appropriate delays
|
|
128
|
-
*/
|
|
129
|
-
private processCommandQueue;
|
|
130
|
-
/**
|
|
131
|
-
* Calculate appropriate delay based on command priority and type
|
|
132
|
-
*/
|
|
133
|
-
private calculateDelay;
|
|
134
|
-
/**
|
|
135
|
-
* SOLUTION 4: Enhanced Asset Creation
|
|
136
|
-
* Use Python scripting for complex asset creation that requires editor scripting
|
|
137
|
-
*/
|
|
138
|
-
createComplexAsset(assetType: string, params: Record<string, any>): Promise<any>;
|
|
139
|
-
/**
|
|
140
|
-
* Start the command processor
|
|
141
|
-
*/
|
|
142
|
-
private startCommandProcessor;
|
|
143
|
-
/**
|
|
144
|
-
* Clean expired entries from console object cache
|
|
145
|
-
*/
|
|
146
|
-
private cleanConsoleCache;
|
|
147
|
-
/**
|
|
148
|
-
* Helper delay function
|
|
149
|
-
*/
|
|
150
55
|
private delay;
|
|
151
|
-
/**
|
|
152
|
-
* Batch command execution with proper delays
|
|
153
|
-
*/
|
|
154
|
-
executeBatch(commands: Array<{
|
|
155
|
-
command: string;
|
|
156
|
-
priority?: number;
|
|
157
|
-
}>): Promise<any[]>;
|
|
158
|
-
/**
|
|
159
|
-
* Get safe console commands for common operations
|
|
160
|
-
*/
|
|
161
|
-
getSafeCommands(): Record<string, string>;
|
|
162
56
|
}
|
|
163
|
-
export {};
|
|
164
57
|
//# sourceMappingURL=unreal-bridge.d.ts.map
|