mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
06e6de87c7
A new demo that surfaces the ag_ui_adk >= 0.7.0 validate->retry recovery loop + recovery-exhausted hard-fail envelope, rendered as the building/retrying/ failed lifecycle by @ag-ui/a2ui-middleware >= 0.0.10. Two pills, driven by aimock fixtures that key the inner render_a2ui call by recovery attempt (sequenceIndex): - HEAL: attempt 0 structurally-invalid (unresolved child) -> heals to valid - EXHAUST: invalid on every attempt -> a2ui_recovery_exhausted fallback Backend-owned (get_a2ui_tool, recovery.maxAttempts=3, injectA2UITool=false), reusing the declarative-gen-ui catalog + sales context. ADK-only by design: the recovery loop lives in the ADK middleware; langgraph-python's runtime A2UI path (@ag-ui/a2ui-middleware single-pass) has no equivalent, so there is no LP parity reference (exempt from LP e2e-parity). Ported from ag-ui examples/.../a2ui_recovery.py. Wires: recovery_agent.py + registry; copilotkit-a2ui-recovery route; demos/a2ui-recovery page/chat/suggestions; manifest demo+feature; qa spec; aimock fixture; feature-registry + constraints (constrained-explicit) entries. Verified in-sandbox: import-smoke (41 agents, recovery cfg), generate-registry + validate-constraints + validate-parity (20/20 pass) + aimock-fixtures (818) + python suite (62) all green. Browser e2e (lifecycle render + sequenceIndex routing) + e2e spec are the documented outside-sandbox steps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 KiB
17 KiB