CodeBlock is the base fenced-code surface from smithers-orchestrator/ui.
It uses the shared --code-bg and --code-text theme tokens and does not ship
a syntax-highlighting dependency.
onCopyCode when provided and otherwise falls back to
navigator.clipboard. It is hidden when neither path is available. A
highlighter returns readonly lines of { text, color? } tokens; returning
null or throwing renders escaped plain text.