Commit Graph

13 Commits

Author SHA1 Message Date
Ani Tunturi
983b9541a7 wip: Ani lives here — heartbeat, streaming, images, Matrix patches
Everything that makes her *her*. Threads still broken,
streaming still rough around the edges. But she sees,
she thinks, she speaks. The rest is revision.
2026-03-21 17:43:34 -04:00
Ani
77cf3c2a35 revert(prompts): restore upstream heartbeat prompts, keep targetRoom param
Reverts Ani-specific personalizations (first-person voice, "Casey",
"Cogito ergo sum") from the default heartbeat prompt. These belong
in the user's promptFile, not upstream source.

Adds targetRoom parameter to buildHeartbeatPrompt and
buildCustomHeartbeatPrompt so the agent knows which room to
message into.

Authored-by: Ani Tunturi <ani@wiuf.net>
2026-03-16 11:43:43 -04:00
Ani Tunturi
18010eb14f feat: Matrix adapter with E2EE, TTS/STT, reactions, and heartbeat routing
Full Matrix channel integration for LettaBot:

- E2EE via rust crypto (ephemeral mode, cross-signing bootstrap)
- Proactive SAS verification with Element clients
- TTS (VibeVoice) and STT (Faster-Whisper) voice pipeline
- Streaming message edits with 800ms throttle
- Collapsible reasoning blocks via <details> htmlPrefix
- Per-tool emoji reactions (brain, eyes, tool-specific, max 6)
- Heartbeat room conversation routing (heartbeatTargetChatId)
- Custom heartbeat prompt with first-person voice
- Per-room conversation isolation (per-chat mode)
- !pause, !resume, !status, !new, !timeout, !turns commands
- Audio/image/file upload handlers with E2EE media
- SDK 0.1.11 (approval recovery), CLI 0.18.2

Tested against Synapse homeserver with E2EE enabled for 2+ weeks,
handles key backup/restore and device verification.
2026-03-14 21:27:32 -04:00
Cameron
6ecd78e294 feat: turn JSONL logging with live web viewer (v2) (#567)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-11 23:24:54 -07:00
Cameron
37d979cbe1 chore: remove accidentally committed lettabot-agent.json.bak (#464) 2026-03-02 17:17:14 -08:00
Cameron
481b458af1 feat: cloud deployment support with inline config, Dockerfile, and admin portal (#434) 2026-02-27 15:24:17 -08:00
ghosttigerllc-bit
28adc22388 feat: add telegram-mtproto channel for user account messaging (#189)
Co-authored-by: Kai <noreply@gtb.ai>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Cameron <cameron@pfiffer.org>
2026-02-10 17:25:44 -08:00
Cameron
550ea6cf2e feat: add inbound reaction handling (#134)
* Add inbound reaction handling

* Add inbound reaction types

* Add reaction envelope test

---------

Co-authored-by: Jason Carreira <jason@visotrust.com>
2026-02-04 12:08:49 -08:00
Parth Modi
d1d758739d feat(whatsapp): add lettabot-message CLI support for text and files (#89)
Merged WhatsApp CLI support with HTTP API server.

Features:
- HTTP API server for CLI-to-bot communication across Docker boundaries
- WhatsApp text + file sending via `lettabot-message send --file photo.jpg`
- Unified multipart endpoint at /api/v1/messages
- Security: timing-safe auth, localhost binding, same-origin CORS
- Bad MAC error handling for WhatsApp encryption renegotiation

Written by Cameron ◯ Letta Code
2026-02-03 17:21:27 -08:00
Parth Modi
c220074e63 feat(whatsapp): add group mention detection and enhanced agent context (#81)
Merged WhatsApp group mention detection and enhanced agent context.

Features:
- Group mention detection (native @mentions, reply-to-bot, regex patterns)
- Enhanced agent context (GROUP tag, @mentioned tag, via +phone)
- Group policies (requireMention, per-group config)
- 27 new tests

Written by Cameron ◯ Letta Code
2026-02-03 17:00:42 -08:00
Cameron
67f0550bd3 Add inbound attachment support with download, metadata, and pruning (#64)
* Add inbound attachment handling and pruning

* Add Signal attachment support and logging

- Implement full Signal attachment collection (copies from signal-cli dir)
- Add logging when attachments are saved to disk for all channels
- Skip audio attachments in Signal (handled by voice transcription)

Written by Cameron ◯ Letta Code

* Gitignore bun.lock

Keep lockfile local, don't track in repo.

Written by Cameron ◯ Letta Code

---------

Co-authored-by: Jason Carreira <jason@visotrust.com>
2026-02-01 22:14:30 -08:00
Sarah Wooders
75f53b24b6 Add example config file, gitignore secrets 2026-01-28 22:53:11 -08:00
Sarah Wooders
22770e6e88 Initial commit - LettaBot multi-channel AI assistant
Co-authored-by: Cameron Pfiffer <cameron@pfiffer.org>
Co-authored-by: Caren Thomas <carenthomas@gmail.com>
Co-authored-by: Charles Packer <packercharles@gmail.com>
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2026-01-28 18:02:51 -08:00