Joel Hooks
d92633088e
fix(telegram): double-return paragraph spacing in messages
2026-02-28 08:13:05 -08:00
Joel Hooks
8881242236
chore: biome auto-fix import ordering across repo
2026-02-27 14:55:43 -08:00
Joel Hooks
0295660e3e
feat: extract vault-reader + wire AST formatter (ADR-0143/0144)
...
- vault-read.ts (209 lines) → @joelclaw/vault-reader, 4 tests
- AST formatter wired in telegram.ts behind USE_AST_FORMATTER flag
- Fixed TS errors: type-only import, non-null assertions, break vs lineBreak
- 31 tests green across markdown-formatter, vault-reader, message-store
2026-02-25 14:16:21 -08:00
Joel Hooks
48f253bf2f
feat: add validate() to FormatConverter + Telegram HTML validator (ADR-0143)
...
- ValidationResult/ValidationError/ValidationWarning types on FormatConverter interface
- 9 Telegram-specific rules: unsupported tags, balanced tags, nested pre/links,
max-length, entity count, valid href, empty tags, ampersand escaping
- Stack-based single-pass string scan — no DOM parsing
- TelegramConverter.validate() wired to validateTelegramHtml()
- 12/12 validator tests + 9 existing converter tests green (21/21)
2026-02-25 13:52:34 -08:00
Joel Hooks
b539cfd08f
refactor: extract markdown-formatter into shared package (ADR-0143)
...
- New @joelclaw/markdown-formatter package with FormatConverter interface
- TelegramConverter as first implementation (Telegram HTML from AST)
- Shared parser, escape, chunker modules for future platform converters
- Removed gateway-local ast-telegram.ts (moved to shared package)
- 9/9 tests passing
2026-02-25 13:46:36 -08:00