UNPKG

@codai/cbd

Version:

Codai Better Database - High-Performance Vector Memory System with HPKV-inspired architecture and MCP server

116 lines 4.06 kB
/** * Universal Data Adapter * Cloud-agnostic data access layer for CBD Universal Database * Provides unified interface for AWS, Azure, GCP, and Local operations */ import { CloudProvider } from './IntelligentCloudSelector.js'; import { MultiCloudConfiguration } from './MultiCloudConfiguration.js'; export interface UniversalDocument { id?: string; collection: string; data: Record<string, any>; metadata?: Record<string, any>; timestamp?: Date; } export interface UniversalQuery { collection: string; filter?: Record<string, any>; projection?: Record<string, any>; sort?: Record<string, any>; limit?: number; skip?: number; } export interface UniversalResult { documents: UniversalDocument[]; count: number; hasMore: boolean; cursor?: string; } export interface OperationResult { success: boolean; result?: any; error?: string; cloud: CloudProvider; latency: number; cost?: number; } export interface CloudAdapterMetrics { operationsCount: number; averageLatency: number; errorRate: number; uptime: number; lastOperation: Date; } /** * Base Cloud Adapter Interface */ export declare abstract class BaseCloudAdapter { protected config: MultiCloudConfiguration; protected metrics: CloudAdapterMetrics; constructor(config: MultiCloudConfiguration); abstract create(document: UniversalDocument): Promise<UniversalDocument>; abstract read(query: UniversalQuery): Promise<UniversalResult>; abstract update(id: string, data: Partial<UniversalDocument>): Promise<UniversalDocument>; abstract delete(id: string): Promise<boolean>; abstract healthCheck(): Promise<boolean>; getMetrics(): Promise<CloudAdapterMetrics>; protected updateMetrics(latency: number, success: boolean): void; } /** * AWS Data Adapter */ export declare class AWSDataAdapter extends BaseCloudAdapter { create(document: UniversalDocument): Promise<UniversalDocument>; read(query: UniversalQuery): Promise<UniversalResult>; update(id: string, data: Partial<UniversalDocument>): Promise<UniversalDocument>; delete(id: string): Promise<boolean>; healthCheck(): Promise<boolean>; } /** * Azure Data Adapter */ export declare class AzureDataAdapter extends BaseCloudAdapter { create(document: UniversalDocument): Promise<UniversalDocument>; read(query: UniversalQuery): Promise<UniversalResult>; update(id: string, data: Partial<UniversalDocument>): Promise<UniversalDocument>; delete(id: string): Promise<boolean>; healthCheck(): Promise<boolean>; } /** * GCP Data Adapter */ export declare class GCPDataAdapter extends BaseCloudAdapter { create(document: UniversalDocument): Promise<UniversalDocument>; read(query: UniversalQuery): Promise<UniversalResult>; update(id: string, data: Partial<UniversalDocument>): Promise<UniversalDocument>; delete(id: string): Promise<boolean>; healthCheck(): Promise<boolean>; } /** * Local Data Adapter (fallback) */ export declare class LocalDataAdapter extends BaseCloudAdapter { private dataStore; create(document: UniversalDocument): Promise<UniversalDocument>; read(query: UniversalQuery): Promise<UniversalResult>; update(id: string, data: Partial<UniversalDocument>): Promise<UniversalDocument>; delete(id: string): Promise<boolean>; healthCheck(): Promise<boolean>; } /** * Cloud Adapter Factory */ export declare class CloudAdapterFactory { static createAdapter(provider: CloudProvider, config: MultiCloudConfiguration): BaseCloudAdapter; } /** * Multi-Cloud Data Router */ export declare class MultiCloudDataRouter { private adapters; constructor(config: MultiCloudConfiguration); route(operation: 'create' | 'read' | 'update' | 'delete', provider: CloudProvider, ...args: any[]): Promise<any>; healthCheck(): Promise<Record<CloudProvider, boolean>>; getAdapterMetrics(): Promise<Record<CloudProvider, CloudAdapterMetrics | null>>; } //# sourceMappingURL=UniversalDataAdapter.d.ts.map