TriggerFlow 核心概念
可视化边界:Mermaid 可以示意匿名链路;JSON/YAML 导出仍要求具名 handler / condition。
1. 核心对象关系
如何阅读这张图
TriggerFlow是定义,Execution是一次运行实例。TriggerFlowRuntimeData不是孤立事件对象,而是 handler 进入时看到的整个运行时上下文切片。
2. Flow、BluePrint、Execution
TriggerFlow流程定义本体,也是创建 execution 的入口TriggerFlowBluePrint进程内可复制的流程模板Execution一次独立运行实例,持有本次运行的状态、结果、interrupt 和 runtime resources
工程上应把:
TriggerFlow看成定义Execution看成请求级运行态
3. Signal 才是内核
TriggerFlow 底层围绕 Signal 运作。一个信号包含:
idtrigger_eventtrigger_typevaluesourcemetalayer_marks
trigger_type 当前公开有:
eventruntime_dataflow_data
4. Chunk = handler + continuation signal
每个 chunk 都有:
- 一个 handler
- 一个名字
- 一个完成后的 continuation signal
如果 chunk 内部还会主动发业务事件,建议显式:
python
chunk.declare_emits("ApprovalRequest")5. TriggerFlowRuntimeData 是运行时上下文
handler 入参现在应该理解为“运行时上下文对象”。
它暴露的核心信息有:
- 当前信号:
trigger_event、trigger_type、value - 当前 signal 快照:
signal、signal_id、signal_source、signal_meta、signal_info - 当前 execution:
execution、execution_id - 数据命名空间:
state、flow_state - 资源视图:
resources
兼容说明:
TriggerFlowRuntimeData是主名TriggerFlowEventData是兼容别名
6. 数据与资源边界
data.state当前 execution 的可恢复状态data.flow_stateflow 级共享状态data.resources当前 execution 可见的 runtime resources
资源相关公开接口:
get_resource()require_resource()set_resource()del_resource()
7. 中断与恢复
pause_for() 会:
- 生成 interrupt
- 把 execution 置为
waiting - 往 runtime stream 写 interrupt 事件
continue_with() 会:
- 更新 interrupt 状态与 response
- 把 execution 切回
running - 重新注入 resume event