UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

116 lines (115 loc) 3.62 kB
/** * Span Processor * Handles span processing before export - enrichment, filtering, and transformation * Fills the 9% gap in pattern compliance */ import type { SpanAttributes, SpanData, SpanProcessor } from "../types/index.js"; /** * No-op processor that passes spans through unchanged */ export declare class PassThroughProcessor implements SpanProcessor { readonly name = "pass-through"; process(span: SpanData): SpanData; } /** * Attribute enrichment processor * Adds additional attributes to spans based on configuration */ export declare class AttributeEnrichmentProcessor implements SpanProcessor { readonly name = "attribute-enrichment"; private readonly staticAttributes; private readonly dynamicAttributes; constructor(config: { staticAttributes?: SpanAttributes; dynamicAttributes?: (span: SpanData) => Partial<SpanAttributes>; }); process(span: SpanData): SpanData; } /** * Filter processor - drops spans based on conditions */ export declare class FilterProcessor implements SpanProcessor { readonly name = "filter"; private readonly predicate; constructor(predicate: (span: SpanData) => boolean); process(span: SpanData): SpanData | null; } /** * Redaction processor - removes sensitive data from spans */ export declare class RedactionProcessor implements SpanProcessor { readonly name = "redaction"; private readonly sensitiveKeys; private readonly redactedValue; constructor(config?: { sensitiveKeys?: string[]; redactedValue?: string; }); process(span: SpanData): SpanData; private redactObject; } /** * Truncation processor - truncates large attribute values */ export declare class TruncationProcessor implements SpanProcessor { readonly name = "truncation"; private readonly maxStringLength; private readonly maxArrayLength; constructor(config?: { maxStringLength?: number; maxArrayLength?: number; }); process(span: SpanData): SpanData; private truncateAttributes; private truncateValue; } /** * Composite processor - chains multiple processors together */ export declare class CompositeProcessor implements SpanProcessor { readonly name = "composite"; private readonly processors; constructor(processors: SpanProcessor[]); process(span: SpanData): SpanData | null; processAsync(span: SpanData): Promise<SpanData | null>; shutdown(): Promise<void>; } /** * Batch processor - collects spans and processes them in batches */ export declare class BatchProcessor implements SpanProcessor { readonly name = "batch"; private readonly innerProcessor; private readonly batchSize; private readonly flushIntervalMs; private batch; private flushTimer; private onBatchReady?; constructor(config: { processor?: SpanProcessor; batchSize?: number; flushIntervalMs?: number; onBatchReady?: (spans: SpanData[]) => void; }); process(span: SpanData): SpanData | null; private startFlushTimer; private flush; shutdown(): Promise<void>; } /** * Factory for creating span processors */ export declare class SpanProcessorFactory { /** * Create a standard processor pipeline for production use */ static createProductionPipeline(config?: { serviceName?: string; environment?: string; additionalProcessors?: SpanProcessor[]; }): CompositeProcessor; /** * Create a minimal processor pipeline for development */ static createDevelopmentPipeline(): CompositeProcessor; }