| 1 | ag-ui-core 0.1.0 was last published in August 2025 and has no AG-UI 1.0 types such as outcomes and interrupts (noted in everruns PR #3964). A new community ag-ui Rust SDK targeting 1.0 is in review in ag-ui PR #2778 and is not yet published | Hand-write the AG-UI 1.0 wire types and SSE encoder in a crate called agui. Move to the official crate once it ships |
| 2 | AG-UI 1.0 models approval as RUN_FINISHED with an interrupt outcome. The client resumes with resume[] on the same thread, must address every open interrupt, and the resume must be idempotent. State is sent in snapshot events before the interrupt | Approval is a graph pause, then snapshot events, then the interrupt outcome. Resume sets the decision in the session and runs the graph again |
| 3 | Pydantic AI's AG-UI docs note that older clients, including the @ag-ui/core version CopilotKit used at the time, reject the outcome and interrupt fields. CopilotKit issue #8080 (v1.83.0) reports that useInterrupt sends a synthetic tool message for tool-bound interrupts | Read protocolVersion on each request. Version 1.0 clients get the interrupt outcome with reason: "confirmation". Older clients get a legacy custom event |
| 4 | rig 0.43–0.46 changed heavily; a downstream migration issue (kaibo #226) describes it as close to a rewrite. In 0.46.0 (31 Oct 2026) transport moved to rig-reqwest, the agent runtime to rig-agent, and models are DynModel<Completion> | All rig types stay inside the llm crate behind the LlmProvider trait |
| 5 | graph-flow 0.8.1's rig feature depends on rig-core ^0.42 (source-verified) | Keep that feature off. Tasks call LlmProvider |
| 6 | graph-flow 0.8.1 is MIT, a small single-maintainer project. Its API: GraphBuilder, Task, FlowRunner::new(graph, storage), SessionStorage (save, get, delete), a synchronous Context::set/get, and NextAction::{Continue, ContinueAndExecute, GoTo, End, WaitForInput} (source-verified) | Confine graph-flow to two folders of the app so it can be replaced |
| 7 | CopilotKit v2 runtime uses createCopilotRuntimeHandler with CopilotRuntime({ agents }) and HttpAgent from @ag-ui/client (seen in CopilotKit issue #8192 on runtime 1.83.0 and @ag-ui/client 1.0.2) | The Next.js route registers one HttpAgent per workflow, built from the backend's agent list |