UNPKG

dadacat-lambda-pipeline

Version:
190 lines (171 loc) 4.6 kB
// TypeScript definitions for dadacat-lambda-pipeline export interface PipelineConfig { dadacatUrl: string; imageGenUrl: string; b2UploadUrl: string; maxRetries?: number; retryDelay?: number; timeout?: number; pollingInterval?: number; } export interface AgentResponse { status: string; response?: string; error?: string; } export interface ImageGenRequest { prompt: string; additional_prompt?: string; batch_id?: string; options?: { model?: string; size?: string; quality?: string; style?: string; }; } export interface ImageGenResponse { success: boolean; data?: { job_id: string; run_id: string; status: string; url?: string; timestamp: string; batch_id?: string; prompt: string; additional_prompt?: string; completed_at?: string; generation_time?: string; model_used?: string; size_used?: string; quality_used?: string; }; error?: string; } export interface B2UploadRequest { job_id: string; run_id: string; image_url: string; bucket?: string; folder?: string; metadata?: Record<string, any>; } export interface B2UploadResponse { success: boolean; data?: { job_id: string; run_id: string; b2_path: string; b2_url: string; index_updated: boolean; upload_timestamp: string; file_size: number; image_format: string; image_dimensions: [number, number]; }; error?: string; } export interface PipelineStep { step: number; lambda: string; input: Record<string, any>; output: Record<string, any>; duration: number; success: boolean; } export interface PipelineResult { success: boolean; testId: string; timestamp: string; inputData: Record<string, any>; steps: PipelineStep[]; finalResult?: { agentResponse: string; imageUrl: string; b2Url: string; jobId: string; runId: string; metadata?: Record<string, any>; }; error?: string; totalDuration?: number; } export interface MetadataInput { original_prompt: string; batch_id?: string; user_context?: { user_id?: string; session_id?: string; preferences?: Record<string, any>; }; } export interface ConfigurablePipelineInput { human_prompt: string; batch_id?: string; additional_prompt?: string; options?: { model?: string; size?: string; quality?: string; style?: string; }; bucket?: string; folder?: string; artproject?: string; on_website?: string; custom_metadata?: Record<string, any>; } export interface ConnectionTestResult { success: boolean; results: { dadacat: boolean; imageGen: boolean; b2Upload: boolean; }; summary: string; } export declare class DadacatClient { constructor(functionUrl?: string); generateResponse(prompt: string): Promise<AgentResponse>; testConnection(): Promise<boolean>; } export declare class ImageGenClient { constructor(baseUrl?: string); generateImage(requestData: ImageGenRequest): Promise<ImageGenResponse>; checkStatus(jobId: string): Promise<ImageGenResponse>; pollForCompletion(jobId: string, maxWaitTime?: number, pollInterval?: number): Promise<ImageGenResponse>; testConnection(): Promise<boolean>; } export declare class B2UploadClient { constructor(functionUrl?: string); uploadImage(requestData: B2UploadRequest): Promise<B2UploadResponse>; testConnection(): Promise<boolean>; } export interface ValidationResult { validatedOptions: Record<string, any>; errors: string[]; warnings: string[]; } export declare class ImageGenerationOptions { static readonly OPTIONS: Record<string, any>; static validateOptions(options?: Record<string, any>, model?: string): ValidationResult; static getDefaultOptions(model?: string): Record<string, any>; static getSupportedOptions(model?: string): Record<string, any>; static cleanOptionsForModel(options?: Record<string, any>, model?: string): Record<string, any>; } export declare class PipelineOrchestrator { constructor(config: PipelineConfig); runSequentialPipeline(prompt: string): Promise<PipelineResult>; runMetadataPipeline(inputData: MetadataInput): Promise<PipelineResult>; runConfigurablePipeline(inputData: ConfigurablePipelineInput): Promise<PipelineResult>; testConnections(): Promise<ConnectionTestResult>; } export declare function createPipeline(config: PipelineConfig): PipelineOrchestrator; export declare function createDefaultPipeline(): PipelineOrchestrator; export declare const DEFAULT_CONFIG: { maxRetries: number; retryDelay: number; timeout: number; pollingInterval: number; };