import type { CompletionRequest } from '../types/messages.js'; import type { SecurityFinding } from '../types/security.js'; import { type EmbeddingProvider } from '../hallucination/retrieval.js'; /** Options for `SemanticInjectionClassifier`. */ export interface SemanticInjectionClassifierOptions { /** `false` turns `detect()` off. */ enabled?: boolean; /** Similarity at which a prompt is flagged, from 0 to 1. Defaults to 0.78; above 0.88 is critical. */ threshold?: number; /** Embeds text for `detect()`. Defaults to hashed term vectors; `detectSync()` always uses those. */ embed?: EmbeddingProvider; /** Example attacks to compare against, instead of the built-in ones. */ examples?: string[]; } /** * Finds prompt-injection attempts by embedding similarity to known attacks, catching rephrasings a * pattern misses. */ export declare class SemanticInjectionClassifier { private options; private examples; private embed; private exampleEmbeddings?; private hashedExamples?; constructor(options?: SemanticInjectionClassifierOptions); /** Finds injection attempts, using the configured embedding function. */ detect(request: CompletionRequest): Promise; /** Finds injection attempts with hashed term vectors, synchronously. */ detectSync(request: CompletionRequest): SecurityFinding[]; private getExampleEmbeddings; }