- Extend /api/library/browse to episodes, music videos, songs, other videos, images and remote streams (new LibraryBrowseMediaType values + hydrators); add optional Subtitle to LibraryBrowseItemResponseModel for leaf-item context - Add GET /api/search: grouped per-kind results reusing the browse query/shape; empty query -> 422 - Add DELETE /api/media-items: body { ids }, empty -> 422, success -> 204 - Tests: SearchController, MediaItemsController, security + OpenAPI contract entries - Regenerate openapi v1.json + web v1.d.ts Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
refs #65