export interface SecurityDocument {
id: string;
source: string; // OWASP, NIST, AWS, etc.
title: string;
url: string;
content: string;
category: string;
lastUpdated: Date;
metadata: Record<string, any>;
}
export interface SearchResult {
document: SecurityDocument;
score: number;
relevantChunk: string;
}
export interface DocumentSource {
name: string;
fetchDocuments(): Promise<SecurityDocument[]>;
}
export interface VectorStore {
addDocuments(documents: SecurityDocument[]): Promise<void>;
search(query: string, limit?: number): Promise<SearchResult[]>;
initialize(): Promise<void>;
}