feat: add HTTP REST API server for external agent access
Implements Phase 2 from AI_API_ENHANCEMENT_HANDOFF.md to expose yaze functionality via HTTP endpoints for automation and external tools. Changes: - Add YAZE_ENABLE_HTTP_API CMake option (defaults to YAZE_ENABLE_AGENT_CLI) - Add YAZE_HTTP_API_ENABLED compile definition when enabled - Integrate HttpServer into z3ed with conditional compilation - Add --http-port and --http-host CLI flags with full parsing - Create comprehensive API documentation with examples Initial endpoints: - GET /api/v1/health - Server health check - GET /api/v1/models - List available AI models from all providers Built with mac-ai preset (46 steps, 89MB binary). Tested both endpoints successfully on localhost:8080. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -27,11 +27,18 @@ option(YAZE_BUILD_AGENT_UI
|
||||
option(YAZE_ENABLE_AGENT_CLI
|
||||
"Build the conversational agent CLI stack (z3ed agent commands)"
|
||||
${YAZE_BUILD_CLI})
|
||||
option(YAZE_ENABLE_HTTP_API
|
||||
"Enable HTTP REST API server for external agent access"
|
||||
${YAZE_ENABLE_AGENT_CLI})
|
||||
|
||||
if((YAZE_BUILD_CLI OR YAZE_BUILD_Z3ED) AND NOT YAZE_ENABLE_AGENT_CLI)
|
||||
set(YAZE_ENABLE_AGENT_CLI ON CACHE BOOL "Build the conversational agent CLI stack (z3ed agent commands)" FORCE)
|
||||
endif()
|
||||
|
||||
if(YAZE_ENABLE_HTTP_API AND NOT YAZE_ENABLE_AGENT_CLI)
|
||||
set(YAZE_ENABLE_AGENT_CLI ON CACHE BOOL "Build the conversational agent CLI stack (z3ed agent commands)" FORCE)
|
||||
endif()
|
||||
|
||||
# Build optimizations
|
||||
option(YAZE_ENABLE_LTO "Enable link-time optimization" OFF)
|
||||
option(YAZE_ENABLE_SANITIZERS "Enable AddressSanitizer/UBSanitizer" OFF)
|
||||
@@ -84,6 +91,10 @@ if(YAZE_ENABLE_AI_RUNTIME)
|
||||
add_compile_definitions(YAZE_AI_RUNTIME_AVAILABLE)
|
||||
endif()
|
||||
|
||||
if(YAZE_ENABLE_HTTP_API)
|
||||
add_compile_definitions(YAZE_HTTP_API_ENABLED)
|
||||
endif()
|
||||
|
||||
# Print configuration summary
|
||||
message(STATUS "=== YAZE Build Configuration ===")
|
||||
message(STATUS "GUI Application: ${YAZE_BUILD_GUI}")
|
||||
@@ -99,6 +110,7 @@ message(STATUS "AI Runtime: ${YAZE_ENABLE_AI_RUNTIME}")
|
||||
message(STATUS "AI Features (legacy): ${YAZE_ENABLE_AI}")
|
||||
message(STATUS "Agent UI Panels: ${YAZE_BUILD_AGENT_UI}")
|
||||
message(STATUS "Agent CLI Stack: ${YAZE_ENABLE_AGENT_CLI}")
|
||||
message(STATUS "HTTP API Server: ${YAZE_ENABLE_HTTP_API}")
|
||||
message(STATUS "LTO: ${YAZE_ENABLE_LTO}")
|
||||
message(STATUS "Sanitizers: ${YAZE_ENABLE_SANITIZERS}")
|
||||
message(STATUS "Coverage: ${YAZE_ENABLE_COVERAGE}")
|
||||
|
||||
Reference in New Issue
Block a user