重构:引入DirectoryService以优化路径解析和项目根目录查找

- 在多个协议实现中(如ProjectProtocol、PackageProtocol等)引入DirectoryService,替换了直接的路径处理逻辑,增强了路径解析的智能性和可靠性。
- 更新了相关方法以支持异步操作,确保在查找项目根目录和注册表路径时能够优雅地处理错误并回退到默认路径。
- 在PromptXConfig中动态计算.promptx目录路径,提升了配置管理的灵活性。

此改动旨在提升代码的可读性和一致性,同时为未来的扩展打下基础。
This commit is contained in:
sean
2025-06-15 12:16:01 +08:00
parent 041ece9af1
commit d6a1f91722
9 changed files with 163 additions and 59 deletions

View File

@ -105,11 +105,11 @@ class ActionCommand extends BasePouchCommand {
const relativePath = filePath.replace('@package://', '')
filePath = await packageProtocol.resolvePath(relativePath)
} else if (filePath.startsWith('@project://')) {
// 对于@project://路径,使用当前工作目录作为基础路径
// 对于@project://路径,使用ProjectProtocol解析
const ProjectProtocol = require('../../resource/protocols/ProjectProtocol')
const projectProtocol = new ProjectProtocol()
const relativePath = filePath.replace('@project://', '')
filePath = path.join(process.cwd(), relativePath)
filePath = await projectProtocol.resolvePath(relativePath)
}
// 读取角色文件内容