SuperAPI AI 工具集

state-machine

通用与其它

查看项目

更新于 10-15 19:49

技能介绍

用途:为 NodeJS-Starter-V1 中任何多步骤流程强制实现确定性、最小化的有限状态机,把项目已有的 TaskStatus、ExecutionStatus、NodeStatus 等模式固化为可复用框架,用于定义状态、转移映射、守卫条件与副作用,覆盖 Python 与 TypeScript。

主要能力:三条法则——确定性(每个状态与事件组合只产生一个下一状态)、最小化(无不可达状态、无重复转移)、完整性(每个状态都有出口转移或为终态)。状态定义约定用 str, Enum,前端用 const assertion 镜像。项目已有状态机包括 TaskStatus(10 个状态,含验证循环与升级人工)、ExecutionStatus(4 个状态)、NodeStatus(5 个状态)。设计模式包括转移映射、守卫条件、转移副作用、前端 reducer 状态机。

使用方式:先枚举状态,再定义转移映射,按需添加守卫与副作用,最后校验完整性。转移前调用 validate_transition(),副作用在转移后触发,日志包含 from_status 与 to_status。前端状态需与后端完全一致(snake_case)。

适用场景:设计多步骤工作流、为 Pydantic 模型添加 Enum 状态字段、实现带加载/错误/成功状态的 UI 组件、审查状态转移完整性、添加重试或升级循环。

限制:不适用于简单布尔标志、表单验证、动画状态转移、无状态转移的错误分类。反模式包括字符串字面量状态、布尔标志、隐式转移、上帝枚举、缺失终态。具体安装命令与收费信息暂未提供。