/** * DATA 積木 - 資料適配器介面 * 用途: PostgreSQL, Redis, S3, Vector DB */ import type { LeWOOOgoPlugin } from './plugin' /** * 查詢請求 */ export interface QueryRequest { operation: 'select' | 'insert' | 'update' | 'delete' | 'custom' collection?: string filter?: Record data?: unknown options?: { limit?: number offset?: number orderBy?: string orderDirection?: 'asc' | 'desc' } raw?: string } /** * 查詢結果 */ export interface QueryResult { data: T rowCount?: number metadata?: Record } /** * 連線狀態 */ export interface ConnectionStatus { connected: boolean latency?: number error?: string } /** * DATA 資料適配器 Plugin */ export interface DataAdapter extends LeWOOOgoPlugin { category: 'DATA' /** * 建立連線 */ connect(): Promise /** * 執行查詢 */ query(request: QueryRequest): Promise> /** * 檢查連線狀態 */ getConnectionStatus(): ConnectionStatus /** * 斷開連線 */ disconnect(): Promise }