* Fix npm deprecation warnings and vulnerability
- Update Jest 29→30.2.0 to eliminate glob@7/inflight deprecation warnings
- Update Express 5.1.0→5.2.1 to fix query property vulnerability
- Update ts-jest 29.1.0→29.4.6 for Jest 30 compatibility
- Update @types/jest 29.5.0→30.0.0 for Jest 30 types
- Add npm override for test-exclude@7 to fully eliminate glob@7
* Update SDK and tooling dependencies to latest
- Implement DiscordAdapter using discord.js v14 with IPlatformAdapter interface
- Support 2000 char message limit with automatic splitting
- Add MESSAGE_CONTENT intent for reading messages
- Fix dotenv import order to use 'dotenv/config' for proper env loading
- Update batch mode tests to account for "starting" message
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: Add Telegram MarkdownV2 formatting for AI responses
- Add telegramify-markdown package to convert GitHub-flavored markdown
to Telegram's MarkdownV2 format
- Create telegram-markdown utility with:
- convertToTelegramMarkdown(): Main conversion function
- stripMarkdown(): Fallback for plain text
- escapeMarkdownV2(): Manual escaping helper
- Update TelegramAdapter to:
- Format short messages with MarkdownV2
- Split long messages by paragraphs for better formatting
- Fallback to stripped plain text when MarkdownV2 parsing fails
- Add comprehensive tests for markdown conversion
Transforms AI responses from raw markdown (## headers, **bold**) to
properly formatted Telegram messages with bold text, code blocks, etc.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: Correct telegram adapter test mocks and assertions
- Add missing stripMarkdown mock to telegram-markdown module mock
- Fix paragraph splitting test to use double newlines (\n\n) matching
actual implementation behavior
- Use smaller paragraph sizes (3000 chars) to stay within MAX_LENGTH
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* docs: add PRP for improving test coverage
- Create comprehensive PRP documenting test infrastructure improvements
- Add coverage directory to .gitignore
- Plan covers 6 phases: infrastructure, utilities, database, adapters, orchestrator, CI/CD
- Target: increase coverage from 15.98% to 80%+
* test: add comprehensive unit test coverage
- Add test infrastructure: setup.ts, mock utilities for database, platform, and streaming
- Add tests for all database modules (conversations, codebases, sessions)
- Add tests for test adapter, client factory, orchestrator
- Expand Claude and Codex client tests with full mock coverage
- Add tool-formatter tests
- Configure Jest with coverage thresholds (30% branches, 40% functions/lines/statements)
- Add CI workflow for automated testing on push/PR
- Add test:coverage and test:ci npm scripts
Coverage: 170 tests passing, 53% lines, 48% branches, 65% functions
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: improve test coverage and fix type issues
- Fix type annotations across multiple files
- Improve test mocks for streaming and database operations
- Update jest config for better coverage reporting
- Fix minor type issues in orchestrator, sessions, and adapters
- Update documentation for architecture and cloud deployment
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>