PR Summary

What problems was I solving

Users with enabled custom components could not author new components via a Studio UI integrated under the Media Library. Previous attempt (PR #4052) relied on outdated ARC-1816 patterns and required direct Studio navigation.

What user-facing changes did I ship

Added Custom Component Studio under Media Library route paths /page-setup/assets/custom-components/new and :componentId, including chat-powered component authoring, live preview with theme support, version history, and create/publish flows. When the tenant feature flag custom-components-enabled is off, direct Studio visits redirect to Media Library.

How I implemented it

Rebuilt from clean state with V3 patterns. Backend added async authoring schema (StartCustomComponentProposal, GetCustomComponentProposalResult) and Redis result store for pending/ready/failed states. Web-service added new Redis connection and tRPC endpoints (start/poll/stream). ViewModel layer added proposal actions, asset URL resolution, and feature flag integration. Frontend built custom component pages, omnibar, preview panel, chat panel, theme selector, and shared UI primitives. All changes are feature-flag gated and routed through Media Library, dropping older slide-over Advanced panel UI and dynamic package loading.

Description for the changelog

Custom Component Studio now lives under Media Library at /page-setup/assets/custom-components/new and :componentId. Users can use AI-powered chat to author React components with live preview, brand theme adaptation, validation, and publish workflows. Feature-gated to custom-components-enabled tenant flag; when disabled, direct Studio URLs redirect to Media Library. Added async authoring support with proposal start/poll/result workflows and reasoning streaming.

Custom component Studio pages and shared authoring components

high8 files
Implemented custom component Studio pages under Media Library, omnibar UI, preview panel, chat panel, theme selector, and feature-gated routes.

Custom component Studio pages and shared authoring components

high21 files
Implemented custom component Studio pages under Media Library, omnibar UI, preview panel, chat panel, theme selector, and feature-gated routes; built self-contained preview sandbox with injected React runtime.

Custom component authoring API contracts

medium2 files
Added async authoring schemas for waiting-started proposal flows: StartCustomComponentProposalArgsSchema, StartCustomComponentProposalResponseSchema, GetCustomComponentProposalResultArgsSchema, GetCustomComponentProposalResultResponseSchema.

Redis-based authoring result store and async transport

medium5 files
Implemented Redis-based result store for authoring statuses and async transport layer for proposal start/result poll flows.

Custom component authoring router integration and event stream

medium5 files
Added tRPC endpoints and Redis pub/sub for custom component authoring reasoning streaming; integrated with management router.

Custom components view-model actions and streaming

medium9 files
Added tRPC client wrappers, streaming utilities, and asset URL resolution for custom component authoring; integrated custom component feature flag; updated assets to allow filtering.

Custom components view-model actions and streaming

medium7 files
Added tRPC client wrappers, streaming utilities, asset URL resolution, and feature flag integration for custom component authoring; updated assets and database collections to support filtering and preview sample props.

Custom component authoring router integration and event stream

medium1 file
Added tRPC endpoints and Redis pub/sub for custom component authoring reasoning streaming; integrated with management router and extended create-agent-router utility for tornado return.

Redis-based authoring result store and async transport

medium1 file
Implemented Redis-based result store for authoring statuses and async transport layer for proposal start/result poll flows.

Custom component Studio view-model integration tests

low12 files
Added comprehensive Jest-based tests for custom component Studio UX, validation, routing, and view-model integration.

Custom component Studio view-model integration tests

low1 file
Added comprehensive test coverage for custom component Studio UX, validation, routing, view-model integration, and shared component contracts.