Commit Graph

25 Commits

Author SHA1 Message Date
scawful
d888ce598d feat(agent): add new emulator commands for enhanced debugging and control
- Introduced several new commands to the emulator, including:
  - `emulator-set-breakpoint`: Set breakpoints for debugging.
  - `emulator-clear-breakpoint`: Remove breakpoints by ID.
  - `emulator-list-breakpoints`: List all active breakpoints.
  - `emulator-step`: Step through CPU instructions.
  - `emulator-run`: Run the emulator until a breakpoint or for a specified number of frames.
  - `emulator-pause`: Pause execution for inspection.
  - `emulator-reset`: Reset the emulator to its initial state.
  - `emulator-get-registers`: Retrieve current CPU register values.
  - `emulator-get-metrics`: Get performance metrics of the emulator.

Benefits:
- Enhances debugging capabilities and provides more control over emulator execution, improving the development experience.
2025-10-12 11:57:52 -04:00
scawful
aacc7795c3 feat(emulator): implement gRPC control server and emulator commands
- Added `AgentControlServer` to manage gRPC connections for emulator control.
- Introduced `EmulatorServiceImpl` with methods for starting, stopping, and controlling the emulator, including button presses and memory operations.
- Created new command handlers for pressing, releasing, and holding emulator buttons.
- Updated CMake configuration to include new source files and proto definitions for the emulator service.

Benefits:
- Enhanced control over the emulator through gRPC, allowing for remote interactions.
- Improved modularity and maintainability of the emulator's command handling.
- Streamlined integration of new features for emulator control and state inspection.
2025-10-11 13:57:07 -04:00
scawful
aac82ae12d move agent policy yaml 2025-10-09 10:03:28 -04:00
scawful
73df4af850 feat: Enhance Agent Tools with Dialogue, Music, and Sprite Commands
- Added new command handlers for dialogue inspection tools: `dialogue-list`, `dialogue-read`, and `dialogue-search`, allowing users to interact with dialogue messages in the ROM.
- Introduced music data tools: `music-list`, `music-info`, and `music-tracks`, enabling users to retrieve information about music tracks and their properties.
- Implemented sprite property tools: `sprite-list`, `sprite-properties`, and `sprite-palette`, providing access to sprite details and color palettes.
- Updated the command dispatcher to support the new tools, enhancing the functionality and usability of the CLI for users working with ROM data.
2025-10-06 01:10:50 -04:00
scawful
e0f0805426 feat: Add Oracle of Secrets Labels and System Prompt
- Introduced a new YAML file, `oracle_of_secrets_labels.yaml`, containing structured data for items, masks, dungeons, bosses, NPCs, and SRAM/WRAM variables specific to the Oracle of Secrets ROM hack.
- Added a system prompt file, `oracle_of_secrets_system_prompt.txt`, outlining the role of the AI assistant, project context, task generation, key data sources, and best practices for user interactions.
- These additions enhance the functionality and usability of the z3ed tool for users working with the Oracle of Secrets project.
2025-10-06 01:02:46 -04:00
scawful
5c7749b7b8 feat: Introduce GUI Automation Tools for YAZE
- Added new GUI automation tools: gui-discover, gui-click, gui-place-tile, and gui-screenshot, enabling users to interact with the YAZE GUI programmatically.
- Implemented command handlers for each tool, allowing for automated GUI interactions such as clicking buttons, placing tiles, and capturing screenshots.
- Updated documentation to include usage instructions and examples for the new GUI tools, enhancing user experience and accessibility.
- Ensured compatibility with the test harness by requiring YAZE to run with the `--enable-test-harness` flag for GUI automation functionalities.
2025-10-06 01:01:33 -04:00
scawful
5034e1e97d feat: Add Common Tiles Reference and Enhance Asset Management
- Introduced a new common_tiles.txt file for AI agents, providing a customizable reference for various tile types used in projects.
- Updated CMake configuration to improve asset copying for macOS and non-Apple platforms, ensuring agent assets are correctly placed in the output directory.
- Enhanced the AssetLoader to support additional search paths for asset retrieval, improving cross-platform compatibility.
- Improved error handling in the AgentEditor for missing prompt files, providing clearer instructions for users on file locations and creation.
2025-10-05 12:16:59 -04:00
scawful
7712456154 feat: Add ROM hacking guides and prompt management for enhanced user support
- Introduced `alttp_rom_hacking_guide.txt` and `oracle_of_secrets_guide.txt` for detailed ROM structure and hacking techniques.
- Implemented `PromptManager` class to manage loading and retrieving prompts based on different modes.
- Enhanced system prompt with new tool capabilities for hex and palette manipulation, along with TODO management features.
- Updated CLI experience with improved command handling and user guidance for ROM exploration tasks.
2025-10-05 01:45:19 -04:00
scawful
277201416c feat: Enhance CMake presets and add new function schemas for ROM manipulation
- Updated CMake presets for macOS to include binary directory and cache variables for improved build configuration.
- Added new function schemas for ROM manipulation, including `hex-read`, `hex-write`, `hex-search`, and palette management functions such as `palette-get-colors` and `palette-set-color`.
- Introduced TODO management functions to create, list, and update tasks, enhancing task tracking capabilities within the application.
2025-10-05 01:00:32 -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
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
c49ef479e5 fix: Correct indentation and formatting in prompt_catalogue.yaml for better readability
- Adjusted indentation for usage notes and descriptions in the resource-list and resource-search tools.
- Ensured consistent formatting across command arguments for clarity.
2025-10-04 17:50:12 -04:00
scawful
2ac363918e Remove ImGui Widget Testing Guide and update documentation structure
- Deleted the ImGui Widget Testing Guide as it is no longer needed.
- Updated the main documentation index to reflect the new Dungeon Editor Guide location.
- Revised z3ed README to clarify core capabilities and quick start instructions.
- Removed the developer guide for z3ed as its content is now integrated into other documentation.
- Enhanced the architecture section to provide a clearer overview of the z3ed system components.
- Updated command references and added details on agent commands and workflows.
2025-10-04 13:47:41 -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
173685a928 feat: Add z3ed agent test workflow for macOS with Ollama integration and enhanced command generation 2025-10-04 04:00:43 -04:00
scawful
ed75bdc268 feat: Add complex command generation and error handling test cases for agent interactions 2025-10-04 03:54:11 -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
9acd6ba17f feat: Enhance system prompt JSON schema and clarify tool result formatting in conversational agent 2025-10-04 03:19:28 -04:00
scawful
209e150b18 feat: Update usage notes and examples in prompt catalogue for clarity on resource types 2025-10-04 03:13:34 -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
a6cdc651c3 feat: Implement AgentChatWidget for conversational AI interaction and add ASCII logo support 2025-10-03 23:43:19 -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
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