50 lines
1.8 KiB
TypeScript
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>;
|