jellyflow_runtime/schema/registry/plans/
mod.rs1mod canonicalize;
2mod migrate;
3mod writer;
4
5use jellyflow_core::core::Graph;
6
7use super::NodeRegistry;
8use crate::schema::migration::{CanonicalizeKindsPlan, MigrateNodesPlan};
9
10impl NodeRegistry {
11 pub fn plan_canonicalize_kinds(&self, graph: &Graph) -> CanonicalizeKindsPlan {
13 let mut planner = canonicalize::CanonicalizeKindsPlanner::new();
14
15 for (id, node) in &graph.nodes {
16 let canonical = self.resolve_kind(&node.kind);
17 planner.rewrite_node_kind(*id, node, canonical);
18 }
19
20 planner.finish()
21 }
22
23 pub fn plan_migrate_nodes(&self, graph: &Graph) -> MigrateNodesPlan {
32 migrate::MigrateNodesPlanner::new(self, graph).finish()
33 }
34}