@llm-dev-ops/shield-sdk
Version:
Enterprise-grade SDK for securing Large Language Model applications
100 lines • 2.76 kB
TypeScript
import type { Scanner, ScanResult, ScanOptions } from './types.js';
/**
* Shield - Main security facade for LLM applications
*
* @example
* ```typescript
* // Using presets
* const shield = Shield.standard();
* const result = await shield.scanPrompt("User input");
*
* // Custom configuration
* const shield = Shield.builder()
* .addInputScanner(new SecretsScanner())
* .addInputScanner(new PIIScanner())
* .withParallelExecution(true)
* .build();
* ```
*/
export declare class Shield {
private inputScanners;
private outputScanners;
private config;
private constructor();
/**
* Create a Shield with strict security settings
* Maximum security for regulated industries (banking, healthcare)
*/
static strict(): Shield;
/**
* Create a Shield with standard security settings
* Balanced security for general-purpose applications (recommended)
*/
static standard(): Shield;
/**
* Create a Shield with permissive security settings
* Minimal security for development/testing
*/
static permissive(): Shield;
/**
* Create a ShieldBuilder for custom configuration
*/
static builder(): ShieldBuilder;
/**
* Scan a prompt before sending to LLM
*/
scanPrompt(text: string, options?: ScanOptions): Promise<ScanResult>;
/**
* Scan LLM output before returning to user
*/
scanOutput(text: string, options?: ScanOptions): Promise<ScanResult>;
/**
* Scan both prompt and output in sequence
*/
scanPromptAndOutput(prompt: string, output: string, options?: ScanOptions): Promise<{
promptResult: ScanResult;
outputResult: ScanResult;
}>;
/**
* Scan multiple texts in batch
*/
scanBatch(texts: string[], options?: ScanOptions): Promise<ScanResult[]>;
private runScanners;
private runSequential;
private runParallel;
private mergeResults;
private deduplicateEntities;
}
/**
* Builder for creating custom Shield configurations
*/
export declare class ShieldBuilder {
private inputScanners;
private outputScanners;
private config;
/**
* Add an input scanner
*/
addInputScanner(scanner: Scanner): this;
/**
* Add an output scanner
*/
addOutputScanner(scanner: Scanner): this;
/**
* Set the short-circuit threshold
*/
withShortCircuit(threshold: number): this;
/**
* Enable or disable parallel execution
*/
withParallelExecution(enabled: boolean): this;
/**
* Set maximum concurrent scanners
*/
withMaxConcurrent(max: number): this;
/**
* Build the Shield instance
*/
build(): Shield;
}
//# sourceMappingURL=shield.d.ts.map