Commit Graph

180 Commits

Author SHA1 Message Date
scawful
13bbe8078a feat: Enhance GUI action generation and testing for AI tile placement
- Introduced `GuiActionGenerator` class to convert high-level AI actions into executable GUI test scripts, supporting JSON output for automated testing.
- Added comprehensive test suite for AI tile placement commands, validating command parsing and generated test scripts.
- Updated `README.md` to reflect recent enhancements and completed features in the project.
- Improved CMake configuration to include new source files for GUI action generation and related services.
2025-10-04 22:23:31 -04:00
scawful
9d5919adb5 feat: Add AI action parser for natural language command processing
- Introduced `AIActionParser` class to parse natural language commands into structured GUI actions, supporting commands like placing tiles and opening editors.
- Implemented helper functions for extracting coordinates and parsing hex/decimal values.
- Added action types for various AI actions, including selecting and placing tiles, saving changes, and clicking buttons.
- Created header file `ai_action_parser.h` to define the action types and parser interface.
- Added implementation file `ai_action_parser.cc` with command parsing logic and pattern matching for different action types.
2025-10-04 22:19:09 -04:00
scawful
61f1d6fbac feat: Update function schemas and system prompt for enhanced agent capabilities
- Revised function schemas in `function_schemas.json` to streamline resource listing and searching, including new parameters for dungeon and overworld queries.
- Introduced a new system prompt in `system_prompt_v3.txt` to improve the agent's proactive exploration and multi-tool chaining strategies.
- Updated `GeminiAIService` to support the new prompt version and enhanced function calling logic for better tool integration.
- Added tests for multimodal image analysis and error handling in `test_gemini_vision.cc` to ensure robust functionality.
2025-10-04 22:14:04 -04:00
scawful
e83235ee1a feat: Implement learn command for agent tool with knowledge management features
- Introduced the `agent learn` command to manage learned knowledge, including user preferences, ROM patterns, project context, and conversation memory.
- Added functionality for setting, getting, listing preferences, and managing project contexts.
- Implemented memory storage and retrieval, allowing the agent to remember past conversations and key facts.
- Enhanced CLI output with usage instructions and error handling for the learn command.
- Created a new `LearnedKnowledgeService` to handle persistent data storage and retrieval.
2025-10-04 22:10:58 -04:00
scawful
9b51cd09f6 feat: Enhance AgentChatWidget with system prompt management and project settings
- Updated system prompt loading functionality to support both version 1 and version 2 prompts, allowing users to load built-in prompts directly.
- Implemented custom system prompt loading and saving capabilities, enabling users to manage their prompts more effectively.
- Added methods to load and save agent settings from/to project files, including AI provider configurations and custom prompts.
- Improved user feedback with toast notifications for successful and failed operations related to system prompts and settings.
2025-10-04 21:37:56 -04:00
scawful
85bc14e93e feat: Add overworld sprite and entrance commands to agent tool
- Implemented new commands for listing overworld sprites and retrieving entrance details.
- Enhanced CLI functionality to support filtering by map, world, and sprite ID with JSON and text output formats.
- Introduced tile statistics analysis command for detailed tile usage insights.
- Updated function schemas and system prompts to reflect the new commands and their parameters.
2025-10-04 21:27:10 -04:00
scawful
f38946118c feat: Implement message handling commands for agent tool
- Added functionality for listing, reading, and searching messages in the ROM.
- Introduced new commands: `message-list`, `message-read`, and `message-search` with appropriate parameters and descriptions.
- Enhanced the CLI to support these commands, including JSON and text output formats.
- Updated system prompts and function schemas to reflect the new message handling capabilities.
2025-10-04 20:53:13 -04:00
scawful
712ed8dbf4 feat: Add Windows compatibility for curl command execution in GeminiAIService
- Implemented conditional compilation for executing curl commands using _popen and _pclose on Windows.
- Ensured consistent handling of command execution across different operating systems.
- Updated response generation methods to maintain functionality in Windows environments.
2025-10-04 20:00:31 -04:00
scawful
588db01df6 feat: Improve CMake configuration and build environment verification
- Enabled JSON support by default in CMake to resolve Windows build issues.
- Added checks for the existence of the JSON library and its target, providing clear error messages if missing.
- Updated README with instructions for building with AI features.
- Enhanced the build environment verification script for better feedback on setup issues and added checks for agent folder structure.
- Introduced new CMake presets for AI-enabled builds and collaboration support.
2025-10-04 19:43:05 -04:00
scawful
fbbe911ae0 feat: Expand collaborative session capabilities in Z3ED documentation
- Updated README.md to include detailed instructions for both local and network collaboration modes.
- Added setup requirements and steps for starting a collaboration server using Node.js.
- Enhanced feature descriptions for real-time collaboration, session management, and participant tracking.
- Improved clarity on how to host and join sessions in both collaboration modes.
2025-10-04 17:31:36 -04:00
scawful
cc99fc2ae9 feat: Enhance AgentChatWidget with network collaboration features and UI improvements
- Added support for selecting between local and network collaboration modes in the AgentChatWidget.
- Implemented a UI for entering server URL and managing session details.
- Updated collaboration state management to include server URL and connection status.
- Improved layout of the collaboration panel with a table for session details and controls.
- Integrated a simple WebSocket client for handling network communication.
- Added CLI commands for starting and checking the status of the collaboration server.
2025-10-04 17:29:48 -04:00
scawful
59ef5fb8bf feat: Add collaborative chat sessions and multimodal vision support in Z3ED 2025-10-04 16:56:43 -04:00
scawful
3735a0d4a7 feat: Enhance agent chat widget with history management and proposal handling 2025-10-04 14:05:36 -04:00
scawful
6990e565b8 feat: Enhance chat command with multiple output formats and improve help documentation
- Updated the chat command to support new output formats: text, markdown, json, and compact.
- Modified the agent configuration to include output format settings.
- Enhanced the command line interface to handle new format options and provide detailed usage instructions.
- Improved the message printing logic in SimpleChatSession to format output based on the selected format.
- Added JSON and Markdown formatting for session metrics and messages.
- Updated help documentation to reflect changes in command usage and available options.
2025-10-04 13:33:19 -04:00
scawful
4b61b213c0 feat: Add resource search and dungeon room description commands
- Implemented `resource-search` command to allow fuzzy searching of resource labels.
- Added `dungeon-describe-room` command to summarize metadata for a specified dungeon room.
- Enhanced `agent` command handler to support new commands and updated usage documentation.
- Introduced read-only accessors for room metadata in the Room class.
- Updated AI service to recognize and handle new commands for resource searching and room description.
- Improved metrics tracking for user interactions, including command execution and response times.
- Enhanced TUI to display command metrics and session summaries.
2025-10-04 12:00:51 -04:00
scawful
acada1bec5 feat: Add proposal executor for agent response handling and command execution 2025-10-04 05:18:09 -04:00
scawful
8deb2656d5 feat: Enhance AI service with verbose logging and command help
- Added a `--verbose` flag to enable detailed debug output for the Gemini AI service.
- Updated `GeminiAIService` constructor to log initialization details when verbose mode is enabled.
- Modified `CreateAIService` to pass the verbose flag to the Gemini configuration.
- Enhanced command help in `ModernCLI` to categorize commands and provide detailed descriptions.
- Refactored `HandleSimpleChatCommand` to accept a pointer to `Rom` instead of a reference.
- Updated `ShowCategoryHelp` to display command categories and examples.
- Improved error handling and logging in `GeminiAIService` for better debugging.
2025-10-04 04:28:44 -04:00
scawful
9ab2d2bde8 feat: Implement context and follow-up queries for agent interactions and enhance simple chat command with quiet mode support 2025-10-04 03:49:40 -04:00
scawful
2a6f7d5c15 feat: Add support for prompt versioning and function calling in Gemini AI service 2025-10-04 03:42:22 -04:00
scawful
fe7b9053c7 feat: Enhance Gemini AI service with OpenSSL initialization and improved error handling 2025-10-04 03:36:42 -04:00
scawful
9acd6ba17f feat: Enhance system prompt JSON schema and clarify tool result formatting in conversational agent 2025-10-04 03:19:28 -04:00
scawful
10a2713465 feat: Add configuration options for conversational agent, including verbosity, reasoning display, and tool iteration limits 2025-10-04 03:07:32 -04:00
scawful
2931634837 feat: Enhance AI agent capabilities with new tool calling instructions, improved response handling, and terminal color utilities 2025-10-04 03:04:22 -04:00
scawful
f39ce79048 feat: Enhance simple chat command to support multiple input modes including batch files and single messages 2025-10-04 02:29:15 -04:00
scawful
2fb96cbbfd feat: Add AI service configuration flags and update service factory for improved flexibility 2025-10-04 02:22:02 -04:00
scawful
39e6379bc3 feat: Add embedded labels support in conversation tests and initialize in tool commands 2025-10-04 02:07:13 -04:00
scawful
ed44ac4e48 feat: Enhance AI agent commands and help interface for improved user experience 2025-10-04 01:52:51 -04:00
scawful
0ff96fac45 feat: Implement embedded labels support for Zelda3 resources in project management 2025-10-04 01:35:14 -04:00
scawful
cb084223f0 feat: Add project and labels loading functionality to enhance chat command experience 2025-10-04 01:23:29 -04:00
scawful
83f6f50326 feat: Update CMake presets and agent configuration for improved build options and interactive chat session experience 2025-10-04 01:04:24 -04:00
scawful
e1304384bc feat: Add simple chat session implementation and integrate into build system 2025-10-04 00:02:01 -04:00
scawful
94cf867d36 feat: Add simple chat session for AI agent interaction and enhance message rendering 2025-10-03 23:55:08 -04:00
scawful
a6cdc651c3 feat: Implement AgentChatWidget for conversational AI interaction and add ASCII logo support 2025-10-03 23:43:19 -04:00
scawful
602f1beec5 feat: Consolidate AI agent build flags and enhance JSON support handling 2025-10-03 23:19:37 -04:00
scawful
ad7c5f72b2 feat: Enhance conversation testing with ROM loading and verbose output options 2025-10-03 22:49:52 -04:00
scawful
57c8434ee1 feat: Add batch testing mode for conversational agent and implement conversation test cases 2025-10-03 22:27:55 -04:00
scawful
bcdb7b3ad0 feat: Implement LLM function calling schemas and enhance prompt builder with tool definitions 2025-10-03 22:20:29 -04:00
scawful
2c45453dd0 Implement recording functionality in agent test commands
- Added RecordingState structure to manage recording session details.
- Implemented SaveRecordingState and LoadRecordingState functions to handle recording state persistence.
- Enhanced HandleTestRecordCommand to support starting and stopping recording sessions with various options.
- Integrated gRPC calls for starting and stopping recordings in GuiAutomationClient.
- Updated ProposalRegistry to include sandbox directory and ROM path in ProposalMetadata.
- Implemented JSON parsing for Tile16Proposal to handle proposal creation from JSON input.
- Updated CMakeLists.txt to ensure proper linking of emulator targets.
2025-10-03 21:16:08 -04:00
scawful
db227c9de5 feat: Update CMake configuration for Abseil and gRPC, enhance modular build support, and add CLI flag handling 2025-10-03 20:24:58 -04:00
scawful
c9f439207e feat: Enhance modular build support and update Abseil integration for macOS 2025-10-03 19:10:59 -04:00
scawful
c3eaace72c feat: Implement modular build system for Yaze
- Added option to enable modular build with `YAZE_USE_MODULAR_BUILD`.
- Updated CMake configuration to support modular libraries for core, editor, graphics, GUI, and emulator functionalities.
- Refactored existing libraries to separate concerns and improve build times.
- Introduced new utility library `yaze_util` for low-level utilities.
- Adjusted CI and release workflows to accommodate the new build system.
- Updated various source files to reflect new include paths and modular structure.
- Enhanced YAML configuration handling in the agent component.
2025-10-03 18:32:51 -04:00
scawful
60e9ea69ac Refactor CMake configuration by removing unused source files and adjusting target link libraries for core components 2025-10-03 17:00:52 -04:00
scawful
42c64db904 Add YAML support and enhance AI service context handling
- Integrated yaml-cpp library into the project for YAML file parsing.
- Updated ConversationalAgentService to set ROM context in AI services.
- Extended AIService interface with SetRomContext method for context injection.
- Implemented SetRomContext in GeminiAIService and OllamaAIService.
- Enhanced PromptBuilder to load resource catalogues from YAML files.
- Added functions to parse commands, tools, examples, and tile references from YAML.
- Improved error handling for loading YAML files and added search paths for catalogues.
- Updated CMake configuration to fetch yaml-cpp if not found.
- Modified vcpkg.json to include yaml-cpp as a dependency.
2025-10-03 16:44:29 -04:00
scawful
467b0926e5 Add Overworld tile search command and enhance related documentation
- Implemented `overworld-find-tile` command in the agent for searching tiles by ID.
- Updated `README.md` and `AGENT-ROADMAP.md` to reflect new command and usage.
- Enhanced `overworld_inspect` module with tile matching functionality.
2025-10-03 15:57:42 -04:00
scawful
8935363eae Implement Overworld Map Inspection Commands
- Added `OverworldDescribeMap` command to summarize metadata for a specified overworld map.
- Introduced `OverworldListWarps` command to list overworld entrances and holes with their coordinates.
- Refactored existing `overworld.cc` to utilize new helper functions for parsing and validation.
- Created `overworld_inspect.cc` and `overworld_inspect.h` to encapsulate map and warp-related functionalities.
- Updated `ModernCLI` to register new commands and handle their execution.
- Modified `tool_dispatcher.cc` to support dispatching the new commands.
- Updated CMake configuration to include new source files for the inspection commands.
2025-10-03 15:39:04 -04:00
scawful
720d55fc43 Enhance chat command functionality with ROM context integration and improve TUI initialization 2025-10-03 15:11:18 -04:00
scawful
3715ae98eb Enhance agent chat functionality with ROM context support and structured message rendering 2025-10-03 14:46:22 -04:00
scawful
b6ba7cb572 Add 'overworld find-tile' command for locating tile instances across maps 2025-10-03 14:12:05 -04:00
scawful
c7a7707d25 Enhance z3ed Agent Roadmap and CLI Reference with New Tool Commands and Chat Features 2025-10-03 13:51:01 -04:00
scawful
ba9f6533a4 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.
2025-10-03 13:34:54 -04:00