feat(render): wire VIEW_REGISTRY + add overrideViews; trim chat re-export; fix docs#569
Open
blove wants to merge 15 commits into
Open
feat(render): wire VIEW_REGISTRY + add overrideViews; trim chat re-export; fix docs#569blove wants to merge 15 commits into
blove wants to merge 15 commits into
Conversation
Closes a chain of compounding bugs: render exports public API with no engine behavior; chat leaks render tokens into its surface; chat README's markdown override example is broken three ways. Adds overrideViews, wires VIEW_REGISTRY into the render engine, drops chat's re-export, fixes all documentation (README + chat markdown guide + render views API + CHANGELOG + regenerated api-docs.json). Plus three nits: ag-ui README interrupt docs + new docs guide, .gitignore Playwright dirs, rename dashboard.md → generative-ui.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…s implementation plan
…in engine Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Y + overrideViews) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix the chat markdown guide to use MARKDOWN_VIEW_REGISTRY (correct token), overrideViews from @threadplane/render (not the old provideViews pattern), and 'code-block' (not 'code') as the node-type key. Add app-wide and per-instance override examples, a 22-entry node-type reference table, overrideViews-vs-withViews callout, and brief theming cross-link. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ption Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…verrideViews Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New guide covers the AG-UI HITL contract: CUSTOM on_interrupt wire
format, dump_json_safe auto-parsing, submit({ resume }) flow, and
cross-adapter parity with the LangGraph guide. Registers the page in
the ag-ui Guides section of docs-config.ts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Pre-existing failure inherited from main: - cockpit-e2e-wiring.spec.ts parsed only 'langgraphCwd' from global-setup-impl.ts, but ag-ui examples use 'pythonCwd' (the createAgUiGlobalSetup field). Accept either. - capability-registry.ts had the old "FakeAgent, no Python backend" shape for ag-ui-streaming (port 4600) and no entry for the new ag-ui-interrupts example. Update both to match the real uvicorn ag-ui-langgraph backend ports (4320/5320 + 4321/5321 from cockpit/ports.mjs).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolves a chain of three compounding bugs the README audit (PR #559) and the ag-ui PR (#567) surfaced, plus three small leftover nits.
VIEW_REGISTRYis now wired into the engine.RenderSpecComponentresolves its registry in priority order:[registry]input →RENDER_CONFIG.registry(fromprovideRender(...)) →VIEW_REGISTRY(fromprovideViews(...)) → existing empty fallback.RenderElementComponentreads fromRENDER_CONTEXT.registryset by its parent, so the resolution flows transitively. Additive — apps usingprovideRender({ registry })see no change.overrideViews(base, overrides)helper in@threadplane/renderwith override semantics (overrides win), as the missing complement towithViews(base, additions)which is additive-only.@threadplane/chatno longer re-exportsprovideViews/VIEW_REGISTRYfrom@threadplane/render. Direct render consumers import from render; chat owns its markdown-view DI surface (MARKDOWN_VIEW_REGISTRY+cacheplaneMarkdownViews).provideViews(withViews(cacheplaneMarkdownViews, { code: ... }))pattern was broken in three ways simultaneously (wrong token, additive-not-override helper, wrong node-key'code'vs'code-block'). The chat README, the chat markdown guide, the render README, and the render views API page now all describe the same correct mechanism ({ provide: MARKDOWN_VIEW_REGISTRY, useValue: overrideViews(cacheplaneMarkdownViews, { 'code-block': … }) }). The chat markdown guide also gains a 22-entry node-type reference table.libs/chat/CHANGELOG.mdnotes the surface trim under[Unreleased].apps/website/content/docs/{chat,render}/api/api-docs.json— chat lostprovideViews/VIEW_REGISTRY; render gainedoverrideViews. Clean diff, no spurious churn.libs/ag-ui/README.mdgains an "Interrupts (human-in-the-loop)" subsection coveringAgent.interrupt,submit({ resume }), and<chat-approval-card>pairing. Newapps/website/content/docs/ag-ui/guides/interrupts.mdxguide, registered indocs-config.tsnav..gitignoreignorescockpit/**/angular/test-results/;cockpit/chat/generative-ui/python/prompts/dashboard.mdrenamed togenerative-ui.mdto match the manifest's topic-named convention, so thecockpit-registrytracks implemented python assets for every approved capability topictest goes from red to green.Test Plan
nx test render— green (4 newoverrideViewstests + 4 new VIEW_REGISTRY priority/regression tests across the two render components)nx test chat— green after the re-export dropnx test ag-ui— greennx test cockpit-registry— goes from red to green (the dashboard.md/generative-ui.md mismatch was the failure)nx run-many -t build -p render chat ag-ui— greengit ls-files cockpit/ag-ui | grep test-results— empty (no committed Playwright artifacts)Design spec:
docs/superpowers/specs/2026-05-29-render-chat-docs-alignment-design.mdImplementation plan:
docs/superpowers/plans/2026-05-29-render-chat-docs-alignment.md🤖 Generated with Claude Code