@agentkai/node
Version:
AgentKai的Node.js环境特定实现
56 lines (55 loc) • 1.32 kB
TypeScript
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;
}