feat: Release 0.5.30#446
Conversation
Bumps [@hono/node-server](https://github.com/honojs/node-server) from 1.19.11 to 1.19.13. - [Release notes](https://github.com/honojs/node-server/releases) - [Commits](honojs/node-server@v1.19.11...v1.19.13) --- updated-dependencies: - dependency-name: "@hono/node-server" dependency-version: 1.19.13 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [hono](https://github.com/honojs/hono) from 4.12.9 to 4.12.12. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.9...v4.12.12) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.12 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
chore(deps): bump hono from 4.12.9 to 4.12.12
…-server-1.19.13 chore(deps): bump @hono/node-server from 1.19.11 to 1.19.13
…settings - Standardized header capitalization from PlatformFilemanager.h to PlatformFileManager.h across PCH, subsystem, asset workflows, and safe operations - Configured Unity build byte limits to mitigate compilation heap issues - Separated conditional movement property assignments in character handlers for clarity - Relocated includes and introduced forward declarations in combat handlers - Implemented conditional include for texture factory headers to ensure engine compatibility
Bumps [actions/github-script](https://github.com/actions/github-script) from 8.0.0 to 9.0.0. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@ed59741...3a2844b) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: 9.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 7.1.1 to 7.2.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](release-drafter/release-drafter@139054a...5de9358) --- updated-dependencies: - dependency-name: release-drafter/release-drafter dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the dependencies group with 9 updates: | Package | From | To | | --- | --- | --- | | [@graphql-tools/schema](https://github.com/ardatan/graphql-tools/tree/HEAD/packages/schema) | `10.0.31` | `10.0.32` | | [dotenv](https://github.com/motdotla/dotenv) | `17.4.0` | `17.4.1` | | [graphql-yoga](https://github.com/graphql-hive/graphql-yoga/tree/HEAD/packages/graphql-yoga) | `5.19.0` | `5.21.0` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.0` | `25.5.2` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.58.0` | `8.58.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.58.0` | `8.58.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.2` | `4.1.4` | | [eslint](https://github.com/eslint/eslint) | `10.1.0` | `10.2.0` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.2` | `4.1.4` | Updates `@graphql-tools/schema` from 10.0.31 to 10.0.32 - [Release notes](https://github.com/ardatan/graphql-tools/releases) - [Changelog](https://github.com/ardatan/graphql-tools/blob/master/packages/schema/CHANGELOG.md) - [Commits](https://github.com/ardatan/graphql-tools/commits/@graphql-tools/schema@10.0.32/packages/schema) Updates `dotenv` from 17.4.0 to 17.4.1 - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](motdotla/dotenv@v17.4.0...v17.4.1) Updates `graphql-yoga` from 5.19.0 to 5.21.0 - [Release notes](https://github.com/graphql-hive/graphql-yoga/releases) - [Changelog](https://github.com/graphql-hive/graphql-yoga/blob/main/packages/graphql-yoga/CHANGELOG.md) - [Commits](https://github.com/graphql-hive/graphql-yoga/commits/graphql-yoga@5.21.0/packages/graphql-yoga) Updates `@types/node` from 25.5.0 to 25.5.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@typescript-eslint/eslint-plugin` from 8.58.0 to 8.58.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.58.0 to 8.58.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.1/packages/parser) Updates `@vitest/coverage-v8` from 4.1.2 to 4.1.4 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.4/packages/coverage-v8) Updates `eslint` from 10.1.0 to 10.2.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.1.0...v10.2.0) Updates `vitest` from 4.1.2 to 4.1.4 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.4/packages/vitest) --- updated-dependencies: - dependency-name: "@graphql-tools/schema" dependency-version: 10.0.32 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: dotenv dependency-version: 17.4.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: graphql-yoga dependency-version: 5.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: "@types/node" dependency-version: 25.5.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.58.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@typescript-eslint/parser" dependency-version: 8.58.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: eslint dependency-version: 10.2.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: vitest dependency-version: 4.1.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…ies-fbd42b09fd chore(deps): bump the dependencies group with 9 updates
…-drafter/release-drafter-7.2.0 chore(deps): bump release-drafter/release-drafter from 7.1.1 to 7.2.0
…/github-script-9.0.0 chore(deps): bump actions/github-script from 8.0.0 to 9.0.0
Bumps [hono](https://github.com/honojs/hono) from 4.12.12 to 4.12.14. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.12...v4.12.14) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.14 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
chore(deps): bump hono from 4.12.12 to 4.12.14
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.6.1 to 3.0.0. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@153bb8e...b430933) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@c10b806...95e58e9) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.35.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the dependencies group with 5 updates: | Package | From | To | | --- | --- | --- | | [dotenv](https://github.com/motdotla/dotenv) | `17.4.1` | `17.4.2` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.2` | `25.6.0` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.58.1` | `8.58.2` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.58.1` | `8.58.2` | | [typescript](https://github.com/microsoft/TypeScript) | `6.0.2` | `6.0.3` | Updates `dotenv` from 17.4.1 to 17.4.2 - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](motdotla/dotenv@v17.4.1...v17.4.2) Updates `@types/node` from 25.5.2 to 25.6.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@typescript-eslint/eslint-plugin` from 8.58.1 to 8.58.2 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.58.1 to 8.58.2 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/parser) Updates `typescript` from 6.0.2 to 6.0.3 - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Commits](microsoft/TypeScript@v6.0.2...v6.0.3) --- updated-dependencies: - dependency-name: dotenv dependency-version: 17.4.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@types/node" dependency-version: 25.6.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.58.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@typescript-eslint/parser" dependency-version: 8.58.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: typescript dependency-version: 6.0.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
* feat: native MCP Streamable HTTP transport in C++ plugin
Add a native C++ HTTP/SSE-based MCP transport to McpAutomationBridge,
enabling direct communication without the TypeScript bridge.
- Raw socket HTTP server with JSON-RPC 2.0 dispatch and SSE streaming
- Dynamic tool manager: enable/disable tools/categories at runtime
- Tool schema loader from auto-generated tool-schemas.json (36 tools)
- Multiple concurrent sessions with 1-hour inactivity timeout
- Server-info.json config and project-level instructions in MCP initialize
- Editor status bar widget showing server port and session count
- execute_python action for system_control with stdout/stderr capture
- Shared ListenHost setting, AllowNonLoopback support
- Package scripts for Windows (.bat) and macOS/Linux (.sh)
- Schema generator script (generate-tool-schemas.mjs)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address CodeRabbit and Devin review findings (27 items)
Security & correctness:
- Support string + number JSON-RPC IDs per MCP spec (TSharedPtr<FJsonValue>)
- Distinguish ParseError vs InvalidRequest with proper error codes
- Thread safety for DynamicToolManager (FCriticalSection on all state)
- Enforce tool enablement on tools/call (TOOL_DISABLED error)
- Offload SSE writes from GameThread to ThreadPool
- Fix use-after-free in BroadcastToolsListChanged (bMarkedForRemoval guard)
- Path injection fix: server-side GUID for temp filenames
- Sanitize execute_python file param (SanitizeProjectFilePath)
- File-based code execution to avoid triple-quote escaping issues
- Decode HTTP body as UTF-8 (UTF8_TO_TCHAR)
- Prevent HTTP responses from leaking to WebSocket broadcast
- Reject non-object arguments with InvalidParams error
- Escape single quotes in Python r'...' path literals
Robustness:
- Synchronous bind/listen handshake in Start() via FEvent
- Offload HandleConnection to ThreadPool (slow client no longer blocks accept)
- Propagate manage_tools action errors to client
- Suppress no-op enable/disable broadcasts
- Clear stale schema cache on failed reload
- Null-check Args in HandleAction
- Store SessionId in FSSEConnection, touch session on progress writes
- Session count read under lock in HandleInitialize
- Use LoadModulePtr for Settings module in status bar widget
Scripts & docs:
- Sync versions to 0.6.0 (package.json, server.json)
- Replace Python with PowerShell in package-plugin.bat
- python3 preflight + sys.argv path passing in package-plugin.sh
- CRLF for .bat, array-based EXTRA_ARGS in .sh, error checking
- Ensure output dir exists in generate-tool-schemas.mjs
- Fix CHANGELOG wording and markdown table spacing
- Recalculate protected category EnabledCount on disable_category("all")
- Clean up ToolMenus callback on ShutdownModule
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: prevent use-after-free in async SSE writes during Shutdown
Add PendingAsyncWrites atomic counter to track in-flight ThreadPool
tasks (SendSSEProgressUpdate, CompletePendingRequest). Shutdown() now
waits for both ActiveConnectionCount and PendingAsyncWrites to reach
zero before destroying member state. Replaces raw member pointer
captures with `this` capture (safe since Shutdown drains the counter).
Adds bStopping early-exit guard in progress write lambda.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: self-describing C++ tool classes replace JSON schema loader
Replace tool-schemas.json (generated from TypeScript) with 36 self-describing
C++ tool definition classes. Each class declares its name, description,
category, and inputSchema via FMcpSchemaBuilder — no external JSON, no
generation script. Only real C++ actions are advertised to AI clients.
Key changes:
- Add FMcpToolDefinition base class with dispatch pattern metadata
- Add FMcpSchemaBuilder fluent API for building JSON Schema in C++
- Add FMcpToolRegistry singleton with MCP_REGISTER_TOOL auto-registration
- Fix dispatch for Pattern B tools (manage_lighting, manage_effect,
animation_physics, manage_audio, manage_performance) — extract sub-action
from arguments instead of passing tool name as Action
- Normalize action→subAction field for handlers that read "subAction"
- Remove McpToolSchemaLoader and tool-schemas.json dependency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: remove obsolete tool-schemas.json
Schemas are now defined in C++ tool classes (McpTool_*.cpp).
This JSON was generated from TypeScript and is no longer loaded.
fix: add missing filter and save properties to manage_splines schema
chore: remove generate-tool-schemas.mjs (replaced by C++ tool classes)
fix: missing description args in McpTool_ManageAI sub-builder
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add GET /mcp persistent SSE notification stream
MCP Streamable HTTP spec requires GET /mcp for server→client
notifications. Previously notifications/tools/list_changed was only
sent to active tools/call SSE connections and lost when idle.
Adds persistent SSE stream with keepalive, per-session limits (max 4),
session-aware cleanup, and proper shutdown/DELETE teardown.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address CodeRabbit PR review findings
- Add FCriticalSection to McpToolRegistry cache (thread safety)
- Register() invalidates cache so late-registered tools appear
- Protect tools in protected categories from disable_category bypass
- Fail fast with INVALID_PARAMS when action field missing in Pattern-B tools
- Propagate nested required fields in SchemaBuilder Object/ArrayOfObjects
- Change manage_widget_authoring category from utility to authoring
- Remove duplicate create_anim_blueprint from animation_physics enum
- Remove stray foliage removeAll parameter from networking schema
- Update manage_skeleton header comment to 29 actions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: add missing HTTP 503 status text in SendHttpResponse
Without this, max-capacity rejections sent "HTTP/1.1 503 OK" instead
of "HTTP/1.1 503 Service Unavailable".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: propagate PowerShell errors in package-plugin.bat
Wrap PowerShell one-liners in try/catch with $ErrorActionPreference='Stop'
so cmdlet failures exit non-zero and are caught by the batch errorlevel check.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: emit actual em dash instead of literal \u2014 in control_editor description
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: add missing export_asset action and additionalArgs to system_control schema
The handler accepts both but the tool schema did not expose them to clients.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: remove incorrect Pattern B GetDispatchAction overrides from 5 tool definitions
These tools have handlers registered under the tool name (Pattern A) but
were returning empty dispatch action (Pattern B), causing dispatch mismatch.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: add missing assetPath and exportPath to system_control schema
The export_asset handler requires both fields but they were not in the schema.
Skipped format — the handler does not read it.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: prevent use-after-free by waiting indefinitely for pending async writes on shutdown
The 10-second deadline could expire while async lambdas capturing 'this'
were still queued, causing use-after-free. Now waits until all writes
complete (individual writes have 5s timeouts) with a warning after 15s.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: prevent GameThread deadlock in Shutdown by pumping task queue
Shutdown spins on GameThread waiting for PendingAsyncWrites to reach 0,
but CompletePendingRequest is dispatched to GameThread via AsyncTask from
HandleToolsCall. Without draining the GameThread queue, those tasks never
execute and PendingAsyncWrites never decrements — deadlock.
Now calls ProcessThreadUntilIdle(GameThread) each iteration so queued
handler completions can drain while we wait.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: update action count comment to 25 in McpTool_SystemControl
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: add CapabilityToken auth validation to native MCP transport
Parses X-MCP-Capability-Token header and validates against project settings when bRequireCapabilityToken is enabled. Returns HTTP 401 on mismatch, mirroring WebSocket bridge logic.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* fix: add ERequestOrigin enum for explicit HTTP vs WebSocket routing
Replaces TargetSocket==nullptr inference with explicit ERequestOrigin::NativeHTTP/WebSocket enum. Updated SendAutomationResponse, SendAutomationError, SendProgressUpdate, and ProcessAutomationRequest signatures with Origin parameter (default: WebSocket for backward compatibility).
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* fix: harden execute_python — code size limit, symlink escape prevention, RAII cleanup, timeout tracking
Enforces 1MB max code size, resolves symlinks and re-validates against project directory, uses FTempFileCleanup RAII scope guard for guaranteed temp file cleanup on all exit paths, tracks execution time and warns at 60s threshold. Also fixes NormalizePyPath to not escape single quotes inside Python raw string literals.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* fix: correct tool schemas and thread safety — manage_blueprint objects, system_control cleanup, ToolRegistry mutex, DynamicToolManager protection
* fix: resolve UE 5.7 build errors and harden asset handlers
* fix: add maxLength constraints to execute_python in TypeScript schema
* docs: update README, CHANGELOG, and handler-mapping for native MCP security features
* fix: revert version bump to 0.5.21 and remove server-info.json
* fix: address PR review findings — ERequestOrigin propagation, crash safety, schema fixes
---------
Co-authored-by: Flop <flop@hackerspace.by>
Co-authored-by: ChiR24 <cprsmsm24@gmail.com>
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.6.1 to 3.0.0. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@153bb8e...b430933) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…codeql-action-4.35.2 chore(deps): bump github/codeql-action from 4.35.1 to 4.35.2
…ies-da8594fd35 chore(deps): bump the dependencies group with 5 updates
…t_authoring The add_widget_child action in system-handlers.ts was incorrectly routed to manage_widget_authoring on the C++ bridge, but HandleManageWidgetAuthoringAction has no handler for this subAction — causing the request to silently hang/timeout. The actual C++ implementation lives in HandleUiAction (UiHandlers.cpp), which handles system_control and manage_ui action types. Routing through system_control reaches the correct handler and returns a proper response. Fixes #351
fix: route add_widget_child to system_control instead of manage_widget_authoring
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@53b8394...48b55a0) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [@graphql-tools/schema](https://github.com/ardatan/graphql-tools/tree/HEAD/packages/schema) | `10.0.32` | `10.0.33` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.58.2` | `8.59.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.58.2` | `8.59.0` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.4` | `4.1.5` | | [eslint](https://github.com/eslint/eslint) | `10.2.0` | `10.2.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.4` | `4.1.5` | Updates `@graphql-tools/schema` from 10.0.32 to 10.0.33 - [Release notes](https://github.com/ardatan/graphql-tools/releases) - [Changelog](https://github.com/ardatan/graphql-tools/blob/master/packages/schema/CHANGELOG.md) - [Commits](https://github.com/ardatan/graphql-tools/commits/@graphql-tools/schema@10.0.33/packages/schema) Updates `@typescript-eslint/eslint-plugin` from 8.58.2 to 8.59.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.58.2 to 8.59.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/parser) Updates `@vitest/coverage-v8` from 4.1.4 to 4.1.5 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/coverage-v8) Updates `eslint` from 10.2.0 to 10.2.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.2.0...v10.2.1) Updates `vitest` from 4.1.4 to 4.1.5 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest) --- updated-dependencies: - dependency-name: "@graphql-tools/schema" dependency-version: 10.0.33 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.59.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: "@typescript-eslint/parser" dependency-version: 8.59.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: eslint dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: vitest dependency-version: 4.1.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…rospection CollectBlueprintVariables and FSCSHandlers::GetBlueprintSCS only walked the target blueprint's NewVariables/SimpleConstructionScript, so any variable or component declared on a parent BP was missing from blueprint_get and get_blueprint_scs responses. Walk the parent BP chain via Blueprint->ParentClass->ClassGeneratedBy and accumulate entries from each ancestor BP. Inherited entries are tagged with inherited:true and declaringBlueprint so callers can distinguish ownership. The chain stops at the first non-BP parent (native classes), matching the existing convention that BP variable lists do not surface native parent properties. Verified in UE 5.7 editor with a parent/child BP pair: both inspect.get_blueprint_details and manage_blueprint.get_scs now return the inherited entries with the expected ownership tags.
…/setup-node-6.4.0 chore(deps): bump actions/setup-node from 6.3.0 to 6.4.0
…ies-a69a3cb5cc chore(deps): bump the dependencies group with 6 updates
* fix(plugin): apply spawn actor scale
# Bug Fix Notes
## 2026-04-25 — Native asset path root validation
### Fixed
- Tightened native asset/package path validation so built-in roots must match full path segments (`/Game`, `/Engine`, `/Script`) instead of accepting prefix lookalikes.
- Updated `export_level` to sanitize `levelPath` before package existence checks and current-world matching.
### Files
- `Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h`
- `Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp`
### Validation
- Rebuilt `test_thirdEditor` with UBT after closing UnrealEditor because Live Coding did not detect the change.
- Restarted the editor and verified the Native MCP bridge was listening.
- Confirmed an unsafe prefix-lookalike package path is rejected by security validation.
- Confirmed a valid `/Game` package root continues to reach normal domain validation.
## 2026-04-25 — `control_actor.spawn_actor` scale application
### Fixed
- Applied the optional `scale` payload during `control_actor` `spawn` / `spawn_actor` after actor creation.
- Keeps default spawn scale unchanged when `scale` is omitted.
### Files
- `Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp`
### Validation
- Live Coding compile succeeded in the running UE 5.7 editor.
- Spawned a `StaticMeshActor` with `scale={x:4,y:3,z:2}` through Native MCP `control_actor.spawn_actor`.
- Verified `control_actor.get_actor_transform` returned `scale=[4,3,2]`.
- Deleted the validation actor after the check.
* fix(plugin): forward spawn scale through handlers
* fix(control_actor): document spawn scale handling
* Delete plugins/McpAutomationBridge/.gitignore
---------
Co-authored-by: Chirag Panwar <125826529+ChiR24@users.noreply.github.com>
* fix(plugin): honor plane height fields Markdown notes: ## 2026-04-25 — `manage_geometry.create_plane` height handling ### Fixed - Updated `create_plane` to honor schema fields `height` and `heightSegments` instead of only reading legacy `depth` and `depthSubdivisions`. - Kept legacy `depth` and subdivision aliases as fallbacks for compatibility. - Added returned `width`, `height`, `widthSegments`, and `heightSegments` fields for easier validation. ### Files - `Source/McpAutomationBridge/Private/McpAutomationBridge_GeometryHandlers.cpp` ### Validation - Live Coding compile succeeded in the running UE 5.7 editor. - Enabled all native MCP tools through `manage_tools.enable_category`. - Created a plane with `width=4000` and `height=4000` through `manage_geometry.create_plane`. - Verified the response returned `width=4000` and `height=4000`. - Verified actor bounds reported `extent=[2000,2000,0]`, matching a 4000 by 4000 plane. - Deleted the validation actor after the check. * fix(create_plane): document height handling * Delete plugins/McpAutomationBridge/.gitignore --------- Co-authored-by: Chirag Panwar <125826529+ChiR24@users.noreply.github.com>
…int-added components (#358)
Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.18...v4.12.23) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@7211b7c...8aad20d) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.36.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@de0fac2...df4cb1c) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the dependencies group with 5 updates: | Package | From | To | | --- | --- | --- | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.60.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.60.0` | `8.60.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.8` | | [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.4.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` | Updates `@typescript-eslint/eslint-plugin` from 8.60.0 to 8.60.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.60.0 to 8.60.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/parser) Updates `@vitest/coverage-v8` from 4.1.7 to 4.1.8 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/coverage-v8) Updates `eslint` from 10.4.0 to 10.4.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.4.0...v10.4.1) Updates `vitest` from 4.1.7 to 4.1.8 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/vitest) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.60.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@typescript-eslint/parser" dependency-version: 8.60.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: "@vitest/coverage-v8" dependency-version: 4.1.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: eslint dependency-version: 10.4.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: vitest dependency-version: 4.1.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23. - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.18...v4.12.23) --- updated-dependencies: - dependency-name: hono dependency-version: 4.12.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…codeql-action-4.36.2 chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2
…/checkout-6.0.3 chore(deps): bump actions/checkout from 6.0.2 to 6.0.3
…ies-c92d9efe88 chore(deps-dev): bump the dependencies group with 5 updates
…erage feat(phase-28): complete environment systems
Implement version-specific logic across multiple handlers to ensure compatibility with different Unreal Engine versions (specifically handling API changes in PCG, Insights, Landscape, and Behavior Trees). Additionally, optimize JSON processing by reducing string allocations and improving type safety in various handlers. - Add engine version checks for PCG node title retrieval and graph notifications. - Update Insights handler to support newer trace system status and destination APIs. - Implement version-aware landscape spline segment and control point access. - Update Behavior Tree handlers to use safer class detection and property access for injection tags. - Refactor JSON iteration in `McpJsonRpc`, `McpConnectionManager`, and `McpEnvironmentHandlers` to use more efficient string handling. - Fix UI handler to use `GetCameraCacheView` on compatible engine versions.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📏 Large PR DetectedThis pull request is quite large (1000+ lines changed), which can make reviewing challenging. Suggestions:
This helps reviewers provide better feedback and speeds up the merge process. Thank you! 🙏 |
Release 0.5.30