llm-whip
Version:
File monitoring tool that detects lazy patterns and anti-cheat behaviors in code and LLM conversations
131 lines • 3.76 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "LLM Whip Configuration",
"description": "Configuration file for LLM Whip - Anti-cheat monitoring for LLM coding sessions",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "JSON Schema reference"
},
"patterns": {
"type": "array",
"description": "List of patterns to detect in code",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Unique name for this pattern"
},
"pattern": {
"type": "string",
"description": "JavaScript regular expression to match"
},
"severity": {
"type": "string",
"enum": ["low", "medium", "high"],
"description": "Severity level of this pattern",
"default": "medium"
},
"reactions": {
"type": "array",
"description": "Actions to take when pattern is detected",
"items": {
"type": "string",
"enum": ["sound", "alert", "interrupt", "webhook"]
},
"default": ["alert"]
},
"message": {
"type": "string",
"description": "Message to display when pattern is detected"
},
"interruptMessage": {
"type": "string",
"description": "Custom message sent to active window during keyboard interrupt"
}
},
"required": ["name", "pattern"],
"additionalProperties": false
}
},
"reactions": {
"type": "object",
"description": "Global reaction configuration",
"properties": {
"sound": {
"oneOf": [
{"type": "boolean"},
{
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Custom sound command to execute"
}
}
}
],
"description": "Sound reaction configuration"
},
"interrupt": {
"oneOf": [
{"type": "boolean"},
{
"type": "object",
"properties": {
"delay": {
"type": "number",
"description": "Delay in milliseconds before interrupt"
}
}
}
],
"description": "Keyboard interrupt configuration"
},
"alert": {
"oneOf": [
{"type": "boolean"},
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": ["color", "plain"],
"description": "Alert display format"
}
}
}
],
"description": "Alert display configuration"
}
},
"additionalProperties": false
},
"debounce": {
"oneOf": [
{"type": "number"},
{"type": "boolean", "const": false}
],
"description": "Debounce window in milliseconds, or false to disable",
"default": 2000
},
"fileTracking": {
"oneOf": [
{"type": "boolean"},
{
"type": "object",
"properties": {
"filePath": {"type": "string"},
"editingFile": {"type": "string"},
"lineNumber": {"type": "string"}
}
}
],
"description": "File tracking configuration"
}
},
"required": ["patterns"],
"additionalProperties": false
}