feat: A2UI Phase 3 — render events, 6 new components, custom catalogs#89
Merged
Conversation
…es (#14) Cockpit is an integrated developer reference surface for @cacheplane/stream-resource. It embeds running Angular examples, shows syntax-highlighted source code, renders tutorial documentation, and displays auto-generated API references for each capability. Shared libraries: - @cacheplane/design-tokens: colors, glass, gradient, glow, typography tokens - @cacheplane/ui-react: GlassPanel, GlassButton, Callout, Steps, Tabs, Card, CodeGroup, NavLink - @cacheplane/chat: Angular chat component library (cp-chat, cp-chat-message, cp-chat-input) 14 capability examples (Angular + Python + docs + e2e each): - LangGraph: streaming, persistence, interrupts, memory, durable-execution, subgraphs, time-travel, deployment-runtime - Deep Agents: planning, filesystem, subagents, memory, skills, sandboxes Unified harness: - Capability registry as single source of truth - Serve orchestrator with --capability and --all modes - Per-capability Nx serve targets - CI build job for all Angular apps - LangGraph deployment matrix for all 14 backends - Smoke e2e test suite (28 tests: 14 UI render + 14 send/receive) Light glassmorphism theme matching the website design with frosted glass panels, warm-to-cool gradient backgrounds, and EB Garamond/Inter/JetBrains Mono typography.
Covers 3 bespoke landing pages (/angular, /render, /chat), home page refactor replacing FullStackSection with teaser cards, 3 library-specific whitepapers with drip campaigns, footer Libraries column, and mobile docs nav integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 tasks covering home page refactor, 3 landing pages (/angular, /render, /chat), whitepaper pipeline, drip emails, footer update, and mobile nav integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Covers render-lib event system, 6 new A2UI components, action→spec binding bridge, custom catalogs via ViewRegistry composition, and ChatComponent event output. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…fecycle events Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ion to RenderSpecComponent Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…omponent Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…Modal components Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… dataModel Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…onent Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Tabs component: use effect() to track selected input instead of reading in constructor (before Angular resolves bindings), replace getter-returning-function with computed() signal - Fix wrapped handler Promise rejection: add .catch() to prevent unobserved rejections, emit handler event with undefined result - Fix docs: update overview and catalog to reflect that A2UI catalog is no longer automatic — consumers must pass views input explicitly Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
blove
added a commit
that referenced
this pull request
Jun 9, 2026
…#89) * feat(cockpit): complete cockpit application with 14 capability examples (#14) Cockpit is an integrated developer reference surface for @cacheplane/stream-resource. It embeds running Angular examples, shows syntax-highlighted source code, renders tutorial documentation, and displays auto-generated API references for each capability. Shared libraries: - @cacheplane/design-tokens: colors, glass, gradient, glow, typography tokens - @cacheplane/ui-react: GlassPanel, GlassButton, Callout, Steps, Tabs, Card, CodeGroup, NavLink - @cacheplane/chat: Angular chat component library (cp-chat, cp-chat-message, cp-chat-input) 14 capability examples (Angular + Python + docs + e2e each): - LangGraph: streaming, persistence, interrupts, memory, durable-execution, subgraphs, time-travel, deployment-runtime - Deep Agents: planning, filesystem, subagents, memory, skills, sandboxes Unified harness: - Capability registry as single source of truth - Serve orchestrator with --capability and --all modes - Per-capability Nx serve targets - CI build job for all Angular apps - LangGraph deployment matrix for all 14 backends - Smoke e2e test suite (28 tests: 14 UI render + 14 send/receive) Light glassmorphism theme matching the website design with frosted glass panels, warm-to-cool gradient backgrounds, and EB Garamond/Inter/JetBrains Mono typography. * ci: remove MCP job and references from workflows * docs: add library landing pages & home page refactor design spec Covers 3 bespoke landing pages (/angular, /render, /chat), home page refactor replacing FullStackSection with teaser cards, 3 library-specific whitepapers with drip campaigns, footer Libraries column, and mobile docs nav integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add implementation plan for library landing pages 11 tasks covering home page refactor, 3 landing pages (/angular, /render, /chat), whitepaper pipeline, drip emails, footer update, and mobile nav integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add A2UI Phase 3 design spec and implementation plan Covers render-lib event system, 6 new A2UI components, action→spec binding bridge, custom catalogs via ViewRegistry composition, and ChatComponent event output. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(render): add RenderEvent types for handler, state change, and lifecycle events Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(render): add emitEvent callback to RenderContext Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(render): add events output with lifecycle and state change emission to RenderSpecComponent Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(render): add opt-in element lifecycle emission to RenderElementComponent Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(a2ui): add Video, AudioPlayer, Slider, DateTimeInput, Tabs, and Modal components Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(a2ui): register 6 new components in catalog (18 total) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(a2ui): map actions to spec on bindings and initialize state from dataModel Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(a2ui): add default handlers and events output to A2uiSurfaceComponent Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(chat): add renderEvent output and remove hardcoded A2UI catalog Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(chat): export ChatRenderEvent type from public API Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add render events, update A2UI docs, add custom catalogs guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: address code review findings - Fix Tabs component: use effect() to track selected input instead of reading in constructor (before Angular resolves bindings), replace getter-returning-function with computed() signal - Fix wrapped handler Promise rejection: add .catch() to prevent unobserved rejections, emit handler event with undefined result - Fix docs: update overview and catalog to reflect that A2UI catalog is no longer automatic — consumers must pass views input explicitly Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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
RenderEventunion type (handler, stateChange, lifecycle),eventsoutput onRenderSpecComponent, wrapped handlers that emit events after execution, StateStore change subscription, spec-level lifecycle + opt-in element lifecyclea2uiBasicCatalog())surfaceToSpec()maps A2UI actions to speconbindings, defaulta2ui:eventanda2ui:localActionhandlers onA2uiSurfaceComponent, Button simplified toemit('click')renderEventoutput withChatRenderEventwrapper, removed hardcodeda2uiBasicCatalog()(consumers must passviewsinput explicitly)Breaking Changes
ChatComponentno longer includesa2uiBasicCatalog()by default. Consumers must pass it via[views]:Test plan
npx nx test render— all tests pass (includes new RenderEvent type tests, event emission tests)npx nx test a2ui— all tests passnpx nx test chat— all tests pass (includes action mapping tests, state initialization tests)npx nx build agent --configuration=production— production build succeedsviewsinput🤖 Generated with Claude Code