/** * Core TypeScript interfaces for the Parserator Node.js SDK * Implements the Architect-Extractor pattern for intelligent data parsing */ export interface ParseRequest { inputData: string; outputSchema: Record; instructions?: string; options?: ParseOptions; } export interface ParseOptions { timeout?: number; retries?: number; validateOutput?: boolean; includeMetadata?: boolean; confidenceThreshold?: number; } export interface ParseResponse { success: boolean; parsedData: Record; metadata: ParseMetadata; error?: ParseError; } export interface ParseMetadata { architectPlan: SearchPlan; confidence: number; tokensUsed: number; processingTimeMs: number; requestId: string; timestamp: string; } export interface SearchStep { targetKey: string; description: string; searchInstruction: string; validationType: ValidationType; isRequired: boolean; confidence?: number; fallbackValue?: any; } export interface SearchPlan { steps: SearchStep[]; strategy: 'sequential' | 'parallel' | 'adaptive'; confidenceThreshold: number; metadata: { detectedFormat: string; complexity: 'low' | 'medium' | 'high'; estimatedTokens: number; }; } export type ValidationType = 'string' | 'number' | 'boolean' | 'email' | 'phone' | 'date' | 'iso_date' | 'url' | 'string_array' | 'number_array' | 'object' | 'custom'; export interface ParseError { code: ErrorCode; message: string; details?: Record; suggestion?: string; } export type ErrorCode = 'INVALID_API_KEY' | 'INVALID_INPUT' | 'INVALID_SCHEMA' | 'RATE_LIMIT_EXCEEDED' | 'TIMEOUT' | 'NETWORK_ERROR' | 'PARSE_FAILED' | 'VALIDATION_FAILED' | 'INSUFFICIENT_CONFIDENCE' | 'QUOTA_EXCEEDED' | 'SERVICE_UNAVAILABLE' | 'INTERNAL_ERROR'; export interface ParseratorConfig { apiKey: string; baseUrl?: string; timeout?: number; retries?: number; defaultOptions?: ParseOptions; debug?: boolean; } export interface BatchParseRequest { items: ParseRequest[]; options?: BatchOptions; } export interface BatchOptions { concurrency?: number; failFast?: boolean; preserveOrder?: boolean; } export interface BatchParseResponse { results: (ParseResponse | ParseError)[]; summary: { total: number; successful: number; failed: number; totalTokensUsed: number; totalProcessingTimeMs: number; }; } export interface SchemaTemplate { name: string; description: string; schema: Record; examples: string[]; tags: string[]; version: string; } export interface SchemaValidationResult { valid: boolean; errors: SchemaValidationError[]; suggestions: string[]; } export interface SchemaValidationError { path: string; message: string; severity: 'error' | 'warning'; } export interface ProgressCallback { (progress: { completed: number; total: number; currentItem?: string; estimatedTimeRemaining?: number; }): void; } export interface RetryConfig { maxRetries: number; baseDelay: number; maxDelay: number; backoffFactor: number; } export interface ParseEvent { type: 'start' | 'architect_complete' | 'extractor_start' | 'complete' | 'error'; timestamp: string; data: any; } export type EventHandler = (event: ParseEvent) => void; export interface ParsePreset { name: string; description: string; outputSchema: Record; instructions: string; examples: Array<{ input: string; expectedOutput: Record; }>; options: ParseOptions; } export interface AdvancedConfig { architectModel?: string; extractorModel?: string; customEndpoints?: { architect?: string; extractor?: string; }; fallbackStrategies?: string[]; caching?: { enabled: boolean; ttl: number; maxSize: number; }; } export * from './validation'; export * from './presets'; //# sourceMappingURL=index.d.ts.map