feat(lexicons): add facets, langs fields and vote record type (#27)
Add optional `facets` (richtext annotations) and `langs` (BCP 47
language tags) fields to topic.post and topic.reply schemas, following
the Bluesky convention from app.bsky.feed.post.
Add new `forum.barazo.interaction.vote` record type for directional
voting (separate from reactions). Uses knownValues: ["up"] so "down"
can be added later without breaking change.
Changes:
- Vendor app.bsky.richtext.facet lexicon for facets reference
- Add facets + langs to post.json and reply.json (optional)
- Create interaction/vote.json with subject, direction, community
- Add vote to authForumAccess permission set
- Create Zod schemas for facet and vote validation
- Update all exports (generated types, Zod, LEXICON_IDS)
- Add 40 new tests (175 total, up from 135)
All changes are additive (non-breaking).
Fixes barazo-forum/barazo-workspace#30
authored by