import { marked } from 'marked'
import DOMPurify from 'dompurify'
/**
* Render a markdown string to safe, sanitized HTML.
*
* Used by the AI chat drawer to render assistant responses. Even though
* the AI provider controls the immediate source of the content, the model
* can echo anything it's fed — including user input from earlier in the
* conversation or tool results from the database. We therefore parse
* markdown → HTML via marked and then sanitize the result with DOMPurify
* before handing it to Vue's v-html.
*
* Marked is configured with:
* - gfm: true — GitHub-flavored markdown (tables, fenced code,
* strikethrough, task lists). Matches what users
* already expect from any modern chat UI.
* - breaks: true — newlines become
so a single user-typed line
* break renders as a visual break without needing
* two trailing spaces.
* - async: false — force synchronous parsing so the caller doesn't
* have to await; marked defaults to returning a
* Promise when extensions are registered.
*
* DOMPurify is run in its default browser profile which strips