@codai/cbd
Version:
Codai Better Database - High-Performance Vector Memory System with HPKV-inspired architecture and MCP server
108 lines • 3.56 kB
TypeScript
/**
* Multi-Cloud Service Orchestrator
* Integrates cloud selection, configuration, and data adapters
* for intelligent CBD Universal Database operations
*/
import { CloudProvider, CloudScore } from './IntelligentCloudSelector.js';
import { MultiCloudConfiguration } from './MultiCloudConfiguration.js';
import { UniversalDocument, UniversalQuery, OperationResult } from './UniversalDataAdapter.js';
export interface OrchestrationOptions {
preferredProvider?: CloudProvider;
fallbackProviders?: CloudProvider[];
maxRetries?: number;
timeout?: number;
consistencyLevel?: 'strong' | 'eventual' | 'session';
enableAutoFailover?: boolean;
costOptimization?: boolean;
performanceFirst?: boolean;
}
export interface OrchestrationMetrics {
totalOperations: number;
operationsByProvider: Record<CloudProvider, number>;
averageLatency: Record<CloudProvider, number>;
errorRates: Record<CloudProvider, number>;
costEstimate: Record<CloudProvider, number>;
uptime: Record<CloudProvider, number>;
lastHealthCheck: Date;
}
/**
* Multi-Cloud Service Orchestrator
* Central coordination point for all multi-cloud operations
*/
export declare class MultiCloudServiceOrchestrator {
private cloudSelector;
private dataRouter;
private config;
private metrics;
private healthCheckInterval?;
constructor(config?: Partial<MultiCloudConfiguration>);
/**
* Create a document with intelligent cloud provider selection
*/
create(data: UniversalDocument, options?: OrchestrationOptions): Promise<OperationResult>;
/**
* Read data with intelligent query routing
*/
read(query: UniversalQuery, options?: OrchestrationOptions): Promise<OperationResult>;
/**
* Update document with consistency guarantees
*/
update(id: string, data: Partial<UniversalDocument>, options?: OrchestrationOptions): Promise<OperationResult>;
/**
* Delete document with confirmation
*/
delete(id: string, options?: OrchestrationOptions): Promise<OperationResult>;
/**
* Select optimal cloud provider for operation
*/
private selectOptimalProvider;
/**
* Handle operation failures with fallback logic
*/
private handleOperationFailure;
/**
* Update operation metrics
*/
private updateMetrics;
/**
* Estimate data size for operation
*/
private estimateDataSize;
/**
* Estimate operation cost
*/
private estimateOperationCost;
/**
* Start health monitoring for all cloud providers
*/
private startHealthMonitoring;
/**
* Get comprehensive orchestration metrics
*/
getMetrics(): Promise<OrchestrationMetrics>;
/**
* Perform comprehensive health check
*/
healthCheck(): Promise<{
overall: boolean;
providers: Record<CloudProvider, boolean>;
orchestrator: boolean;
}>;
/**
* Get cloud selection recommendations
*/
getCloudRecommendations(operation: string, data: any): Promise<CloudScore[]>;
/**
* Shutdown orchestrator and cleanup resources
*/
shutdown(): void;
}
/**
* Factory function to create configured orchestrator
*/
export declare function createMultiCloudOrchestrator(config?: Partial<MultiCloudConfiguration>): MultiCloudServiceOrchestrator;
/**
* Default orchestrator instance for convenience
*/
export declare const defaultOrchestrator: MultiCloudServiceOrchestrator;
//# sourceMappingURL=MultiCloudServiceOrchestrator.d.ts.map