Commit Graph

28 Commits

Author SHA1 Message Date
scawful
8ad74c8723 refactor: Restructure CLI File Organization and Update Includes
- Updated CMakeLists.txt to reflect new file paths for CLI components, enhancing project organization.
- Replaced instances of the deprecated z3ed.h with cli.h across multiple handler files, improving code consistency and maintainability.
- Organized CLI source files into a dedicated directory structure for better modularity and clarity.
2025-10-05 23:53:06 -04:00
scawful
c3df55d787 feat: Add Todo Command and Improve Argument Parsing in Palette Export/Import
- Introduced a new 'todo' command in the agent handler for managing tasks and project planning.
- Enhanced argument parsing in PaletteExport and PaletteImport to ensure proper usage and error handling, improving user feedback for command execution.
2025-10-05 12:46:07 -04:00
scawful
019c20e749 feat: Enhance z3ed networking documentation and CLI capabilities
- Updated NETWORKING.md to reflect the new versioning and provide a comprehensive overview of the z3ed networking, collaboration, and remote access features.
- Introduced detailed architecture descriptions, including communication layers and core components for collaboration.
- Added new CLI commands for hex and palette manipulation, enhancing the functionality of the z3ed CLI.
- Implemented a TODO management system within the CLI for better task tracking and execution planning.
- Improved README.md to include new CLI capabilities and enhancements related to the TODO management system.
2025-10-05 01:15:15 -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
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
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
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
94cf867d36 feat: Add simple chat session for AI agent interaction and enhance message rendering 2025-10-03 23:55:08 -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
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
720d55fc43 Enhance chat command functionality with ROM context integration and improve TUI initialization 2025-10-03 15:11:18 -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
208b9ade51 Integrate AI Agent Services and Chat Interface
- Added support for AI agent services, including `ConversationalAgentService`, to facilitate user interactions through a chat interface.
- Implemented `ChatTUI` for a terminal-based chat experience, allowing users to send messages and receive responses from the AI agent.
- Updated `EditorManager` to include options for displaying the agent chat widget and performance dashboard.
- Enhanced CMake configurations to include new source files for AI services and chat interface components.

This commit significantly expands the functionality of the z3ed system, paving the way for a more interactive and user-friendly experience in ROM hacking.
2025-10-03 12:39:48 -04:00
scawful
655c5547b2 Implement new agent commands for resource listing and dungeon sprite retrieval
- Added `HandleResourceListCommand` to list resources by type and format (table or JSON).
- Introduced `HandleDungeonListSpritesCommand` to retrieve and display sprites from specified dungeon rooms.
- Updated command handling in `agent.cc` to support new subcommands.
- Enhanced error handling for invalid inputs and missing ROM files.

This commit expands the functionality of the z3ed agent, enabling users to interact with game resources and dungeon sprites more effectively.
2025-10-03 10:09:53 -04:00
scawful
90ddc3d50c Refactor CLI Service Structure and Enhance AI Integration
- Restructured CLI service source files to improve organization, moving files into dedicated directories for better maintainability.
- Introduced new AI service components, including `AIService`, `MockAIService`, and `GeminiAIService`, to facilitate natural language command generation.
- Implemented `PolicyEvaluator` and `ProposalRegistry` for enhanced proposal management and policy enforcement in AI workflows.
- Updated CMake configurations to reflect new file paths and ensure proper linking of the restructured components.
- Enhanced test suite with new test workflow generation capabilities, improving the robustness of automated testing.

