UNPKG

@agentkai/node

Version:

AgentKai的Node.js环境特定实现

56 lines (55 loc) 1.32 kB
import { QueryOptions, StorageProvider } from '@agentkai/core'; /** * 文件系统存储实现 * 数据以JSON文件形式存储在指定目录 */ export declare class FileSystemStorage<T extends { id: string; }> extends StorageProvider<T> { private fs; private pathUtils; /** * 创建文件系统存储 * @param basePath 数据存储的基础路径 * @param name 存储名称(用于日志) */ constructor(basePath?: string, name?: string); /** * 保存数据 */ protected saveData(data: T): Promise<void>; /** * 获取数据 * @param id 数据ID * @returns 获取的数据,不存在则返回null */ get(id: string): Promise<T | null>; /** * 删除数据 * @param id 数据ID */ delete(id: string): Promise<void>; /** * 列出所有数据 * @returns 所有数据的数组 */ list(): Promise<T[]>; /** * 查询数据 * @param options 查询选项 * @returns 符合条件的数据数组 */ query(options: QueryOptions<T>): Promise<T[]>; /** * 清空所有数据 */ clear(): Promise<void>; /** * 确保目录存在 */ private ensureDirectoryExists; /** * 获取文件路径 */ private getFilePath; }