Native asynchronous agent graph runtime with Mermaid visualization
Dependencies
moon build --target native mbt/package/moon-agent-graph/src/examples/basic
moon run --target native mbt/package/moon-agent-graph/src/examples/basiclabels=plan,test
steps=2import {
"totto2727/moon-agent-graph/visualization",
}let graph = definition.compile()
println(@visualization.to_mermaid(graph))@core.router(
[
@core.DeclaredRoute::DeclaredRoute(
fix,
metadata=@core.DeclaredRouteMetadata::DeclaredRouteMetadata(
label="failed",
),
),
@core.DeclaredRoute::DeclaredRoute(
review,
metadata=@core.DeclaredRouteMetadata::DeclaredRouteMetadata(
label="passed",
),
),
],
evaluate,
metadata=@core.RouterMetadata::RouterMetadata(description="Test result"),
)moon run --target native mbt/package/moon-agent-graph/src/examples/visualizationflowchart TD
node_0["Fix [04-fix] / Coding Agent<br/>Repair a failed change"]
node_1["Plan [01-plan] / LLM<br/>Create a plan"]
node_2["Test [03-test] / Function<br/>Run automated tests"]
node_3["Review [05-review] / Custom: Human review<br/>Review the verified change"]
node_4["Release [06-release] / Function<br/>Publish the result"]
node_5["Implement [02-implement] / Coding Agent<br/>Write the change"]
graph_entry(["Entry"]) --> node_1
node_0 --> node_2
node_1 --> node_5
node_2 --> router_2{"Test result"}
router_2 -->|failed| node_0
router_2 -->|passed| node_3
node_3 --> router_3{"Review result"}
router_3 -->|changes requested| node_0
router_3 -->|approved| node_4
node_5 --> node_2Native asynchronous agent graph runtime with Mermaid visualization
Dependencies