Commit Graph

28 Commits

Author SHA1 Message Date
Sash Catanzarite
fa0091ea47 feat(typing): trigger indicator on tool start events
Add signalToolStart to TypingSignaler and call it from onAgentEvent
when tools begin executing. This keeps the typing indicator visible
during long-running tool operations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 06:18:35 +00:00
Peter Steinberger
9800105e30 fix(telegram): voice-note tag defaults (#188, thanks @manmal) 2026-01-08 03:15:08 +00:00
Manuel Maly
0db16cf037 feat(telegram): add [[audio_as_file]] tag support
Allow agents to specify audio mode via inline tag:
- Default: voice bubble (sendVoice)
- [[audio_as_file]]: audio file with metadata (sendAudio)

The tag is stripped from the final message text.

Example agent response:
  Here's a podcast episode! [[audio_as_file]]
  MEDIA:https://example.com/episode.mp3
2026-01-08 03:15:08 +00:00
Peter Steinberger
08ea1ac46f refactor: share reply payload threading/dedupe 2026-01-08 01:09:23 +00:00
Peter Steinberger
30945e5149 fix: polish reply threading + tool dedupe (thanks @mneves75) (#326) 2026-01-08 00:50:47 +00:00
mneves75
d03d152628 feat(telegram): wire replyToMode config, add forum topic support, fix messaging tool duplicates
Changes:
- Default replyToMode from "off" to "first" for better threading UX
- Add messageThreadId and replyToMessageId params for forum topic support
- Add messaging tool duplicate detection to suppress redundant block replies
- Add sendMessage action to telegram tool schema
- Add @grammyjs/types devDependency for proper TypeScript typing
- Remove @ts-nocheck and fix all type errors in send.ts
- Add comprehensive docs/telegram.md documentation
- Add PR-326-REVIEW.md with John Carmack-level code review

Test coverage:
- normalizeTextForComparison: 5 cases
- isMessagingToolDuplicate: 7 cases
- sendMessageTelegram thread params: 5 cases
- handleTelegramAction sendMessage: 4 cases
- Forum topic isolation: 4 cases

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:50:47 +00:00
Peter Steinberger
4dd47a4acc refactor: centralize typing mode signals 2026-01-07 22:18:11 +00:00
Peter Steinberger
f4c68293c3 feat: add typing mode controls 2026-01-07 21:58:54 +00:00
Peter Steinberger
9d469d5ffa feat: telegram draft streaming 2026-01-07 11:08:32 +01:00
Peter Steinberger
f6180e2111 feat: add /reasoning reasoning visibility 2026-01-07 06:17:31 +01:00
Peter Steinberger
4531dac01d merge upstream/main 2026-01-06 23:09:01 +01:00
Peter Steinberger
979ce574c7 fix: harden gemini session reset 2026-01-06 23:06:01 +01:00
Peter Steinberger
58fb2db471 fix: improve socket error handling 2026-01-06 22:43:29 +01:00
Emanuel Stadler
6202f476ce feat: enhance error handling for socket connection errors
- Added `isError` property to `EmbeddedPiRunResult` and reply items to indicate error states.
- Updated error handling in `runReplyAgent` to provide more informative messages for specific socket connection errors.
2026-01-06 22:19:37 +01:00
Peter Steinberger
03d673ee05 fix(telegram): prevent stuck typing after tool runs 2026-01-06 18:56:43 +00:00
Abhi
c1b24cb66a fix(telegram): stop typing after tool results (#322)
Thanks @AbhisekBasu1.
2026-01-06 18:54:08 +00:00
Peter Steinberger
f05d785bd9 fix: restore Anthropic token accounting 2026-01-06 18:52:01 +00:00
Peter Steinberger
882bcaf414 feat: multi-agent routing + multi-account providers 2026-01-06 18:33:37 +00:00
VAC
ac5119637e fix: auto-recover from Gemini session corruption
Detect the Gemini API error 'function call turn comes immediately after
a user turn or after a function response turn' which indicates corrupted
session history.

When detected:
- Delete the corrupted transcript file
- Remove the session entry from the store
- Return a user-friendly message asking them to retry

This prevents the error loop where every subsequent message fails with
the same error until manual intervention.

Fixes #296
2026-01-06 07:25:15 -05:00
Peter Steinberger
d4abcb9f53 chore: fix lint warnings 2026-01-06 05:41:24 +01:00
Peter Steinberger
dbfe031707 fix: stop typing after dispatcher idle 2026-01-06 03:09:49 +00:00
Peter Steinberger
2883ee8eba feat: track compaction count + verbose notice 2026-01-06 02:49:03 +01:00
Peter Steinberger
6f4fa6923e feat!: redesign model config + auth profiles 2026-01-06 00:56:58 +00:00
Jake
5cf7165909 fix(whatsapp): suppress typing during heartbeats
- Prevent typing indicator during heartbeat runs
- Add regression tests

Co-authored-by: Jake <mcinteerj@gmail.com>
2026-01-04 23:03:36 +00:00
Peter Steinberger
da540e59b0 chore: format models CLI 2026-01-04 18:11:41 +01:00
Peter Steinberger
896cd5ee85 feat: add models scan and fallbacks 2026-01-04 17:57:52 +01:00
Peter Steinberger
5d2bfa8421 feat: add elevated bash mode 2026-01-04 05:15:59 +00:00
Peter Steinberger
4015498035 refactor(auto-reply): split reply flow 2026-01-04 05:47:37 +01:00