Commit Graph

37 Commits

Author SHA1 Message Date
Peter Steinberger
783e81486a chore: redact long texts in web logs 2025-12-05 19:21:23 +00:00
Peter Steinberger
b1f09f9943 chore: drop twilio and go web-only 2025-12-05 19:03:59 +00:00
Peter Steinberger
f980b0af1c chore: make pi-only rpc with fixed sessions 2025-12-05 17:50:02 +00:00
Peter Steinberger
ed17fe51bd Switch to clawdis RPC mode and complete rebrand 2025-12-05 17:22:53 +00:00
Eng. Juan Combetto
4e3db62818 fix: resolve lint errors (unused vars, imports, formatting)
- Prefix unused test variables with underscore
- Remove unused piSpec import and idleMs class member
- Fix import ordering and code formatting
2025-12-04 16:15:17 +00:00
Eng. Juan Combetto
0fea51feb5 config: support clawdis.json path for rebranding
- Add CONFIG_PATH_CLAWDIS (~/.clawdis/clawdis.json) as preferred path
- Keep CONFIG_PATH_LEGACY (~/.warelay/warelay.json) for backward compatibility
- Update loadConfig() to check clawdis.json first, fallback to warelay.json
- Fix TypeScript type error in extractMentionedJids (null handling)

Part of the warelay → clawdis rebranding effort.
2025-12-04 16:15:17 +00:00
Peter Steinberger
cee6618fd6 feat(web): add group chat mention support 2025-12-03 12:35:18 +00:00
Peter Steinberger
4c6bef34cf Chore: format + lint fixes 2025-12-03 09:09:34 +00:00
Peter Steinberger
e33c7a813d Auto-reply: add /verbose directives and tool result replies 2025-12-03 09:04:37 +00:00
Peter Steinberger
ff6d832151 Auto-reply: add thinking directives 2025-12-03 08:45:23 +00:00
Peter Steinberger
2a2b662c3e perf(pi): reuse tau rpc for command auto-replies 2025-12-02 20:09:51 +00:00
Peter Steinberger
d61e641496 Agents: add pluggable CLIs
Co-authored-by: RealSid08 <RealSid08@users.noreply.github.com>
2025-12-02 11:07:46 +00:00
Peter Steinberger
fb2710e1cb Simplify timestampPrefix: bool or timezone string, default true
- timestampPrefix: true (UTC), false (off), or 'America/New_York'
- Removed separate timestampTimezone option
- Default is now enabled (true/UTC) unless explicitly false
2025-11-29 05:29:29 +00:00
Peter Steinberger
29df1639ed Generalize prefix config: messagePrefix + responsePrefix
Replaces samePhoneMarker/samePhoneResponsePrefix with:
- messagePrefix: prefix for all inbound messages
  - Default: '[warelay]' if no allowFrom, else ''
- responsePrefix: prefix for all outbound replies

Also adds timestamp options:
- timestampPrefix: boolean to enable [Nov 29 06:30] format
- timestampTimezone: IANA timezone (default UTC)

Updated README with new config table entries.
2025-11-29 05:27:58 +00:00
Peter Steinberger
a97dfc255d Add timestampPrefix config for datetime awareness
New config options:
- timestampPrefix: boolean - prepend timestamp to messages
- timestampTimezone: string - IANA timezone (default: UTC)

Format: [Nov 29 06:30] - compact but informative
Helps AI assistants stay aware of current date/time.
2025-11-29 05:25:53 +00:00
Peter Steinberger
8d02e34389 Add samePhoneResponsePrefix config option
Automatically prefixes responses with a configurable string when in
same-phone mode. This helps distinguish bot replies from user messages
in the same chat bubble.

Example config:
  "samePhoneResponsePrefix": "🦞"

Will prefix all same-phone replies with the lobster emoji.
2025-11-29 05:24:01 +00:00
Peter Steinberger
a7b6914a64 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
Peter Steinberger
d3119175b5 Fix CI: type gaps and hasMedia check 2025-11-27 18:14:20 +01:00
Peter Steinberger
250e52abfb feat: add heartbeat idle override and preserve session freshness 2025-11-26 17:26:17 +01:00
Peter Steinberger
3dd2baba9d feat: add heartbeat cli and relay trigger 2025-11-26 17:04:43 +01:00
Peter Steinberger
00cd24e7e5 web: add heartbeat and bounded reconnect tuning 2025-11-26 02:34:43 +01:00
Peter Steinberger
9fa3cbab8a chore: format to 2-space and bump changelog 2025-11-26 00:53:53 +01:00
Peter Steinberger
f51ca895a0 chore: format + lint 2025-11-26 00:30:30 +01:00
Peter Steinberger
1eee9d9f2e style: normalize indentation to 2 spaces 2025-11-26 00:15:10 +01:00
Peter Steinberger
41dc5ed5eb feat: keep typing indicators alive during commands 2025-11-26 00:05:11 +01:00
Peter Steinberger
1dfc2ccf6e feat: send session prompt once 2025-11-25 23:52:38 +01:00
Peter Steinberger
9b8bcf36c3 feat: optional audio transcription via CLI 2025-11-25 23:06:54 +01:00
Peter Steinberger
87f9b1f0f4 web: compress auto-reply media 2025-11-25 20:09:03 +01:00
Peter Steinberger
47a79e7a93 Release 0.1.3 2025-11-25 16:53:30 +01:00
Peter Steinberger
0fef193518 Add cwd option for command replies 2025-11-25 16:19:24 +01:00
Peter Steinberger
d219526d97 test: sync updated specs 2025-11-25 12:12:29 +01:00
Peter Steinberger
d298ca2d81 chore: sync source updates 2025-11-25 12:12:13 +01:00
Peter Steinberger
c1929e389c ci: fix node path and lint warnings 2025-11-25 12:08:08 +01:00
Peter Steinberger
0bd9c5f5c7 feat: add image support across web and twilio 2025-11-25 04:58:31 +01:00
Peter Steinberger
abcea7d301 feat: add config validation and send dry-run 2025-11-25 03:46:26 +01:00
Peter Steinberger
58e230e9a9 Refactor CLI and Twilio modules; add helper tests and comments 2025-11-25 03:11:39 +01:00
Peter Steinberger
c1bdf9ca35 Extract auto-reply helpers into modules 2025-11-25 02:16:54 +01:00