diff --git a/src/lang/command_patterns.js b/src/lang/command_patterns.js index 599f272..22f3e98 100644 --- a/src/lang/command_patterns.js +++ b/src/lang/command_patterns.js @@ -17,62 +17,60 @@ const commandPatterns = [ // Sigma details patterns { - name: 'sigma-details-direct', - regex: /^(explain|get|show|display|details|info|about)\s+(rule|detection)\s+(from\s+)?sigma\s+(where\s+)?(id=|id\s+is\s+|with\s+id\s+)(.+)$/i, - action: 'details', - module: 'sigma', - params: [6] // rule ID is in capturing group 6 + name: 'sigma-details-direct', + regex: /^(explain|get|show|display|details|info|about)\s+(rule|detection)\s+(from\s+)?sigma\s+(where\s+)?(id=|id\s+is\s+|with\s+id\s+)(.+)$/i, + action: 'details', + module: 'sigma', + params: [6] // rule ID is in capturing group 6 }, { - name: 'sigma-details-simple', - regex: /^(details|explain)\s+(.+)$/i, - action: 'details', - module: 'sigma', - params: [2] // rule ID is in capturing group 2 + name: 'sigma-details-simple', + regex: /^(details|explain)\s+(.+)$/i, + action: 'details', + module: 'sigma', + params: [2] // rule ID is in capturing group 2 }, - + // Sigma search patterns { - name: 'sigma-search', - regex: /^(search|find|look\s+for)\s+(rules|detections)?\s*(in|from)?\s*sigma\s+(for|where|with)?\s+(.+)$/i, - action: 'search', - module: 'sigma', - params: [5] // search query is in capturing group 5 + name: 'sigma-search', + regex: /^(search|find|look\s+for)\s+(rules|detections)?\s*(in|from)?\s*sigma\s+(for|where|with)?\s+(.+)$/i, + action: 'search', + module: 'sigma', + params: [5] // search query is in capturing group 5 }, { - name: 'sigma-search-simple', - regex: /^(search|find)\s+(.+)$/i, - action: 'search', - module: 'sigma', - params: [2] // search query is in capturing group 2 + name: 'sigma-search-simple', + regex: /^(search|find)\s+(.+)$/i, + action: 'search', + module: 'sigma', + params: [2] // search query is in capturing group 2 }, - + // Sigma create patterns { - name: 'sigma-create', - regex: /^(create|new|add)\s+(rule|detection)\s+(in|to|for)?\s*sigma\s+(with|using)?\s+(.+)$/i, - action: 'create', - module: 'sigma', - params: [5] // creation parameters in capturing group 5 + name: 'sigma-create', + regex: /^(create|convert)\s+sigma\s+rule\s+where\s+id=(.+)$/i, + action: 'create', + module: 'sigma', + params: [2] // rule ID is in capturing group 2 }, - + // Sigma stats patterns { - name: 'sigma-stats', - regex: /^(stats|statistics|metrics|counts)\s+(for|about|on|of)?\s*sigma$/i, - action: 'stats', - module: 'sigma', - params: [] + name: 'sigma-stats-first', + regex: /^sigma\s+stats$/i, + action: 'stats', + module: 'sigma', + params: [] }, { - name: 'sigma-stats-show', - regex: /^(show|get|display)\s+(stats|statistics|metrics|counts)\s+(for|about|on|of)?\s*sigma$/i, - action: 'stats', - module: 'sigma', - params: [] + name: 'sigma-stats-second', + regex: /^stats\s+sigma$/i, + action: 'stats', + module: 'sigma', + params: [] } - - // Additional command patterns for other modules can be added here - ]; - - module.exports = commandPatterns; \ No newline at end of file +]; + +module.exports = commandPatterns; \ No newline at end of file