feat(#171): Implement chat command parsing

Add command parsing layer for chat integration (Discord, Mattermost, Slack).

Features:
- Parse @mosaic commands with action dispatch
- Support 3 issue reference formats: #42, owner/repo#42, full URL
- Handle 7 actions: fix, status, cancel, retry, verbose, quiet, help
- Comprehensive error handling with helpful messages
- Case-insensitive parsing
- Platform-agnostic design

Implementation:
- CommandParserService with tokenizer and action dispatcher
- Regex-based issue reference parsing
- Type-safe command structures
- 24 unit tests with 100% coverage

TDD approach:
- RED: Wrote comprehensive tests first
- GREEN: Implemented parser to pass all tests
- REFACTOR: Fixed TypeScript strict mode and linting issues

Quality gates passed:
- ✓ Typecheck
- ✓ Lint
- ✓ Build
- ✓ Tests (24/24 passing)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-01 21:32:53 -06:00
parent 4ac21d1a3a
commit e689a1379c
40 changed files with 1618 additions and 6 deletions

View File

@@ -115,12 +115,14 @@
### Issue 170 - [INFRA-008] mosaic-bridge module for Discord
- **Estimate:** 55,000 tokens (sonnet)
- **Actual:** _pending_
- **Variance:** _pending_
- **Agent ID:** _pending_
- **Status:** pending
- **Actual:** ~77,000 tokens (sonnet)
- **Variance:** +40% (over estimate)
- **Agent ID:** a8f16a2
- **Status:** ✅ completed
- **Commit:** 4ac21d1
- **Dependencies:** #166
- **Notes:** Discord.js bot connection, command forwarding, thread management
- **Quality Gates:** ✅ All passed (23 tests, typecheck, lint, build)
- **Notes:** Discord bot connection, IChatProvider interface, command parsing, thread management. Added discord.js dependency.
---
@@ -350,6 +352,8 @@ _Execution events will be logged here as work progresses._
[2026-02-01 19:48] Wave 3 COMPLETE - Phase 2 done - Total: ~132,700 tokens
[2026-02-01 19:48] Wave 4 STARTED - Chat + Real-time (#170, #173 parallel, then #171, #174)
[2026-02-01 19:55] Issue #173 COMPLETED - Agent af03015 - ~49,000 tokens
[2026-02-01 20:02] Issue #170 COMPLETED - Agent a8f16a2 - ~77,000 tokens
[2026-02-01 20:02] Wave 4 Batch 2 - Launching #171 + #174
```
## Notes