DAG 定义:节点 + 边 + 拓扑排序。
Summary
Functions
从 snapshot/1 的结果恢复 DAG。
返回拓扑分层结果:每一层内部所有节点彼此独立,可并行执行;层与层串行。
把 DAG 转成 JSON 安全快照,供 RunStore 持久化恢复使用。
Types
@type edge_def() :: %{ :from => String.t(), :to => String.t(), optional(:label) => String.t() | nil, optional(:branch) => String.t() | nil, optional(:signal) => String.t() | nil, optional(:when) => String.t() | nil }
边定义。
:from/:to— 必填,节点 ID:label— 可选展示名:branch— 可选;若上游为:router节点,仅当 router 输出%{route: branch}时该边才被激活。v0.5 起也作为通用 signal 匹配字段。:signal/:when— 可选;当上游节点输出 signal 匹配时激活该边。
@type node_type() :: :agent | :aggregator | :router | :gate | :debate | :hierarchy | :tool | :eval_gate | :condition | :human_task | :fork | :join | atom()
Functions
从 snapshot/1 的结果恢复 DAG。
返回拓扑分层结果:每一层内部所有节点彼此独立,可并行执行;层与层串行。
对应 Agentic Design Patterns 第 3 章 Parallelization 模式。
把 DAG 转成 JSON 安全快照,供 RunStore 持久化恢复使用。