Replace custom widgetRenderer with CopilotKit Open Generative UI

Aperta
#82 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
typescript
Ambito
backend, frontend

Direzione di ricerca

Start with apps/app/src/app/api/copilotkit/route.ts and verify whether openGenerativeUI supports the current LangGraphHttpAgent runtime; compare this with the linked CopilotKit documentation. Then inspect use-generative-ui-examples.tsx, widget-renderer.tsx, idiomorph-inline.ts, export-overlay.tsx, and export-utils.ts, including the CopilotKit provider's sandboxFunctions. Done means generated calculator and binary-search UIs work, theme toggling remains functional, custom helpers are removed, and README/CLAUDE.md no longer reference widgetRenderer.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Background

We currently ship a hand-rolled open generative UI implementation:

  • WidgetRenderer — ~730-line component that renders agent-authored HTML/CSS/JS inside a sandboxed iframe, with our own theme CSS, idiomorph streaming, and export overlay.
  • Registered as a useComponent({ name: "widgetRenderer", ... }) in use-generative-ui-examples.tsx.

CopilotKit now ships this as a first-class feature: Open Generative UI. It covers the same use case (live-streamed sandboxed HTML/CSS/JS, CDN libraries, two-way host bridges) without per-app widget code.

Goal

Delete the custom widget pipeline and use CopilotKit's built-in Open Generative UI instead.

Scope

  • Enable openGenerativeUI: true in the runtime (route.ts).
  • Remove the widgetRenderer useComponent registration and its supporting files (widget-renderer.tsx, idiomorph-inline.ts, export-overlay.tsx, export-utils.ts) once parity is confirmed.
  • Port any host-side hooks we relied on (e.g. theme toggling) to sandboxFunctions on the CopilotKit provider.
  • Keep the other declarative components (pieChart, barChart, plan_visualization, HITL scheduleTime) as-is.
  • Update CLAUDE.md and any demo prompts/suggestions referencing "widgetRenderer".

Open question

The current runtime is v1 CopilotRuntime + LangGraphHttpAgent pointing at the Python LangGraph agent. The docs example for openGenerativeUI: true uses the v2 runtime with BuiltInAgent + InMemoryAgentRunner. We need to verify whether the flag is supported alongside LangGraphHttpAgent, or whether this upgrade also requires migrating the runtime wiring (and what that means for the Python agent in apps/agent/).

Acceptance criteria

  • "Build me a calculator" / "Visualize binary search" prompts produce a streamed, sandboxed UI in chat with no custom widget code in this repo.
  • Theme toggle still works from generated UI (via sandboxFunctions).
  • Custom widget-renderer.tsx and helpers are deleted.
  • README/CLAUDE.md reflect the new approach.

Docs: https://docs.copilotkit.ai/generative-ui/open-generative-ui

Lingua principale
TypeScript
Stelle
1.6k
Fork
202
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CopilotKit/OpenGenerativeUI

Tutte le issue di CopilotKit/OpenGenerativeUI

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.