import rehypeKatex from "rehype-katex"; import remarkGfm from "remark-gfm"; import remarkMath from "remark-math"; import type { StreamdownProps } from "streamdown"; export const streamdownPlugins = { remarkPlugins: [ remarkGfm, [remarkMath, { singleDollarTextMath: true }], ] as StreamdownProps["remarkPlugins"], rehypePlugins: [ [rehypeKatex, { output: "html" }], ] as StreamdownProps["rehypePlugins"], }; // Plugins for human messages - no autolink to prevent URL bleeding into adjacent text export const humanMessagePlugins = { remarkPlugins: [ // Use remark-gfm without autolink literals by not including it // Only include math support for human messages [remarkMath, { singleDollarTextMath: true }], ] as StreamdownProps["remarkPlugins"], rehypePlugins: [ [rehypeKatex, { output: "html" }], ] as StreamdownProps["rehypePlugins"], };