mono/packages/kbot/dist-in/iterator.d.ts
2025-04-07 10:50:14 +02:00

50 lines
1.8 KiB
TypeScript

import { IKBotTask } from '@polymech/ai-tools';
import { AsyncTransformer, ErrorCallback, FilterCallback } from './async-iterator.js';
export declare const removeEmptyObjects: (obj: any) => any;
export interface FieldMapping {
jsonPath: string;
targetPath?: string | null;
options?: IKBotTask;
maxRetries?: number;
retryDelay?: number;
}
export interface IteratorFactory {
transform: (mappings: FieldMapping[]) => Promise<void>;
createTransformer: (options: IKBotTask) => AsyncTransformer;
}
export interface CacheConfig {
enabled?: boolean;
namespace?: string;
expiration?: number;
}
export declare function createLLMTransformer(options: IKBotTask, logger?: {
info: (message: string) => void;
warn: (message: string) => void;
error: (message: string, error?: any) => void;
}, cacheConfig?: CacheConfig): AsyncTransformer;
export declare function createIterator(obj: Record<string, any>, optionsMixin: Partial<IKBotTask>, globalOptions?: {
throttleDelay?: number;
concurrentTasks?: number;
errorCallback?: ErrorCallback;
filterCallback?: FilterCallback;
transformerFactory?: (options: IKBotTask) => AsyncTransformer;
maxRetries?: number;
retryDelay?: number;
logger?: {
error: (message: string, error?: any) => void;
};
cacheConfig?: CacheConfig;
}): IteratorFactory;
export declare function transformWithMappings(obj: Record<string, any>, createTransformer: (options: IKBotTask) => AsyncTransformer, mappings: FieldMapping[], globalOptions?: {
throttleDelay?: number;
concurrentTasks?: number;
errorCallback?: ErrorCallback;
filterCallback?: FilterCallback;
maxRetries?: number;
retryDelay?: number;
logger?: {
error: (message: string, error?: any) => void;
};
cacheConfig?: CacheConfig;
}): Promise<void>;