User-defined Actions System - #200
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
- Added `actions` GroupConfig to Configuration. - Enhanced action backend to support captures in callbacks. - Implemented `UserActionManager` to manage user-defined triggers. - Integrated `UserActionManager` into the parsing pipeline. - Added `/action` command for managing user actions (add, remove, list). - Actions support `regex`, `starts`, and `ends` matching types. - Actions support variable substitution (%0 to %9) for captures. - Added unit tests for `UserActionManager`.
- Added `actions` GroupConfig to Configuration.
- Enhanced action backend to support captures in callbacks.
- Implemented `UserActionManager` with performance optimizations:
- Pre-compiled `std::regex` objects.
- Hint-based indexing (first character) for faster lookups.
- Minimized string allocations during matching.
- Integrated `UserActionManager` into the parsing pipeline.
- Added a unified `/action` command for managing user actions:
- `/action` (list active actions).
- `/action <pattern>` (remove action).
- `/action [-regex|-starts|-ends] <pattern> <command>` (define action).
- Actions support variable substitution (%0 to %9) for captures.
- Added comprehensive unit tests in `TestUserActionManager`.
- Rebased on master and resolved conflicts with the new Timers panel.
8f94731 to
c16a663
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #200 +/- ##
==========================================
- Coverage 25.40% 0.00% -25.41%
==========================================
Files 519 498 -21
Lines 43102 41275 -1827
Branches 4698 4711 +13
==========================================
- Hits 10952 0 -10952
- Misses 32150 41275 +9125 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Implement a flexible and optimized user-defined action system inspired by Powwow, JMC, and TinTin++. - Added UserActionManager to handle action lifecycle and evaluation. - Supported Regex, StartsWith, and EndsWith action types. - Implemented capture group support (%0-%9) for variables. - Optimized matching with first-character hints and pre-compiled regex. - Unified /action command for listing, defining, and removing actions. - Stored user actions separately in the actions configuration group. - Enhanced internal action backend to support capture groups. - Fixed cross-platform CI issues related to regex template deduction. - Moved sendToMud to base class for shared access.
Implement a flexible and optimized user-defined action system inspired by Powwow, JMC, and TinTin++. - Added UserActionManager to handle action lifecycle and evaluation. - Supported Regex, StartsWith, and EndsWith action types. - Implemented capture group support (%0-%9) for variables. - Optimized matching with first-character hints and pre-compiled regex. - Unified /action command for listing, defining, and removing actions. - Stored user actions separately in the actions configuration group. - Enhanced internal action backend to support capture groups. - Fixed cross-platform CI issues related to regex template deduction. - Moved sendToMud to base class for shared access. - Avoided forbidden QString string conversion functions in favor of mmqt helpers. - Resolved build conflicts and ensured strict adherence to project standards.
Implement a flexible and optimized user-defined action system inspired by Powwow, JMC, and TinTin++. - Added UserActionManager to handle action lifecycle and evaluation. - Supported Regex, StartsWith, and EndsWith action types. - Implemented capture group support (%0-%9) for variables. - Optimized matching with first-character hints and pre-compiled regex. - Unified /action command for listing, defining, and removing actions. - Stored user actions separately in the actions configuration group. - Enhanced internal action backend to support capture groups. - Fixed cross-platform CI issues related to regex template deduction. - Moved sendToMud to base class for shared access. - Added comprehensive help documentation for the action command. - Avoided forbidden QString string conversion functions. - Resolved build conflicts and rebased on top of master v26.04.1.
e8139f3 to
c119262
Compare
ae664f2 to
bcd8fca
Compare
This change implements a user-defined action system, allowing users to define custom triggers and commands based on MUD output. It leverages the existing action backend but extends it with capture support and a user-facing CLI command. User actions are stored separately in the configuration and evaluated before internal actions.
PR created automatically by Jules for task 6667877936605571834 started by @nschimme