sign-in | Expressible today | Card + Button list (the OIDC providers) + Input + Link; the passkey call is a host function | – |
onboarding | Expressible today | ChoiceTiles over Card | – |
onboarding-create-team | Expressible today | Form + Input + Button | – |
onboarding-join | Expressible today | Form + Input (the invite link) + Button | – |
onboarding-invite | Expressible today | Card + CodeBlock (the link) + Button; the copy is a host function | – |
onboarding-devices | Expressible today | Section + Row + CodeBlock (the install one-liner) + Button | – |
invite-accept | Expressible today | Card + Avatar + Button | – |
board | Expressible today | Toolbar (search, filters, New issue); the status groups are Section + Row; bulk selection = Row selection + a Toolbar selection bar | – |
issue-detail | Needs a new native | a markdown EDITOR with mentions, issue refs and image paste (Textarea is plain text); the property tray is Chip + Select; the activity is Row + Markdown | yes |
issue-comments | Needs a new native | the same editor for the composer; threaded comments are Row + Markdown | yes |
issue-create | Needs a new native | the markdown editor; title + property Chips + FileUpload otherwise | yes |
search | Expressible today | SearchList over Section + Row | – |
board-empty | Expressible today | EmptyState + the getting-started block (Section + Meter + Row) | – |
board-bulk-edit | Expressible today | Toolbar as the floating selection bar (Chip count + Select ×3 + Button) | – |
issue-properties | Expressible today | Drawer + Group + Row (chevron selector) + Select / DatePicker | – |
search-list | Expressible today | SearchList (the catalog's own); the caret anchoring is the host's | – |
inbox | Expressible today | List sectionBy + Section + Row + LiveDot (app extension) | – |
my-issues | Expressible today | Tabs + List + Row | – |
drafts | Expressible today | List + Row (title, meta) + EmptyState | – |
agents | Needs an app extension component | the per-login usage rows (three Meters with reset captions in one line) are an app component; Section + Row + IconDisc + LiveDot for the device rows | yes |
actions-mobile | Expressible today | Section + Row with a trailing Button | – |
chat | Needs an app extension component | the launcher composer (issue chips, device + agent pickers, the + and / menus) is an app component over Composer; the greeting is Text | yes |
agent-home | Needs an app extension component | the same launcher composer | yes |
chat-issues | Needs an app extension component | the launcher composer with Chips | yes |
steering | Needs a new native | the session feed: Trace + Markdown + the ask dock cards, but a streaming transcript with tool-call cards needs a feed NATIVE (windowed, sticky-bottom, live) | yes |
thread | Needs a new native | the conversation feed (the same feed native); Tabs + Chip for the strip; the session card is Row surface card | yes |
thread-replies | Expressible today | Stack horizontal of Chips (pressable) with a dismiss Button | – |
chat-from-issue | Needs an app extension component | the launcher composer | yes |
mention-pill | Needs an app extension component | Text whose markdown runs carry an inline Badge (the round pill variant) for a resolved @member, in a chat bubble Box; needs inline chips inside Text | yes |
machine-settings | Expressible today | Page (title, back) + Group + Row + Switch + Select; FormActions for Update / Remove | – |
add-server | Expressible today | Card ×2 + CodeBlock + Button | – |
review-diff | Needs a new native | a DIFF viewer (hunks, syntax, expand context) and the file tree (Tree); CodeBlock is not a diff | yes |
action-page | Needs a new native | the markdown editor for the prompt body; Page + Group + Row + Select otherwise | yes |
support-reporter | Needs a new native | the markdown editor for the reply box (plain Textarea would do for a reporter); Markdown + Image + Row otherwise | yes |
settings-general | Expressible today | Page + Group + Input + FormActions | – |
settings-members | Expressible today | Page + Section + Row (Avatar lead, role Select trailing) + ChipInput; FormActions for Send invites | – |
settings-labels | Expressible today | Section + Row with a Chip (dot colour) + Button; the colour picker is a Select of swatches | – |
settings-statuses | Expressible today | Section ×6 + Row + Select; FieldGroup for the automation targets | – |
settings-storage | Expressible today | Table (name, size, referenced, date, slot action) + Button | – |
settings-boards | Expressible today | Page + FieldGroup (icon, colour, name in one row) + Group + Select + FormActions | – |
settings-repositories | Expressible today | Section + Row + Button; the GitHub connect is a host function | – |
settings-widget | Needs an app extension component | the live whole-panel widget preview is an app component; Form + Input + ChipInput + Select + Switch for the rest | yes |
settings-account | Expressible today | Page + Group + Row (sign-in methods with trailing Buttons) + Select; FormActions | – |
settings-notifications | Expressible today | Page + Group + Row with two Switches trailing (a Toolbar-like control row) + TimePicker; FormActions | – |
settings-assistant | Expressible today | S-3: Page + a header Row (the brand mark IconDisc, the name) + Groups of picker Rows (Select trailing: Runs on, Check in) and Switch Rows (the Voice block) + a TextField Row for the instructions; saves on change | – |
settings-assistant-meeting | Expressible today | NEW-57: the same Page scrolled to its Meeting mode Group: Switch Rows (Meeting mode, Desktop audio) + a picker Row (Stop after, Select trailing) | – |
settings-api-keys | Expressible today | Page + Section + Row (sessions with Log out) + Table (keys) + Dialog + FieldGroup (name, scope) + AlertDialog | – |
settings-team | Expressible today | Group + Row chevron | – |
settings-root | Expressible today | Section (per server) + Row chevron | – |
settings-widget-editor | Needs an app extension component | Tabs + Form, but the Appearance tab's live widget preview is an app component | yes |
settings-agents | Expressible today | Section tinted + Row + Section (events) + Row | – |
settings-tools | Expressible today | Page + Group + Input + Select; FormActions | – |
settings-worktrees | Expressible today | Section + Row + Button (Prune) + AlertDialog | – |
settings-boards-archived | Expressible today | Section + Row + Button; the pending-deletion Card | – |
settings-mcp | Expressible today | Section + Row (Chip Default, trailing Button + Menu) + Dialog + Form; Tabs (Mine | Everyone) + Select for the access levels | – |
settings-mcp-activity | Expressible today | List of Row (mono Text lead, caption, trailing Badge status) | – |
settings-issues | Expressible today | Page + Group + Segmented (estimate scale) + FieldGroup (the PR targets) + FormActions | – |
settings-import | Expressible today | Stepper + Card + Table (the mapping) + Progress + Button | – |
settings-team-agent | Needs a new native | Page + FieldGroup (icon, colour, name) + Group + Select + Row (schedule sentence) + Textarea + FormActions; the instructions want the markdown editor (native) to match the app (the macros have landed; the editor is what is left) | yes |
settings-prompts | Expressible today | Section + Row + Button | – |
settings-prompt | Needs a new native | the markdown editor for the body; FieldGroup for icon + name | yes |
settings-skills | Expressible today | Section + Row (Chip Default, trailing Button + Menu) + Button | – |
settings-skill | Needs a new native | the markdown editor for the SKILL.md body; FieldGroup for name + description + Switch | yes |
files | Needs a new native | Tree (the file tree with keyboard + drag) beside a read-only CodeBlock; Resizable splits them | yes |
source-control | Needs a new native | the diff viewer; the commit graph is an app extension; Row for the file list | yes |
terminal | Needs a new native | a TERMINAL (pty, cursor, selection); CodeBlock ansi is output only | yes |
getting-started | Expressible today | Section (title, Meter in the leading slot, Docs Link trailing) + Collapsible + Row | – |
apps | Expressible today | Section (New app as its action) + Row per app (glyph, name, the version Chip, the … Menu); the built-in row the same with its Built-in Chip | – |
app | Needs a new native | the editor session's conversation feed native; the preview is a nested Exponential UI surface, the versions Drawer is Row + Chip, the phones' switch Segmented | yes |
app-settings | Expressible today | the editor's Settings tab: FieldGroup (icon, colour, name in one row) + Textarea + the Tools group of Row + Switch + Export Button + the destructive Row | – |
app-versions | Expressible today | the editor's Versions tab: one grouped List of Row (the v{n} Chip, the note, who · when) with Current Chip or Preview + Restore Buttons | – |
app-data | Expressible today | the editor's Data tab: a toolbar (the kind Select, Add record Button) over a Table of records with a … Menu per row (Edit, Delete); phones one Row per record | – |
app-preview-phone | Needs a new native | the Preview tab's toolbar (Segmented Desktop | Phone, the template Select) over a nested Exponential UI surface in a 390 px frame; the frame is the host's | yes |
app-draft | Needs a new native | the app editor on a draft (no version yet): the same native editor as app, its Chat tab with the empty preview | yes |
app-consent | Expressible today | Dialog: the operation's words as its title, the body Text, a CodeBlock of the arguments, Deny + Allow Buttons (the destructive Allow variant) | – |
app-export | Expressible today | Dialog: the title Text, one Row with a Switch (Include records), the Export Button; the file hand-off is the host's | – |
app-import | Expressible today | Dialog: a multi-line TextField (monospace), a Choose file Button, a List of destructive Text rows (path: message), the Import Button | – |
settings-apps | Expressible today | Section + Row + Button, the Agents settings band's twin | – |
session-row | Expressible today | Row (two densities) + depth + a trailing Icon; the session mark is IconDisc (app extension) | – |
session-xref | Expressible today | S-3: one compact Row (a muted Text kind label, Avatar (sm) or the session IconDisc, the name, a trailing chevron Icon); a tap pushes that session | – |
story-ring | Needs an app extension component | S-3: an Avatar inside a segmented ring, one arc per story tinted by state (waiting / unseen / seen): a StoryRing painter in the app extension | yes |
story-viewer | Expressible today | S-3: a Dialog (full screen on phones) of a Row of Progress segments, a header Row (Avatar, name, kind · age Text, close Button), the draft as a nested surface and a footer Row of choice Buttons | – |
story-tab | Expressible today | List of Card tiles: a title Row (Text title, a muted kind · outcome · age Text), then a horizontal Stack of Image thumbnails each with a short caption Text | – |
thread-stories | Expressible today | the Stack band + StackRail (Section tree) and one Changes Row over the pull request, then the story-tab tiles (Card + Image thumbnails + one line of Text each) | – |
pr-row | Expressible today | Row + Ring lead + depth (tree guides); the stack rail is Section tree | – |
pr-checks | Expressible today | Button pill (Spinner / Icon lead) for the Merge state + a Menu submenu of Rows (status Icon, name, duration) whose press is openUrl; merging on red confirms through Dialog | – |
composer-menu | Expressible today | Menu with submenus (searchable) over a Button | – |
composer-skills-menu | Expressible today | Menu with submenus (searchable) over a Button, multi-pick rows | – |
composer-dialog-menu | Expressible today | the same Menu with submenus inside a Dialog; that a desktop dialog's menu needs a window of its own is the host's (the gpui renderer), not the catalog's | – |
composer-slash-menu | Expressible today | SearchList in a Popover | – |
session-slash-menu | Expressible today | SearchList in a Popover | – |
work-card | Expressible today | Card over a Row (icon, name, kind, elapsed) + Meter + Collapsible phases + Trace | – |
script-card | Expressible today | Collapsible + Trace + TraceItem + CodeBlock | – |
sealed-locked | Expressible today | Badge (the glass pill) + Icon (lock) + Text (italic muted preview) | – |
comment-call-card | Expressible today | Card (padded false) + Row (Avatar lead, meta) + Markdown lines 3 + Link | – |
trace | Expressible today | Trace + TraceItem + CodeBlock (the catalog's own) | – |
ask-dock | Expressible today | Card + Markdown + Radio / ChoiceTiles + Button; the stacked compact cards are Row surface card | – |
dock-card | Expressible today | DockCard (the catalog's own: the row over a bottom Drawer with its footer slot); the pile is Box + the stack geometry | – |
plan-card | Expressible today | Card + Markdown + Image + ChoiceTiles + Radio + Button; the Preview frame is a Box | – |
plan-page | Expressible today | SplitView + Outline + Section + Markdown + Mosaic + Carousel (counter, thumbnails) + Button | – |
code-block | Expressible today | CodeBlock (the catalog's own) | – |
feedback-states | Expressible today | Spinner + Button loading + Skeleton + Toast; the mark's stroke sweep is IconDisc (app extension) | – |
threads | Expressible today | Section ×3 + Row (identifier, title, meta word, trailing device Icon) + LiveDot | – |
chat-list | Expressible today | Box header (Heading + two icon Buttons) + a horizontal Row of Avatar bubbles with a ring + Segmented toggles for the chips + Row (Avatar lead, title, meta time, preview subtitle, trailing Badge) | – |
chat-menus | Expressible today | Menu as a context menu (the phone look is a bottom Drawer of the same rows) + Dialog for the delete confirm | – |
chat-selection | Expressible today | the board-bulk-edit pattern on chat rows: Checkbox as the leading selection column + Toolbar as the floating bulk bar (Chip count + Buttons: Mark read, Archive, Stop, Delete) | – |
device-readiness | Expressible today | Section per group (muted trailing tag) of Rows: state Icon, label, the detail as Text, one trailing Chip action (an import Chip before it, confirmed by a Dialog); computer_use a Switch row with its permission Rows indented under it | – |
voice-call | Expressible today | S-3: Stack (centred) of Avatar (xl, an activity Ring around it, VoiceWave while speaking), Heading for the name, Text for the status or the timer, Text for the caption + a Group of round icon Buttons (size icon-lg: mute, speaker on phones, the destructive end); full screen on phones | – |
voice-call-overlay | Expressible today | S-3: Row (fixed 320×56, glass) of a drag-handle Icon, Avatar (sm), a Stack of the name over the timer, VoiceWave (sm) and two round icon Buttons (mute, destructive end) | – |
call-controls | Expressible today | S-3: Group of round icon Buttons (size icon-lg; neutral, pressed, destructive; a Label under the ringing Cancel) | – |
chat-transcript | Expressible today | Box bubbles (Markdown, a meta time) + Chip for the divider pills; the inline preview IS a nested surface, its enter motion the renderer's | – |
phone-tab-bar | Expressible today | Segmented in its full-width bar variant (icon over label, Avatar for Team, a trailing caret icon on the Board tab) beside a two-Button Group capsule | – |
phone-board-menu | Expressible today | Menu (check items with a leading icon) in a full-width bottom panel | – |
phone-page-header | Expressible today | AppBar with a large title and two icon Buttons in its trailing slot | – |
schedule-picker | Expressible today | Section of Rows with trailing Select values (Repeat, Every, Minute, Time, Days, Time zone) + a searchable Select | – |
session | Needs a new native | the session feed native; AppBar + Button Stop + Composer otherwise | yes |
agent-channel | Needs a new native | the conversation feed native; Row + Markdown + Composer otherwise | yes |