feat: add e2e tests with Letta Cloud (#149)

E2E testing infrastructure that tests the full message flow against a real Letta Cloud agent.

Changes:
- Add MockChannelAdapter for simulating inbound/outbound messages
- Add e2e/bot.e2e.test.ts with 4 e2e tests:
  - Simple message/response
  - /status command
  - /help command
  - Conversation context retention
- Add 'mock' to ChannelId type
- Update CI workflow with separate e2e job (uses secrets)
- Add npm run test:e2e script

E2E tests require:
- LETTA_API_KEY (already in repo secrets)
- LETTA_E2E_AGENT_ID (needs to be added)

E2E tests are skipped locally without these env vars.

Written by Cameron ◯ Letta Code

"Trust, but verify." - Ronald Reagan (on e2e testing)
This commit is contained in:
Cameron
2026-02-04 17:51:23 -08:00
committed by GitHub
parent 1113631252
commit fe233b2f8f
12 changed files with 572 additions and 16 deletions

View File

@@ -103,7 +103,15 @@ async function server() {
// Check if configured
if (!existsSync(configPath)) {
console.log(`No config found at ${configPath}. Run "lettabot onboard" first.\n`);
console.log(`
No config file found. Searched locations:
1. ./lettabot.yaml (project-local - recommended)
2. ./lettabot.yml
3. ~/.lettabot/config.yaml (user global)
4. ~/.lettabot/config.yml
Run "lettabot onboard" to create a config file.
`);
process.exit(1);
}