UNPKG

hook-engine

Version:

Production-grade webhook engine with comprehensive adapter support, security, reliability, structured logging, and CLI tools.

119 lines (118 loc) 3.42 kB
import { EventFilter, EventRoute, EventTransformation, EventDestination } from '../types/webhook'; import { ProcessingPipeline, TenantConfig } from '../core/event-processor'; import { MultiTenantConfig } from '../core/multi-tenant-handler'; /** * Configuration templates for common webhook processing scenarios */ export declare const filterTemplates: { /** * CI/CD Pipeline Events */ cicd: EventFilter; /** * Critical Production Events */ production: EventFilter; /** * Security-Related Events */ security: EventFilter; /** * Development Events (Non-Critical) */ development: EventFilter; /** * Team Collaboration Events */ collaboration: EventFilter; }; export declare const transformationTemplates: { /** * Slack Message Formatter */ slackFormatter: EventTransformation; /** * Email Formatter */ emailFormatter: EventTransformation; /** * Jira Issue Creator */ jiraFormatter: EventTransformation; /** * Metrics Extractor */ metricsExtractor: EventTransformation; }; export declare const destinationTemplates: { slack: (webhookUrl: string) => EventDestination; discord: (webhookUrl: string) => EventDestination; email: (smtpConfig: any) => EventDestination; jira: (jiraConfig: any) => EventDestination; database: (connectionString: string, table: string) => EventDestination; queue: (queueUrl: string) => EventDestination; }; export declare const pipelineTemplates: { /** * CI/CD Pipeline with Slack notifications */ cicdSlack: (slackWebhookUrl: string) => ProcessingPipeline; /** * Production monitoring with multiple channels */ productionMonitoring: (config: { slackUrl: string; emailConfig: any; jiraConfig: any; }) => ProcessingPipeline; /** * Security event pipeline */ securityPipeline: (config: { slackUrl: string; emailConfig: any; }) => ProcessingPipeline; /** * Development team collaboration */ teamCollaboration: (slackWebhookUrl: string) => ProcessingPipeline; }; export declare const tenantTemplates: { /** * Startup tenant (lower limits) */ startup: (tenantId: string, customPipelines?: ProcessingPipeline[]) => TenantConfig; /** * Enterprise tenant (higher limits) */ enterprise: (tenantId: string, customPipelines?: ProcessingPipeline[]) => TenantConfig; /** * Development tenant (relaxed limits for testing) */ development: (tenantId: string, customPipelines?: ProcessingPipeline[]) => TenantConfig; }; export declare const multiTenantTemplates: { /** * Basic multi-tenant setup */ basic: () => MultiTenantConfig; /** * High-performance multi-tenant setup */ highPerformance: () => MultiTenantConfig; /** * Secure multi-tenant setup */ secure: () => MultiTenantConfig; }; /** * Create a custom pipeline from template */ export declare function createCustomPipeline(id: string, name: string, filters: EventFilter[], transformations: EventTransformation[], routes: EventRoute[], options?: { enabled?: boolean; priority?: number; }): ProcessingPipeline; /** * Merge multiple filters with AND logic */ export declare function mergeFilters(...filters: EventFilter[]): EventFilter;