用途:为 ObjectStack 设计自动化逻辑,覆盖可视化 Flow、触发器、审批、状态机,以及 jobs(defineJob)与 webhooks(defineWebhook)栈。适用于构建自动启动/屏幕/定时流程、业务对象的状态机或审批、记录创建/更新/删除的事件触发,以及定时自动化(日报、数据清理)。
主要能力:Flow 是由节点组成的有向图,含 start、end、decision、loop、parallel、try_catch、map、wait、subflow 等控制流节点,assignment、create_record、update_record、delete_record、get_record 等数据节点,http、notify、connector_action、script、screen 等集成节点,以及 approval 人工审批节点。条件与守卫使用 CEL 表达式,由 @objectstack/formula 求值。触发器绑定在 Flow 的 start 节点 config 中,没有独立的 trigger 对象。
使用方式:在 defineStack 中声明所需能力,如 requires: ['automation', 'triggers', 'job', 'queue', 'approvals', 'messaging'],否则流程可能注册但不执行。入站 Webhook 端点为 POST /api/v1/automation/hooks/:flowName/:hookId。写入只读字段需设置 runAs: 'system',并注意系统上下文需固定组织范围。
限制:值槽只接受字面量或 CEL 信封,不接受 {…} 模板令牌;文本槽使用 {{ }} 占位符。filter 操作数为 null 会拒绝节点且不可故障路由。script 节点仅调用已注册函数,不读写数据库。notify 在缺少 messaging 能力时会静默返回成功但未投递。http 节点需设置 timeoutMs,且 url 与 headers 会随定义暴露,不应放置凭据。部分细节(如具体示例与状态机路由)在资料中被移至引用文件,暂未提供完整内容。