route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
72 lines • 2.38 kB
TypeScript
/**
* Transformation Manager
* Central hub for managing message format transformations
*/
import { MessageTransformer, TransformationContext } from './types';
export { TransformationContext } from './types';
import { StreamingTransformer, StreamTransformOptions } from './streaming';
export declare class TransformationManager {
private transformers;
constructor();
/**
* Initialize all available transformers
*/
private initializeTransformers;
/**
* Get transformer by name
*/
getTransformer(name: string): MessageTransformer | undefined;
/**
* Transform request between formats
*/
transformRequest(request: any, context: TransformationContext, requestId?: string): any;
/**
* Transform response between formats
*/
transformResponse(response: any, context: TransformationContext, requestId?: string): any;
/**
* Create streaming transformer
*/
createStreamingTransformer(options: StreamTransformOptions): StreamingTransformer;
/**
* Transform streaming response
*/
transformStream(stream: ReadableStream, options: StreamTransformOptions): AsyncIterable<string>;
/**
* Detect request format
*/
detectRequestFormat(request: any): 'openai' | 'anthropic' | 'unknown';
/**
* Get available transformers
*/
getAvailableTransformers(): string[];
/**
* Register custom transformer
*/
registerTransformer(name: string, transformer: MessageTransformer): void;
/**
* Get transformation statistics
*/
getStats(): Record<string, any>;
}
export declare const transformationManager: TransformationManager;
/**
* Utility functions for common transformations
*/
/**
* Transform OpenAI request to Anthropic format
*/
export declare function transformOpenAIToAnthropic(request: any, requestId?: string): any;
/**
* Transform Anthropic request to OpenAI format
*/
export declare function transformAnthropicToOpenAI(request: any, requestId?: string): any;
/**
* Transform OpenAI response to Anthropic format
*/
export declare function transformOpenAIResponseToAnthropic(response: any, requestId?: string): any;
/**
* Transform Anthropic response to OpenAI format
*/
export declare function transformAnthropicResponseToOpenAI(response: any, requestId?: string): any;
//# sourceMappingURL=manager.d.ts.map