Peter Steinberger
48dfb1c8ca
Auto-reply: ack think directives
2025-12-03 08:54:38 +00:00
Peter Steinberger
58520859e5
Auto-reply: add thinking directives
2025-12-03 08:45:23 +00:00
Peter Steinberger
c4b0155cc2
Format: align thinking helpers
2025-12-03 01:02:10 +00:00
Peter Steinberger
38b18202fc
Heartbeat: guard optional heartbeatCommand
2025-12-03 00:45:27 +00:00
Peter Steinberger
9da5b9f4bb
Heartbeat: normalize array replies
2025-12-03 00:40:19 +00:00
Peter Steinberger
a7fdc7b992
Auto-reply: allow array payloads in signature
2025-12-03 00:35:57 +00:00
Peter Steinberger
f519e22e6d
CI: fix command-reply payload typing
2025-12-03 00:33:58 +00:00
Peter Steinberger
ecac4dd72a
Auto-reply: format and lint fixes
2025-12-03 00:30:05 +00:00
Peter Steinberger
b6c45485bc
Auto-reply: smarter chunking breaks
2025-12-03 00:25:01 +00:00
Peter Steinberger
10182f1182
limits: chunk replies for twilio/web
2025-12-02 23:10:16 +00:00
Peter Steinberger
cfaec9d608
auto-reply: support multi-text RPC outputs
2025-12-02 23:03:55 +00:00
Peter Steinberger
1df6373cb1
revert: mark system prompt sent on first turn
2025-12-02 21:23:56 +00:00
Joao Lisboa
73a9fdca2a
fix: send Claude identity prefix on first session message
...
The systemSent variable was being set to true before being passed to
runCommandReply, causing the identity prefix to never be injected.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-02 21:07:13 +00:00
Peter Steinberger
b172b538fc
perf(pi): reuse tau rpc for command auto-replies
2025-12-02 20:09:51 +00:00
Peter Steinberger
f31e89d5af
Agents: add pluggable CLIs
...
Co-authored-by: RealSid08 <RealSid08@users.noreply.github.com >
2025-12-02 11:07:46 +00:00
Peter Steinberger
d88ede92b9
feat: same-phone mode with echo detection and configurable marker
...
Adds full support for self-messaging setups where you chat with yourself
and an AI assistant replies in the same WhatsApp bubble.
Changes:
- Same-phone mode (from === to) always allowed, bypasses allowFrom check
- Echo detection via bounded Set (max 100) prevents infinite loops
- Configurable samePhoneMarker in config (default: "[same-phone]")
- Messages prefixed with marker so assistants know the context
- fromMe filter removed from inbound.ts (echo detection in auto-reply)
- Verbose logging for same-phone detection and echo skips
Tests:
- Same-phone allowed without/despite allowFrom configuration
- Body prefixed only when from === to
- Non-same-phone rejected when not in allowFrom
2025-11-29 04:52:21 +00:00
Marcus Neves
b825f141f3
fix: add @lid format support and allowFrom wildcard handling
...
- Add support for WhatsApp Linked ID (@lid) format in jidToE164()
- Use existing lid-mapping-*_reverse.json files for LID resolution
- Fix allowFrom wildcard '*' to actually allow all senders
- Maintain backward compatibility with @s.whatsapp.net format
Fixes issues where:
- Messages from newer WhatsApp versions are silently dropped
- allowFrom: ['*'] configuration doesn't work as documented
2025-11-26 18:03:12 +01:00
Peter Steinberger
baf20af17f
web: add heartbeat and bounded reconnect tuning
2025-11-26 02:34:43 +01:00
Peter Steinberger
ce5b02a9ad
test(auto-reply): add helper coverage and docs
2025-11-26 02:09:50 +01:00
Peter Steinberger
5c8ce41e12
refactor(auto-reply): split reply helpers
2025-11-26 02:03:51 +01:00
Peter Steinberger
1fd4485716
Auto-reply: refresh typing indicator every 8s
2025-11-26 01:27:51 +01:00
Peter Steinberger
4dd2f3b7f7
refactor(web): split provider module
2025-11-26 01:16:54 +01:00
Peter Steinberger
e5f677803f
chore: format to 2-space and bump changelog
2025-11-26 00:53:53 +01:00
Peter Steinberger
d871dad85f
feat: keep typing indicators alive during commands
2025-11-26 00:05:11 +01:00
Peter Steinberger
2e3b8a03aa
feat: send session prompt once
2025-11-25 23:52:38 +01:00
Peter Steinberger
e642f128ae
feat: transcribe audio and surface transcript to prompts
2025-11-25 23:13:22 +01:00
Peter Steinberger
7d0ae151e8
feat: optional audio transcription via CLI
2025-11-25 23:06:54 +01:00
Peter Steinberger
0a0418b973
web: compress auto-reply media
2025-11-25 20:09:03 +01:00
Peter Steinberger
46be5eac7d
Auto-reply: send timeout fallback and tests
2025-11-25 17:52:57 +01:00
Peter Steinberger
bcbf0de240
Add cwd option for command replies
2025-11-25 16:19:24 +01:00
Peter Steinberger
4fa414919b
fix: restore zod typing and import ClaudeJsonParseResult
2025-11-25 12:25:05 +01:00
Peter Steinberger
800c7a1e1f
chore: sync source updates
2025-11-25 12:12:13 +01:00
Peter Steinberger
0adc0ed7a6
claude: prefix prompt with Clawd identity
2025-11-25 06:41:27 +01:00
Peter Steinberger
716f31f17a
auto-reply: handle empty stdout gracefully
2025-11-25 06:33:49 +01:00
Peter Steinberger
49bf1fadb6
debug: log MEDIA extraction and parse Claude text for tokens
2025-11-25 06:14:12 +01:00
Peter Steinberger
072998a6ab
refactor: extract MEDIA parsing helper and tidy whitespace
2025-11-25 05:49:18 +01:00
Peter Steinberger
6883c3ae4a
fix: handle inline MEDIA tokens and host webhook media
2025-11-25 05:47:12 +01:00
Peter Steinberger
5ce869f86c
fix: accept file/media tokens safely and improve web media send
2025-11-25 05:34:08 +01:00
Peter Steinberger
9bf35d3272
fix: harden MEDIA parsing and add tests
2025-11-25 05:25:57 +01:00
Peter Steinberger
54c763a679
chore: surface media URL in command prompts and tests
2025-11-25 05:20:50 +01:00
Peter Steinberger
948ff7f035
feat: add image support across web and twilio
2025-11-25 04:58:31 +01:00
Peter Steinberger
13be898c07
feat: serialize command auto-replies with queue
2025-11-25 04:40:49 +01:00
Peter Steinberger
ec630839a9
chore: finish logger sweep and add retry tests
2025-11-25 04:30:40 +01:00
Peter Steinberger
d7cc94333a
chore: logger cleanup and test fixes
2025-11-25 04:05:02 +01:00
Peter Steinberger
d2abe3c459
chore: harden claude json parsing and logging
2025-11-25 03:50:52 +01:00
Peter Steinberger
7fa071267c
feat: add logger and twilio poll backoff
2025-11-25 03:48:49 +01:00
Peter Steinberger
b8b0873c1e
Extract auto-reply helpers into modules
2025-11-25 02:16:54 +01:00