atLineStart: whether text begins a line, so a marker heading it
takes the space after it along; false for a chunk picked up mid-line, where that
whitespace is a real separator between two words. atTextEnd: whether text really
ends here, so a marker ending it takes the space before it along (see
dropTrailingSeparator); false mid-stream, where that whitespace belongs to
words still arriving. Both default to true.
Optional atOptional at
Strip the union of every provider's expressive XML markup (provider-agnostic).
The transcript sinks strip downstream, where the originating TTS/provider is no longer in scope, so they remove every provider's XML tags at once: expr markers (all the LLM is ever taught) plus every native tag name, so a hallucinated native tag is stripped rather than leaked.
Square-bracket spans are not stripped: the LLM only writes expr, so brackets in its output are prose (a
[text](url)link) that a strip would mangle. Provider-native brackets never arrive here — dropBracketCues removes them at their source.