@xtalpi/agentic-lab-flow-parser
v0.0.3
Published
Parse and validate Agentic Lab flow registration packages
Keywords
Readme
@xtalpi/agentic-lab-flow-parser
解析并校验 Agentic Lab 流程注册包。输入必须是已解压的流程包文件夹;该包不负责解压,也不执行远程流程重名或后台连通性检查。
安装
npm install @xtalpi/agentic-lab-flow-parser解析
import { parseFlowPackage } from '@xtalpi/agentic-lab-flow-parser';
const result = parseFlowPackage('/path/to/unzipped-flow-package');
if (result.success) {
console.log(result.data);
} else {
console.error(result.errors);
}成功时返回解析数据:
{ success: true, data: RegisterParams }失败时直接返回错误,不抛异常:
{ success: false, errors: string[] }errors 是一次性收集的完整清单,而非首个错误:frontmatter、节点表、连接关系、数据池、门控五个阶段都会跑完再统一返回。只有包目录不存在、SKILL.md 不存在或读取失败这三种「没有输入可解析」的情况才会提前返回。
清单只列根因,不列派生结果。前一层结构没解析出来时,后续依赖它的检查会被跳过——frontmatter 未闭合就不再报 name/description 为空,节点表缺失就不再报「连接关系引用了未知节点」。修掉报出来的那条,重跑即可看到下一层的问题。
校验
import { validateFlowPackage } from '@xtalpi/agentic-lab-flow-parser';
const result = validateFlowPackage('/path/to/unzipped-flow-package');
if (result.success) {
console.log(result.summary);
} else {
console.error(result.errors);
}成功时只返回校验摘要:
{ success: true, summary: ValidationSummary }失败结构与解析方法一致。
parseFlowPackage 与 validateFlowPackage 共用同一套解析与校验规则,区别只在成功时的返回内容:前者给出完整 RegisterParams,后者只给出规模摘要。只要有任意一条错误,两者都不返回解析数据。
Pool 和 Valve 定义文件只读取 SKILL.md 节点表的「文件」列,Valve 脚本只读取「脚本」列。对应列缺失、值为空或声明路径不存在时直接报错,不按节点名补路径,也不从 Valve 定义文档的「关联脚本」章节回退读取。
发布
包固定发布到 public npm registry:
pnpm run build
npm publish