@agentkai/core
Version:
AgentKai核心包,提供AI助手系统的基础功能
65 lines • 1.92 kB
TypeScript
import { QueryOptions } from './interfaces';
import { Logger } from '../utils/logger';
/**
* 存储抽象类
* 提供通用的数据存储接口,可由不同的具体存储实现(文件系统、浏览器IndexedDB等)
*/
export declare abstract class StorageProvider<T extends {
id: string;
} = any> {
protected logger: Logger;
protected basePath: string;
/**
* 创建存储实例
* @param basePath 存储基础路径
* @param name 存储名称(用于日志)
*/
constructor(basePath: string, name: string);
/**
* 获取存储基础路径
* @returns 存储基础路径
*/
getBasePath(): string;
/**
* 保存数据
* 支持两种调用方式:
* 1. save(data) - 直接保存带有id的数据对象
* 2. save(id, data) - 指定id和数据对象分别保存
*
* @param idOrData 数据对象或者数据ID
* @param data 当第一个参数为ID时的数据对象
*/
save(idOrData: string | T, data?: any): Promise<void>;
/**
* 内部方法:实际保存数据
* @param data 要保存的数据
*/
protected abstract saveData(data: T): Promise<void>;
/**
* 根据ID获取数据
* @param id 数据ID
* @returns 获取的数据,不存在则返回null
*/
abstract get(id: string): Promise<T | null>;
/**
* 根据ID删除数据
* @param id 数据ID
*/
abstract delete(id: string): Promise<void>;
/**
* 列出所有存储的数据
* @returns 所有数据的数组
*/
abstract list(): Promise<T[]>;
/**
* 根据条件查询数据
* @param options 查询选项
* @returns 符合条件的数据数组
*/
abstract query(options: QueryOptions<T>): Promise<T[]>;
/**
* 清空所有数据
*/
abstract clear(): Promise<void>;
}
//# sourceMappingURL=StorageProvider.d.ts.map