next-ai-defence
Version:
Defend against LLM-based web scrapers in Next.js applications
42 lines (41 loc) • 1.16 kB
TypeScript
export interface SiteInfo {
name?: string;
owner?: string;
domain?: string;
}
export interface PromptTemplate {
id: string;
name: string;
description: string;
promptText: string;
}
export type ContactMethod = "email" | "sms" | "messenger" | "apiGet" | "apiPost" | "webhook" | "custom";
export interface ContactConfig {
method: ContactMethod;
destination: string;
customHeaders?: Record<string, string>;
additionalInfo?: Record<string, string | number | boolean>;
}
export type AsciiSmugglerOptions = {
hiddenMessage: string;
visibleWrapper?: {
prefix?: string;
suffix?: string;
};
};
export interface AiDefenceOptions {
enabled?: boolean;
useCustomPrompt?: boolean;
customPrompt?: string;
promptTemplate?: string;
contactMethods: ContactConfig[];
revealSystemDetails?: boolean;
debugMode?: boolean;
siteInfo?: SiteInfo;
additionalMetadata?: Record<string, string>;
asciiSmuggler?: AsciiSmugglerOptions;
hideEntirePrompt?: boolean;
visibleWrapperText?: string;
}
export interface GenerateDefenceMetadataOptions extends AiDefenceOptions {
}