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>
89 lines
2.1 KiB
YAML
89 lines
2.1 KiB
YAML
# Constraint tables for the Showcase Decision Tree.
|
|
# Generative UI: allowlist-based (demo must appear in `allowed` list)
|
|
# Interaction Modality: denylist-based (all allowed unless in `excluded` list)
|
|
|
|
generative_ui:
|
|
constrained-declarative:
|
|
allowed:
|
|
- beautiful-chat
|
|
- cli-start
|
|
- agent-config
|
|
- agentic-chat
|
|
- chat-customization-css
|
|
- tool-rendering-default-catchall
|
|
- tool-rendering-custom-catchall
|
|
- frontend-tools
|
|
- frontend-tools-async
|
|
- gen-ui-tool-based
|
|
- useComponent
|
|
- multimodal
|
|
- suggestions
|
|
- shared-state-read-write
|
|
- readonly-state-agent-context
|
|
- shared-state-streaming
|
|
- subagents
|
|
- voice
|
|
- auth
|
|
excluded:
|
|
- tool-rendering
|
|
- hitl-in-chat
|
|
- hitl-in-app
|
|
- gen-ui-interrupt
|
|
|
|
constrained-explicit:
|
|
allowed:
|
|
- beautiful-chat
|
|
- cli-start
|
|
- agent-config
|
|
- agentic-chat
|
|
- chat-customization-css
|
|
- tool-rendering-default-catchall
|
|
- tool-rendering-custom-catchall
|
|
- tool-rendering-reasoning-chain
|
|
- agentic-chat-reasoning
|
|
- reasoning-default-render
|
|
- reasoning-default
|
|
- reasoning-custom
|
|
- prebuilt-sidebar
|
|
- prebuilt-popup
|
|
- chat-slots
|
|
- headless-simple
|
|
- headless-complete
|
|
- frontend-tools
|
|
- frontend-tools-async
|
|
- gen-ui-tool-based
|
|
- gen-ui-interrupt
|
|
- interrupt-headless
|
|
- gen-ui-agent
|
|
- hitl-in-chat
|
|
- hitl-in-chat-booking
|
|
- hitl-in-app
|
|
- hitl
|
|
- declarative-gen-ui
|
|
- a2ui-fixed-schema
|
|
- a2ui-recovery
|
|
- mcp-apps
|
|
- tool-rendering
|
|
- useComponent
|
|
- multimodal
|
|
- suggestions
|
|
- shared-state-read-write
|
|
- shared-state-read
|
|
- readonly-state-agent-context
|
|
- shared-state-streaming
|
|
- subagents
|
|
- voice
|
|
- auth
|
|
- byoc-hashbrown
|
|
- byoc-json-render
|
|
- declarative-hashbrown
|
|
- declarative-json-render
|
|
- open-gen-ui
|
|
- open-gen-ui-advanced
|
|
|
|
interaction_modalities:
|
|
headless:
|
|
excluded:
|
|
- voice
|
|
# sidebar, embedded, popup, chat: no exclusions
|