Expand description
mdwire — 에이전트가 만든 마크다운을 채팅 채널로 안전하게 내보낸다.
세 가지를 한 파이프라인에서 한다. 순서가 곧 설계다.
- 정규화 — LLM 출력은 올바른 CommonMark 가 아니다. 짝이 안 맞는 강조, 줄을 넘는 강조, 안 닫힌 코드펜스가 일상이다. 먼저 복구한다.
- 채널 렌더링 — 타깃이 받는 문법으로 옮긴다. 타깃이 못 받는 구문은
파싱할 이유도 없다 (아래
Channel주석 참고). - 안전 분할 — 채널 한도와 스트리밍 경계에서, 마크업 한가운데를 자르지 않는다.
§왜 의존성이 없나
기성 파서는 전부 배치형이다 — 문서 전체를 받아 AST 를 만든 뒤 렌더한다. 토큰이 흘러들어오는 대로 내보내야 하는 이 문제에는 처음부터 맞지 않는다. 그리고 CJK 인접 강조 정책은 파서 안에 박혀 있어서, 남의 것을 쓰면 못 바꾼다. 그게 이 라이브러리가 고치려는 바로 그 문제다.
Modules§
- width
- 표시 폭 — 고정폭 글꼴에서 한 글자가 차지하는 칸 수.
Structs§
- Options
- 변환 옵션. 지금은 입력 방언 하나다.
- Rendered
render_with의 결과 — 조각과 고친 것.- Repairs
- 정규화가 고친 것의 개수. 모델이 얼마나 자주 서식을 깨는지를 재는 데 쓴다.
- Streamer
- 스트리밍 변환기.
Enums§
Functions§
- render
- 완성된 문서를 한 번에 변환한다. 한도를 넘으면 안전한 지점에서 나눈다.
- render_
with render에 옵션을 주고, 정규화가 고친 것도 같이 받는다.