This commit significantly advances the architecture of the z3ed system, laying the groundwork for more sophisticated AI-driven features and streamlined development processes.
2025-10-03 09:54:27 -04:00
scawful
6b13c2ea0a Implement GUI Automation Test Commands and Refactor AsarWrapper Usage
- Added new test commands for GUI automation in `test_commands.cc`, including handling test runs, statuses, listings, and results.
- Refactored instances of `app::core::AsarWrapper` to `core::AsarWrapper` across multiple files for consistency.
- Updated CMake configuration to include new test command files.
- Modified integration and unit tests to reflect the changes in AsarWrapper usage.
- Ensured proper error handling and output formatting for test commands.
2025-10-02 19:33:05 -04:00
scawful
22f0e5006b feat: Implement widget discovery feature in GUI automation
- Added `DiscoverWidgets` RPC to the ImGuiTestHarness service for enumerating GUI widgets.
- Introduced `WidgetDiscoveryService` to handle widget collection and filtering based on various criteria.
- Updated `agent gui discover` command to support new options for filtering and output formats.
- Enhanced `GuiAutomationClient` to facilitate widget discovery requests and responses.
- Added necessary protobuf messages for widget discovery in `imgui_test_harness.proto`.
- Updated CLI command handling to include new GUI discovery functionality.
- Improved documentation for the `agent gui discover` command with examples and output formats.
2025-10-02 16:56:15 -04:00
scawful
3944861b38 refactor(agent): Remove unnecessary preprocessor directive for gRPC includes 2025-10-02 16:25:45 -04:00
scawful
4b5e866871 feat(cli): Enhance test command functionality and add new status features
- Refactored the HandleTestCommand to support subcommands: status, list, and results.
- Implemented HandleTestStatusCommand to fetch and display the status of a test by ID.
- Added HandleTestListCommand to list tests with optional filters for category and status.
- Created HandleTestResultsCommand to retrieve detailed results for a specific test execution.
- Introduced new structures for test status details, test summaries, and results.
- Updated GuiAutomationClient to support gRPC calls for fetching test status and results.
- Enhanced the ModernCLI to reflect new command usage for test operations.
- Added JSON and YAML formatting for test results output.
2025-10-02 16:14:09 -04:00
scawful
4a4b815c1b feat: Implement gRPC support for CLI Agent Test Command and enhance build configuration 2025-10-02 08:52:11 -04:00
scawful
0465d07a55 feat: Add GUI automation client and test workflow generator
- Implemented GuiAutomationClient for gRPC communication with the test harness.
- Added methods for various GUI actions: Click, Type, Wait, Assert, and Screenshot.
- Created TestWorkflowGenerator to convert natural language prompts into structured test workflows.
- Enhanced HandleTestCommand to support new command-line arguments for GUI automation.
- Updated CMakeLists.txt to include new source files for GUI automation and workflow generation.
2025-10-02 01:01:19 -04:00
scawful
fabf0c9e51 feat: Implement proposal loading from disk in ProposalRegistry and enhance agent command handling 2025-10-01 20:13:00 -04:00
scawful
02c6985201 feat: Enhance ROM loading options and proposal management
- Introduced `RomLoadOptions` struct to manage various loading configurations for ROM files, including options for stripping headers, populating metadata, and loading Zelda 3 content.
- Updated `Rom::LoadFromFile` and `Rom::LoadFromData` methods to accept `RomLoadOptions`, allowing for more flexible ROM loading behavior.
- Implemented `MaybeStripSmcHeader` function to conditionally remove SMC headers from ROM data.
- Added new command handler `RomInfo` to display basic ROM information, including title and size.
- Created `ProposalRegistry` class to manage agent-generated proposals, including creation, logging, and status updates.
- Enhanced CLI commands to support proposal listing and detailed diff viewing, improving user interaction with agent-generated modifications.
- Updated resource catalog to include new actions for ROM info and agent proposal management.
2025-10-01 18:18:48 -04:00
scawful
04a4d04f4e feat(cli): Enhance CLI with resource catalog and sandbox management
- Added resource catalog for introspecting CLI resources, including schemas for palettes, ROMs, patches, overworlds, dungeons, and agents.
- Implemented serialization methods for resource schemas in both JSON and YAML formats.
- Introduced RomSandboxManager to manage sandboxed ROM copies, allowing for safe experimentation with ROM modifications.
- Updated ModernCLI to include new commands for palette management and enhanced help output.
- Added unit tests for resource catalog serialization and schema validation.
2025-10-01 14:34:58 -04:00
scawful
ec687d737a Enhance HandleTestCommand to support process execution on Unix-like systems and improve error handling for test execution 2025-10-01 10:22:30 -04:00
scawful
ba50d89e7d Update z3ed CLI tool and project build configuration
- Updated `.clang-tidy` and `.clangd` configurations for improved code quality checks and diagnostics.
- Added new submodules for JSON and HTTP libraries to support future features.
- Refined README and documentation files to standardize naming conventions and improve clarity.
- Introduced a new command palette in the CLI for easier command access and execution.
- Implemented various CLI handlers for managing ROM, sprites, palettes, and dungeon functionalities.
- Enhanced the TUI components for better user interaction and command execution.
- Added AI service integration for generating commands based on user prompts, expanding the CLI's capabilities.
2025-10-01 08:57:10 -04:00