SIGN IN SIGN UP

feat: render curate-html-direct task input/output structurally

The MCP `brv-curate` flow ships its payload as JSON in both directions:
input is `{html, confirmOverwrite?}` and output is either
`{status: 'ok', topicPath, filePath, overwrote}` or
`{status: 'validation-failed', errors[]}`. The task detail view was
dumping the raw JSON strings, which is unreadable.

Adds parsers and dedicated input/result components for the
`curate-html-direct` task type. Input now previews the embedded
`<bv-topic>` HTML via TopicViewer and surfaces `confirmOverwrite`.
Result shows a Created/Overwritten chip with topic path + file path on
success, or a structured error list (with the existing topic inlined
on path-exists conflicts) on validation failure. Other task types fall
through to the existing markdown/bv-topic rendering.

Also flattens task-type display + filters so MCP variants group with
their parents: curate-html-direct and curate-folder show as curate in
the table and match the Curate filter; query-tool-mode shows as query
and matches the Query filter.
W
wzlng committed
9543033412e26c819adbfc227a5ce3071b156d2d
Parent: 847891e