diff --git a/extensions/gpt-oss-safeguard/openclaw.plugin.json b/extensions/gpt-oss-safeguard/openclaw.plugin.json index 47c3a0f5251d..acf7965358f5 100644 --- a/extensions/gpt-oss-safeguard/openclaw.plugin.json +++ b/extensions/gpt-oss-safeguard/openclaw.plugin.json @@ -45,6 +45,38 @@ "maxTokens": { "label": "Max Tokens", "advanced": true + }, + "stages.beforeRequest.enabled": { + "label": "Enabled", + "help": "Enable guardrail check before user requests" + }, + "stages.beforeRequest.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, + "stages.beforeToolCall.enabled": { + "label": "Enabled", + "help": "Enable guardrail check before tool calls" + }, + "stages.beforeToolCall.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, + "stages.afterToolCall.enabled": { + "label": "Enabled", + "help": "Enable guardrail check after tool calls" + }, + "stages.afterToolCall.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, + "stages.afterResponse.enabled": { + "label": "Enabled", + "help": "Enable guardrail check after model responses" + }, + "stages.afterResponse.mode": { + "label": "Mode", + "help": "Block violations or monitor only" } }, "configSchema": { @@ -94,38 +126,84 @@ "additionalProperties": false, "properties": { "beforeRequest": { - "$ref": "#/$defs/stageConfig" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "includeHistory": { + "type": "boolean" + } + } }, "beforeToolCall": { - "$ref": "#/$defs/stageConfig" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "includeHistory": { + "type": "boolean" + } + } }, "afterToolCall": { - "$ref": "#/$defs/stageConfig" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "includeHistory": { + "type": "boolean" + } + } }, "afterResponse": { - "$ref": "#/$defs/stageConfig" - } - } - } - }, - "$defs": { - "stageConfig": { - "type": "object", - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mode": { - "type": "string", - "enum": ["block", "monitor"] - }, - "blockMode": { - "type": "string", - "enum": ["replace", "append"] - }, - "includeHistory": { - "type": "boolean" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "includeHistory": { + "type": "boolean" + } + } } } } diff --git a/extensions/grayswan-cygnal-guardrail/openclaw.plugin.json b/extensions/grayswan-cygnal-guardrail/openclaw.plugin.json index 6818d6eaddf6..7d7375d1a57d 100644 --- a/extensions/grayswan-cygnal-guardrail/openclaw.plugin.json +++ b/extensions/grayswan-cygnal-guardrail/openclaw.plugin.json @@ -31,6 +31,46 @@ "label": "Fail Open", "help": "Allow requests on API errors" }, + "stages.beforeRequest.enabled": { + "label": "Enabled", + "help": "Enable guardrail check before user requests" + }, + "stages.beforeRequest.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, + "stages.beforeToolCall.enabled": { + "label": "Enabled", + "help": "Enable guardrail check before tool calls" + }, + "stages.beforeToolCall.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, + "stages.afterToolCall.enabled": { + "label": "Enabled", + "help": "Enable guardrail check after tool calls" + }, + "stages.afterToolCall.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, + "stages.afterToolCall.blockOnMutation": { + "label": "Block on Mutation", + "help": "Block when mutation/jailbreak attempt detected" + }, + "stages.afterToolCall.blockOnIpi": { + "label": "Block on IPI", + "help": "Block when indirect prompt injection detected" + }, + "stages.afterResponse.enabled": { + "label": "Enabled", + "help": "Enable guardrail check after model responses" + }, + "stages.afterResponse.mode": { + "label": "Mode", + "help": "Block violations or monitor only" + }, "guardrailPriority": { "label": "Guardrail Priority", "advanced": true, @@ -80,49 +120,128 @@ "additionalProperties": false, "properties": { "beforeRequest": { - "$ref": "#/$defs/stageConfig" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "violationThreshold": { + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "blockOnMutation": { + "type": "boolean" + }, + "blockOnIpi": { + "type": "boolean" + }, + "includeHistory": { + "type": "boolean" + } + } }, "beforeToolCall": { - "$ref": "#/$defs/stageConfig" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "violationThreshold": { + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "blockOnMutation": { + "type": "boolean" + }, + "blockOnIpi": { + "type": "boolean" + }, + "includeHistory": { + "type": "boolean" + } + } }, "afterToolCall": { - "$ref": "#/$defs/stageConfig" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "violationThreshold": { + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "blockOnMutation": { + "type": "boolean" + }, + "blockOnIpi": { + "type": "boolean" + }, + "includeHistory": { + "type": "boolean" + } + } }, "afterResponse": { - "$ref": "#/$defs/stageConfig" - } - } - } - }, - "$defs": { - "stageConfig": { - "type": "object", - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mode": { - "type": "string", - "enum": ["block", "monitor"] - }, - "violationThreshold": { - "type": "number", - "minimum": 0, - "maximum": 1 - }, - "blockMode": { - "type": "string", - "enum": ["replace", "append"] - }, - "blockOnMutation": { - "type": "boolean" - }, - "blockOnIpi": { - "type": "boolean" - }, - "includeHistory": { - "type": "boolean" + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mode": { + "type": "string", + "enum": ["block", "monitor"] + }, + "violationThreshold": { + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "blockMode": { + "type": "string", + "enum": ["replace", "append"] + }, + "blockOnMutation": { + "type": "boolean" + }, + "blockOnIpi": { + "type": "boolean" + }, + "includeHistory": { + "type": "boolean" + } + } } } }