@agentkai/core
Version:
AgentKai核心包,提供AI助手系统的基础功能
181 lines • 3.75 kB
TypeScript
/**
* 平台类型枚举
*/
export declare enum PlatformType {
NODE = "node",
BROWSER = "browser",
UNKNOWN = "unknown"
}
/**
* 文件系统接口
* 提供跨平台的文件操作能力
*/
export interface FileSystem {
/**
* 读取文件内容
* @param path 文件路径
* @returns 文件内容
*/
readFile(path: string): Promise<string>;
/**
* 写入文件内容
* @param path 文件路径
* @param data 要写入的数据
*/
writeFile(path: string, data: string): Promise<void>;
/**
* 检查文件或目录是否存在
* @param path 路径
*/
exists(path: string): Promise<boolean>;
/**
* 创建目录
* @param path 目录路径
* @param options 选项
*/
mkdir(path: string, options?: {
recursive: boolean;
}): Promise<void>;
/**
* 读取目录内容
* @param path 目录路径
* @returns 目录中的文件和子目录列表
*/
readdir(path: string): Promise<string[]>;
/**
* 删除文件
* @param path 文件路径
*/
unlink(path: string): Promise<void>;
/**
* 获取文件或目录信息
* @param path 路径
*/
stat(path: string): Promise<{
isDirectory(): boolean;
}>;
}
/**
* 环境变量提供者接口
* 提供跨平台的环境变量访问能力
*/
export interface EnvProvider {
/**
* 获取环境变量
* @param key 环境变量名
* @param defaultValue 默认值
*/
get(key: string, defaultValue?: string): string | undefined;
/**
* 设置环境变量
* @param key 环境变量名
* @param value 环境变量值
*/
set(key: string, value: string): void;
/**
* 获取所有环境变量
* @returns 环境变量对象
*/
getAll(): Record<string, string>;
}
/**
* 路径工具接口
* 提供跨平台的路径处理能力
*/
export interface PathUtils {
/**
* 获取用户主目录
*/
home(): string;
/**
* 连接路径片段
* @param paths 路径片段
*/
join(...paths: string[]): string;
/**
* 解析为绝对路径
* @param paths 路径片段
*/
resolve(...paths: string[]): string;
/**
* 获取路径的目录部分
* @param path 路径
*/
dirname(path: string): string;
/**
* 获取路径的文件名部分
* @param path 路径
*/
basename(path: string): string;
/**
* 获取文件扩展名
* @param path 路径
*/
extname(path: string): string;
}
/**
* 平台信息接口
* 提供与平台相关的信息
*/
export interface PlatformInfo {
/**
* 获取用户主目录
*/
homeDir(): string;
/**
* 获取平台名称
*/
platform(): string;
/**
* 检查是否运行在Node.js环境
*/
isNode(): boolean;
/**
* 检查是否运行在浏览器环境
*/
isBrowser(): boolean;
/**
* 获取临时目录
*/
tmpdir(): string;
/**
* 获取当前工作目录
*/
cwd(): string;
}
/**
* 平台服务集合
* 整合所有平台相关服务
*/
export interface PlatformServices {
/**
* 平台类型
*/
type: PlatformType;
/**
* 文件系统服务
*/
fs: FileSystem;
/**
* 环境变量服务
*/
env: EnvProvider;
/**
* 路径工具服务
*/
path: PathUtils;
/**
* 平台信息服务
*/
platformInfo: PlatformInfo;
}
/**
* 平台服务工厂接口
*/
export interface PlatformServiceFactory {
/**
* 创建平台服务
*/
create(): PlatformServices;
}
//# sourceMappingURL=interfaces.d.ts.map