SuperAPI AI 工具集

state-machine

通用与其它

查看项目

更新于 10-15 19:49

技能介绍

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

主要能力:三条法则——确定性(每个状态与事件组合只产生一个下一状态)、最小性(无不可达状态、无重复转移)、完整性(每个状态都有出口转移或为终态)。状态定义约定用 str, Enum,前端用 const assertion 镜像。提供四种模式:转移映射(字典定义允许的转移并拒绝非法转移)、守卫条件(转移前必须为真的谓词)、转移副作用(日志、通知、指标)、前端 reducer 状态机(如 idle/loading/success/error)。还提供新建状态机的五步流程与完整性校验函数 validate_fsm。

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

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

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