@gensx/storage
Version:
Cloud storage, blobs, sqlite, and vector database providers/hooks for GenSX.
44 lines • 1.58 kB
TypeScript
import type { InArgs } from "@libsql/client";
import { Database, DatabaseBatchResult, DatabaseInfo, DatabaseResult, DatabaseStatement, DatabaseStorage, DeleteDatabaseResult, EnsureDatabaseResult } from "./types.js";
/**
* Implementation of Database interface for filesystem storage
*/
export declare class FileSystemDatabase implements Database {
private client;
private dbPath;
private dbName;
constructor(rootPath: string, dbName: string);
execute(sql: string, params?: InArgs): Promise<DatabaseResult>;
batch(statements: DatabaseStatement[]): Promise<DatabaseBatchResult>;
executeMultiple(sql: string): Promise<DatabaseBatchResult>;
migrate(sql: string): Promise<DatabaseBatchResult>;
getInfo(): Promise<DatabaseInfo>;
close(): void;
}
/**
* Implementation of DatabaseStorage interface for filesystem storage
*/
export declare class FileSystemDatabaseStorage implements DatabaseStorage {
private rootPath;
private databases;
constructor(rootPath: string);
/**
* Ensure the root directory exists
*/
private ensureRootDir;
getDatabase(name: string): Database;
listDatabases(options?: {
limit?: number;
cursor?: string;
}): Promise<{
databases: {
name: string;
createdAt: Date;
}[];
nextCursor?: string;
}>;
ensureDatabase(name: string): Promise<EnsureDatabaseResult>;
deleteDatabase(name: string): Promise<DeleteDatabaseResult>;
hasEnsuredDatabase(name: string): boolean;
}
//# sourceMappingURL=filesystem.d.ts.map