6cb7875103
An unknown borderStyle name (reachable only via a TS-bypass — the prop type is the cli-boxes keyof union) silently degraded to no border (and wrongly reserved a 1-cell inset). Ink throws a TypeError on it. Align to that "throw on unknown" contract by validating in the Box component's render, so the throw is caught by vue-tui's error boundary (onErrorCaptured -> ErrorOverview), like any other render error — rather than in paint, where a throw would unwind through Vue's post-flush commit and wedge the scheduler. The check resolves cliBoxes[borderStyle] and throws unless it's a genuine BoxStyle (an object with a string `top` glyph), so unknown names, the cli-boxes CJS-interop `default` self-key, and inherited prototype names (toString, constructor) all throw; valid names, false/undefined (no border), and a custom BoxStyle object are unaffected. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>