* feat: add ergonomic channel management CLI
Add `lettabot channels` command for easier channel management:
- `lettabot channels` - Interactive menu
- `lettabot channels list` - Show status of all channels
- `lettabot channels add <channel>` - Add with focused setup
- `lettabot channels remove <channel>` - Remove/disable
- `lettabot channels enable/disable <channel>` - Quick toggle
This makes it much easier to add a single channel without going
through the full onboard wizard. For example, adding Discord
after already having Telegram configured now only requires
the Discord-specific prompts.
Also fixes test for /reset command (was added but test not updated).
🐙 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
* refactor: remove enable/disable commands from channels CLI
Simplify the channels CLI to just add/remove. The enable/disable
commands were redundant - users can use `add` to reconfigure
and `remove` to disable.
🐙 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
* clean up
---------
Co-authored-by: Letta <noreply@letta.com>
The ^6.7.21 caret range resolves to 6.17.16 on fresh npm install, which
ships incompatible TypeScript types (no call signatures on default export).
Pins exact version and adds explicit type annotation on getMessage key param.
Also updates commands.test.ts to expect 5 commands (reset was added but
test still expected 4).
Fixes#192
Written by Cameron ◯ Letta Code
"The caret giveth, and the caret taketh away."
Testing infrastructure improvements:
1. Add GitHub Actions workflow (.github/workflows/test.yml)
- Runs on push/PR to main
- Installs deps, builds, runs tests
- Blocks merging broken code
2. Add tests for commands.ts (src/core/commands.test.ts)
- Tests parseCommand() with valid/invalid inputs
- Tests case insensitivity
- Tests COMMANDS array and HELP_TEXT
Now at 231 tests across 17 test files.
Written by Cameron ◯ Letta Code
"Test early, test often." - Software proverb