Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions plugins/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ import { handler as f5GuardrailsScan } from './f5-guardrails/scan';
import { handler as azureShieldPrompt } from './azure/shieldPrompt';
import { handler as azureProtectedMaterial } from './azure/protectedMaterial';
import { handler as crowdstrikeAidrGuardChatCompletions } from './crowdstrike-aidr/guardChatCompletion';
import { handler as singulrScan } from './singulr/scan';

export const plugins = {
default: {
Expand Down Expand Up @@ -180,4 +181,7 @@ export const plugins = {
'crowdstrike-aidr': {
guardChatCompletions: crowdstrikeAidrGuardChatCompletions,
},
singulr: {
scan: singulrScan,
},
};
72 changes: 72 additions & 0 deletions plugins/singulr/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"id": "singulr",
"description": "Singulr AI guardrails for scanning LLM inputs and outputs",
"credentials": {
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"label": "Singulr API Key",
"description": "Your Singulr API key, used to authenticate requests to the Singulr guardrail service.",
"encrypted": true
},
"baseUrl": {
"type": "string",
"label": "Singulr Base URL",
"description": "The Singulr API base URL, e.g. https://api.singulr.ai"
}
},
"required": ["apiKey", "baseUrl"]
},
"functions": [
{
"name": "Scan",
"id": "scan",
"supportedHooks": ["beforeRequestHook", "afterRequestHook"],
"type": "guardrail",
"description": [
{
"type": "subHeading",
"text": "Pass LLM input and output to Singulr for policy enforcement. Blocks content based on server-side configured rules."
}
],
"parameters": {
"type": "object",
"properties": {
"guardrailId": {
"type": "string",
"label": "Guardrail ID",
"description": [
{
"type": "subHeading",
"text": "The Singulr guardrail configuration ID to apply."
}
]
},
"applicationId": {
"type": "string",
"label": "Application ID",
"description": [
{
"type": "subHeading",
"text": "The Singulr application ID."
}
]
},
"timeout": {
"type": "number",
"label": "Timeout",
"description": [
{
"type": "subHeading",
"text": "The timeout in milliseconds for the Singulr scan. Defaults to 5000."
}
],
"default": 5000
}
}
},
"required": ["guardrailId", "applicationId"]
}
]
}
Loading