unreal-engine-mcp-server 0.4.6 → 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 +269 -22
- package/CONTRIBUTING.md +140 -0
- package/README.md +166 -72
- 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 -604
- 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 +5475 -1627
- package/dist/tools/consolidated-tool-definitions.js +829 -482
- package/dist/tools/consolidated-tool-handlers.d.ts +2 -1
- package/dist/tools/consolidated-tool-handlers.js +211 -1009
- 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 +45 -0
- package/dist/tools/logs.js +210 -0
- 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 +195 -11
- 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 -649
- 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 -500
- package/src/tools/consolidated-tool-handlers.ts +272 -1122
- 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 +219 -0
- 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 +250 -13
- 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 -572
- 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;
|
|
@@ -75,6 +96,17 @@ export interface SystemControlResponse extends BaseToolResponse {
|
|
|
75
96
|
soundPlaying?: boolean;
|
|
76
97
|
widgetPath?: string;
|
|
77
98
|
widgetVisible?: boolean;
|
|
99
|
+
imagePath?: string;
|
|
100
|
+
imageBase64?: string;
|
|
101
|
+
pid?: number;
|
|
102
|
+
logPath?: string;
|
|
103
|
+
entries?: Array<{
|
|
104
|
+
timestamp?: string;
|
|
105
|
+
category?: string;
|
|
106
|
+
level?: string;
|
|
107
|
+
message: string;
|
|
108
|
+
}>;
|
|
109
|
+
filteredCount?: number;
|
|
78
110
|
}
|
|
79
111
|
export interface ConsoleCommandResponse extends BaseToolResponse {
|
|
80
112
|
command?: string;
|
|
@@ -112,6 +144,59 @@ export interface ToolParameters {
|
|
|
112
144
|
actorName: string;
|
|
113
145
|
force: Vector3D;
|
|
114
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
|
+
};
|
|
115
200
|
SetCameraParams: {
|
|
116
201
|
location?: Vector3D;
|
|
117
202
|
rotation?: Rotation3D;
|
|
@@ -123,15 +208,15 @@ export interface ToolParameters {
|
|
|
123
208
|
command: string;
|
|
124
209
|
};
|
|
125
210
|
}
|
|
126
|
-
export type AssetAction = 'list' | 'import' | 'create_material';
|
|
127
|
-
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';
|
|
128
213
|
export type EditorAction = 'play' | 'stop' | 'set_camera' | 'set_view_mode';
|
|
129
214
|
export type LevelAction = 'load' | 'save' | 'stream' | 'create_light' | 'build_lighting';
|
|
130
|
-
export type AnimationAction = 'create_animation_bp' | 'play_montage' | 'setup_ragdoll';
|
|
131
|
-
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';
|
|
132
217
|
export type BlueprintAction = 'create' | 'add_component';
|
|
133
218
|
export type EnvironmentAction = 'create_landscape' | 'sculpt' | 'add_foliage' | 'paint_foliage';
|
|
134
|
-
export type SystemAction = 'profile' | 'show_fps' | 'set_quality' | 'play_sound' | 'create_widget' | 'show_widget';
|
|
219
|
+
export type SystemAction = 'profile' | 'show_fps' | 'set_quality' | 'play_sound' | 'create_widget' | 'show_widget' | 'screenshot' | 'engine_start' | 'engine_quit' | 'read_log';
|
|
135
220
|
export type VerificationAction = 'foliage_type_exists' | 'foliage_instances_near' | 'landscape_exists' | 'quality_level';
|
|
136
221
|
export interface ConsolidatedToolParams {
|
|
137
222
|
manage_asset: {
|
|
@@ -142,6 +227,8 @@ export interface ConsolidatedToolParams {
|
|
|
142
227
|
destinationPath?: string;
|
|
143
228
|
name?: string;
|
|
144
229
|
path?: string;
|
|
230
|
+
parentMaterial?: string;
|
|
231
|
+
parameters?: Record<string, any>;
|
|
145
232
|
};
|
|
146
233
|
control_actor: {
|
|
147
234
|
action: ActorAction;
|
|
@@ -149,13 +236,40 @@ export interface ConsolidatedToolParams {
|
|
|
149
236
|
classPath?: string;
|
|
150
237
|
location?: Vector3D;
|
|
151
238
|
rotation?: Rotation3D;
|
|
239
|
+
scale?: Vector3D;
|
|
152
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[];
|
|
153
255
|
};
|
|
154
256
|
control_editor: {
|
|
155
257
|
action: EditorAction;
|
|
156
258
|
location?: Vector3D;
|
|
157
259
|
rotation?: Rotation3D;
|
|
158
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>;
|
|
159
273
|
};
|
|
160
274
|
manage_level: {
|
|
161
275
|
action: LevelAction;
|
|
@@ -174,13 +288,63 @@ export interface ConsolidatedToolParams {
|
|
|
174
288
|
action: AnimationAction;
|
|
175
289
|
name?: string;
|
|
176
290
|
actorName?: string;
|
|
291
|
+
savePath?: string;
|
|
292
|
+
path?: string;
|
|
177
293
|
skeletonPath?: string;
|
|
294
|
+
blueprintName?: string;
|
|
295
|
+
blueprintPath?: string;
|
|
178
296
|
montagePath?: string;
|
|
179
297
|
animationPath?: string;
|
|
180
298
|
playRate?: number;
|
|
181
299
|
physicsAssetName?: string;
|
|
182
300
|
blendWeight?: number;
|
|
183
|
-
|
|
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;
|
|
184
348
|
};
|
|
185
349
|
create_effect: {
|
|
186
350
|
action: EffectAction;
|
|
@@ -192,6 +356,20 @@ export interface ConsolidatedToolParams {
|
|
|
192
356
|
shape?: string;
|
|
193
357
|
size?: number;
|
|
194
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;
|
|
195
373
|
duration?: number;
|
|
196
374
|
};
|
|
197
375
|
manage_blueprint: {
|
|
@@ -201,6 +379,9 @@ export interface ConsolidatedToolParams {
|
|
|
201
379
|
componentType?: string;
|
|
202
380
|
componentName?: string;
|
|
203
381
|
savePath?: string;
|
|
382
|
+
waitForCompletion?: boolean;
|
|
383
|
+
applyAndSave?: boolean;
|
|
384
|
+
waitForCompletionTimeoutMs?: number;
|
|
204
385
|
};
|
|
205
386
|
build_environment: {
|
|
206
387
|
action: EnvironmentAction;
|
|
@@ -229,6 +410,9 @@ export interface ConsolidatedToolParams {
|
|
|
229
410
|
widgetName?: string;
|
|
230
411
|
widgetType?: string;
|
|
231
412
|
visible?: boolean;
|
|
413
|
+
width?: number;
|
|
414
|
+
height?: number;
|
|
415
|
+
windowed?: boolean;
|
|
232
416
|
};
|
|
233
417
|
console_command: {
|
|
234
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
|