UNPKG

@agentkai/core

Version:

AgentKai核心包,提供AI助手系统的基础功能

65 lines 1.92 kB
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