Enhance AI Agent Integration and Tool Command Functionality

- Added support for JSON in CMake configuration for AI integrations.
- Implemented new tool commands: resource-list and dungeon-list-sprites.
- Created ToolDispatcher for managing tool command execution.
- Refactored CMake structure to include agent sources and improve build configuration.
- Updated agent roadmap and README documentation to reflect current status and next steps.
This commit is contained in:
scawful
2025-10-03 13:34:54 -04:00
parent 7c2bf8e1c7
commit ba9f6533a4
12 changed files with 338 additions and 225 deletions

View File

@@ -55,9 +55,17 @@ option(YAZE_ENABLE_EXPERIMENTAL_TESTS "Enable experimental/unstable tests" ON)
option(YAZE_ENABLE_UI_TESTS "Enable ImGui Test Engine UI testing" ON)
option(YAZE_MINIMAL_BUILD "Minimal build for CI (disable optional features)" OFF)
# Optional JSON support (required for Gemini and structured agent responses)
option(YAZE_WITH_JSON "Enable JSON support for AI integrations" OFF)
# Optional gRPC support for ImGuiTestHarness (z3ed agent mode)
option(YAZE_WITH_GRPC "Enable gRPC-based ImGuiTestHarness for automated GUI testing (experimental)" OFF)
if(YAZE_WITH_GRPC AND NOT YAZE_WITH_JSON)
message(STATUS "Enabling JSON support because gRPC is enabled")
set(YAZE_WITH_JSON ON CACHE BOOL "Enable JSON support" FORCE)
endif()
# Configure minimal builds for CI/CD
if(YAZE_MINIMAL_BUILD)
set(YAZE_ENABLE_UI_TESTS OFF CACHE BOOL "Disabled for minimal build" FORCE)
@@ -120,6 +128,12 @@ endif()
# Create a common interface target for shared settings
add_library(yaze_common INTERFACE)
target_compile_features(yaze_common INTERFACE cxx_std_23)
target_include_directories(yaze_common INTERFACE ${CMAKE_SOURCE_DIR}/third_party/httplib)
if(YAZE_WITH_JSON)
set(JSON_BuildTests OFF CACHE INTERNAL "Disable nlohmann_json tests")
add_subdirectory(${CMAKE_SOURCE_DIR}/third_party/json ${CMAKE_BINARY_DIR}/third_party/json EXCLUDE_FROM_ALL)
endif()
# Platform-specific configurations
if(YAZE_PLATFORM_LINUX)
@@ -180,7 +194,6 @@ else()
target_compile_definitions(yaze_common INTERFACE
_SILENCE_CXX23_DEPRECATION_WARNING
_SILENCE_ALL_CXX23_DEPRECATION_WARNINGS
ABSL_HAVE_INTRINSIC_INT128=1 # Enable intrinsic int128 support
)
endif()