UNPKG

trojanhorse-js

Version:

A comprehensive JavaScript library for fetching, managing, and analyzing global threat intelligence from multiple open-source feeds and security news sources. Unlike its mythological namesake, this Trojan protects your digital fortress.

83 lines 3.46 kB
/// <reference types="node" /> import { CryptoEngine, RealEncryptionResult } from './security/CryptoEngine'; import { KeyVault } from './security/KeyVault'; import { URLhausFeed } from './feeds/URLhausFeed'; import { TrojanHorseConfig, ThreatIndicator, ThreatFeedResult, ApiKeyConfig, SecurityConfig, EncryptedVault, TrojanHorseError, SecurityError, AuthenticationError, RateLimitError, TrojanHorseEvents, SecureVaultOptions } from './types'; export declare class TrojanHorse { private readonly cryptoEngine; private readonly keyVault; private readonly feeds; private readonly circuitBreakers; readonly config: Required<TrojanHorseConfig>; private readonly eventListeners; private static readonly DEFAULT_CONFIG; constructor(config?: Partial<TrojanHorseConfig>); private validateConfiguration; private validateApiKeysFormat; createVault(password: string, apiKeys: ApiKeyConfig): Promise<RealEncryptionResult>; loadVault(vault: RealEncryptionResult): void; unlock(password: string): Promise<void>; lock(): void; scout(target?: string, options?: { sources?: string[]; enrichment?: boolean; minimumConfidence?: number; }): Promise<ThreatFeedResult>; plunder(format?: 'json' | 'csv' | 'xml', options?: { encrypt?: boolean; classification?: string; }): Promise<string | ArrayBuffer>; rotateKey(provider: string, newKey: string, options?: { gracePeriod?: number; password?: string; }): Promise<void>; setupKeyRotation(config: { providers: string[]; rotationInterval: number; keyGenerator: (provider: string) => Promise<string>; password: string; }): NodeJS.Timeout; on<T extends keyof TrojanHorseEvents>(event: T, listener: TrojanHorseEvents[T]): void; off<T extends keyof TrojanHorseEvents>(event: T, listener: TrojanHorseEvents[T]): void; private emit; destroy(): Promise<void>; getStatus(): { vault: { isLocked: boolean; keyCount: number; autoLockEnabled: boolean; }; feeds: Array<{ name: string; available: boolean; lastFetch?: Date; }>; crypto: { implementation: string; secureContext: boolean; }; security: { secureContext: boolean; httpsOnly: boolean; }; }; private getAsciiArt; private mergeConfig; private extractApiKey; private initializeFeeds; private validateSecureEnvironment; private fetchFromFeed; getCircuitBreakerState(feedName?: string): string | Record<string, string>; private convertToCSV; private handleError; private auditLog; static createVault(password: string, apiKeys: ApiKeyConfig, options?: Partial<SecureVaultOptions>): Promise<any>; static loadVault(encryptedVault: any, password: string, config?: Partial<TrojanHorseConfig>): Promise<TrojanHorse>; } export declare function createVault(password: string, apiKeys: ApiKeyConfig, options?: Partial<TrojanHorseConfig>): Promise<{ vault: RealEncryptionResult; trojan: TrojanHorse; }>; export type { TrojanHorseConfig, ThreatIndicator, ThreatFeedResult, ApiKeyConfig, SecurityConfig, EncryptedVault, TrojanHorseError, SecurityError, AuthenticationError, RateLimitError }; export { CryptoEngine, KeyVault, URLhausFeed }; //# sourceMappingURL=index.d.ts.map