Peter Steinberger
8f6e43fd66
Changelog: bump to 1.2.0 unreleased
2025-11-26 18:18:13 +01:00
Peter Steinberger
ebce6ef263
Docs: show --all heartbeat example
2025-11-26 18:17:30 +01:00
Peter Steinberger
c20a266a11
Heartbeat: harden targeting and support lid mapping
2025-11-26 18:15:57 +01: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
7e5b3958cc
CLI: rename heartbeat tmux helper and log file path
2025-11-26 18:00:23 +01:00
Peter Steinberger
deded848ee
Heartbeat: add relay helper and fix CLI tests
2025-11-26 17:49:34 +01:00
Peter Steinberger
117161e6ff
docs: document heartbeat idle override and tests
2025-11-26 17:31:56 +01:00
Peter Steinberger
98d52edcc9
test: cover heartbeat skip preserving session timestamp
2025-11-26 17:29:12 +01:00
Peter Steinberger
135d930c99
feat: add heartbeat idle override and preserve session freshness
2025-11-26 17:26:17 +01:00
Peter Steinberger
e6c78df975
chore: add verbose heartbeat session logging
2025-11-26 17:21:59 +01:00
Peter Steinberger
3749797434
chore: log heartbeat session snapshot
2025-11-26 17:20:48 +01:00
Peter Steinberger
507ed25289
chore: log heartbeat fallback and add test
2025-11-26 17:12:28 +01:00
Peter Steinberger
0d5e5f8dee
fix: heartbeat falls back to last session contact
2025-11-26 17:08:43 +01:00
Peter Steinberger
271004bf60
feat: add heartbeat cli and relay trigger
2025-11-26 17:04:43 +01:00
Peter Steinberger
c194247dab
test(auto-reply): cover cwd timeout hint and queue meta
2025-11-26 03:03:13 +01:00
Peter Steinberger
a48420d85f
docs: finalize web refactor and coverage
2025-11-26 02:54:43 +01:00
Peter Steinberger
5c66e8273b
chore: update changelog and surface web relay settings
2025-11-26 02:43:24 +01:00
Peter Steinberger
5992e629c3
web: add reconnect logging + troubleshooting doc
2025-11-26 02:41:10 +01:00
Peter Steinberger
765d67cd18
web: extract reconnect helpers and add tests
2025-11-26 02:39:31 +01:00
Peter Steinberger
baf20af17f
web: add heartbeat and bounded reconnect tuning
2025-11-26 02:34:43 +01:00
Peter Steinberger
e482e7768b
chore: commit pending cli/web test tweaks
2025-11-26 02:19:45 +01:00
Peter Steinberger
4a8bb56a1e
chore(auto-reply): include cwd in timeout message
2025-11-26 02:18:16 +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
a2586b8b06
feat(web): add logout command and tests
2025-11-26 01:29:02 +01:00
Peter Steinberger
1fd4485716
Auto-reply: refresh typing indicator every 8s
2025-11-26 01:27:51 +01:00
Peter Steinberger
b029ab933e
chore(tests): organize web test imports
2025-11-26 01:24:34 +01:00
Peter Steinberger
e0b28b6718
test(web): split provider web suite
2025-11-26 01:23:34 +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
a67f4db5e2
chore: format + lint
2025-11-26 00:30:30 +01:00
Peter Steinberger
8a01dc7f4c
style: normalize indentation to 2 spaces
2025-11-26 00:15:10 +01:00
Peter Steinberger
af8af4881b
docs/tests: typing interval docs and coverage
2025-11-26 00:10:38 +01:00
Peter Steinberger
d871dad85f
feat: keep typing indicators alive during commands
2025-11-26 00:05:11 +01:00
Peter Steinberger
5b83d30887
test: cover sendSystemOnce default
2025-11-25 23:57:41 +01:00
Peter Steinberger
2e3b8a03aa
feat: send session prompt once
2025-11-25 23:52:38 +01:00
Peter Steinberger
d924b7d283
docs: document media caps and tidy web tests
2025-11-25 23:43:57 +01:00
Peter Steinberger
e0425ad3e1
feat: support audio/video/doc media caps and transcript context
2025-11-25 23:21:35 +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
f945e284e1
test: cover media formats + doc resize cap
2025-11-25 22:23:06 +01:00
Peter Steinberger
0a0418b973
web: compress auto-reply media
2025-11-25 20:09:03 +01:00
Peter Steinberger
dda017df23
Web relay: auto-reconnect Baileys and test
2025-11-25 18:09:57 +01:00
Peter Steinberger
46be5eac7d
Auto-reply: send timeout fallback and tests
2025-11-25 17:52:57 +01:00
Peter Steinberger
20fc412765
Refactor: derive version from package.json
2025-11-25 17:10:53 +01:00
Peter Steinberger
c251681a40
Chore: prep 0.1.4 unreleased placeholder and release guardrails
2025-11-25 17:08:13 +01:00
Peter Steinberger
9c25e15e92
Release 0.1.3
2025-11-25 16:53:30 +01:00
Peter Steinberger
bcbf0de240
Add cwd option for command replies
2025-11-25 16:19:24 +01:00
Peter Steinberger
80d9d288c2
chore: bump to 0.1.2 and fix commander typings
2025-11-25 14:26:55 +01:00
Peter Steinberger
dd55a80430
chore: prep 0.1.1 (version bump, lowercase branding, ua update)
2025-11-25 14:13:17 +01:00
Peter Steinberger
3b8783ec0e
docs: colorized help and example footer
2025-11-25 14:09:59 +01:00
Peter Steinberger
cadd29e147
fix: make CLI bin invoke program parse
2025-11-25 13:22:54 +01:00
Peter Steinberger
b6250efbf3
Raise test coverage to ~73%
2025-11-25 12:48:12 +01:00
Peter Steinberger
962dfa08d1
CLI: add verbose flag to send and status
2025-11-25 12:43:20 +01:00
Peter Steinberger
dd32638eb4
Cleanup: remove deprecated up alias and update ingress docs
2025-11-25 12:40:56 +01:00
Peter Steinberger
c83efdc5bc
CLI: unify webhook ingress and keep up as tailscale alias
2025-11-25 12:38:38 +01:00
Peter Steinberger
e6b98cb445
CLI: drop web:login alias and simplify web quickstart
2025-11-25 12:30:43 +01:00
Peter Steinberger
2ba56b82e7
Add media hosting and store tests
2025-11-25 12:30:43 +01:00
Peter Steinberger
ff6e13d274
Add CLI and infra test coverage
2025-11-25 12:30:43 +01:00
Peter Steinberger
4fa414919b
fix: restore zod typing and import ClaudeJsonParseResult
2025-11-25 12:25:05 +01:00
Peter Steinberger
4704099d2b
tests: mock twilio auth for update-webhook helpers
2025-11-25 12:21:59 +01:00
Peter Steinberger
38659f5d3e
test: sync updated specs
2025-11-25 12:12:29 +01:00
Peter Steinberger
800c7a1e1f
chore: sync source updates
2025-11-25 12:12:13 +01:00
Peter Steinberger
7e9e8fd9c9
ci: fix node path and lint warnings
2025-11-25 12:08:08 +01:00
Peter Steinberger
da6727ffae
claude: allow scratchpad markdown or images, remind length
2025-11-25 06:50:52 +01:00
Peter Steinberger
7e24f3ab95
claude: expand Clawd prompt, remind 1500 char limit
2025-11-25 06:50:15 +01:00
Peter Steinberger
8161b7a877
claude: tell Clawd to use ~/clawd markdown scratchpad
2025-11-25 06:49:10 +01:00
Peter Steinberger
dc31efb7aa
web: announce available presence when relay starts
2025-11-25 06:42:39 +01:00
Peter Steinberger
0adc0ed7a6
claude: prefix prompt with Clawd identity
2025-11-25 06:41:27 +01:00
Peter Steinberger
a331bd5ea1
web: send read receipts for inbound messages
2025-11-25 06:36:22 +01:00
Peter Steinberger
716f31f17a
auto-reply: handle empty stdout gracefully
2025-11-25 06:33:49 +01:00
Peter Steinberger
d925d9849c
refactor: simplify MEDIA parsing, drop invalid lines, keep valid tokens
2025-11-25 06:17:48 +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
ad55832cda
fix: strip trailing punctuation from MEDIA tokens and add tests
2025-11-25 06:07:11 +01:00
Peter Steinberger
9fbeb2ccd3
test: cover MEDIA backticks and web media fallback logging
2025-11-25 06:04:41 +01:00
Peter Steinberger
8ea7f9b439
fix: keep MEDIA tokens with punctuation and log web media failures
2025-11-25 06:02:41 +01:00
Peter Steinberger
071786fe16
feat: add relay:tmux:attach to join existing session
2025-11-25 05:53:21 +01:00
Peter Steinberger
072998a6ab
refactor: extract MEDIA parsing helper and tidy whitespace
2025-11-25 05:49:18 +01:00
Peter Steinberger
bafaed37fe
chore: attach when starting relay tmux session
2025-11-25 05:48:00 +01:00
Peter Steinberger
6883c3ae4a
fix: handle inline MEDIA tokens and host webhook media
2025-11-25 05:47:12 +01:00
Peter Steinberger
729ae64822
feat: add relay:tmux helper for relay watcher
2025-11-25 05:47:06 +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
f4c5f2c193
test: cover media url extraction from command stdout
2025-11-25 05:21:59 +01:00
Peter Steinberger
54c763a679
chore: surface media URL in command prompts and tests
2025-11-25 05:20:50 +01:00
Peter Steinberger
6d41df2941
feat: download inbound media and expose to templating
2025-11-25 05:17:59 +01:00
Peter Steinberger
a9533d0999
chore: add connection/send logs and web error surfacing
2025-11-25 05:10:19 +01:00
Peter Steinberger
35d7fe7fc7
chore: log web media sends
2025-11-25 05:09:09 +01:00
Peter Steinberger
948ff7f035
feat: add image support across web and twilio
2025-11-25 04:58:31 +01:00
Peter Steinberger
daf45190a9
chore: add color to web auto-reply log
2025-11-25 04:42:45 +01:00
Peter Steinberger
3aedef4126
feat: log auto-reply body and stats for web provider
2025-11-25 04:42:19 +01:00
Peter Steinberger
2aac606979
chore: fix type regressions and helpers
2025-11-25 04:40:57 +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
ca0b50d772
chore: align web provider logging and relay e2e
2025-11-25 04:15:20 +01:00
Peter Steinberger
39cd9bde1f
chore: route exec logging through logger
2025-11-25 04:11:02 +01:00
Peter Steinberger
28277a298a
feat: retries for webhook bring-up and send --json docs
2025-11-25 04:10:20 +01:00
Peter Steinberger
d1923e6efe
feat: add send --json, logger cleanup, and resilient Claude parsing
2025-11-25 04:08:42 +01:00
Peter Steinberger
d7cc94333a
chore: logger cleanup and test fixes
2025-11-25 04:05:02 +01:00
Peter Steinberger
fdfb1df0de
feat: add dry-run options and retry helper
2025-11-25 03:57:50 +01:00
Peter Steinberger
af577f07da
refactor: add provider barrels and webhook grouping
2025-11-25 03:56:11 +01:00
Peter Steinberger
1f5390ed99
chore: route port error debug through logger
2025-11-25 03:51:46 +01:00
Peter Steinberger
d2abe3c459
chore: harden claude json parsing and logging
2025-11-25 03:50:52 +01:00
Peter Steinberger
594fb125e6
test: add infra coverage and fix web logging
2025-11-25 03:50:18 +01:00
Peter Steinberger
7fa071267c
feat: add logger and twilio poll backoff
2025-11-25 03:48:49 +01:00
Peter Steinberger
8bd406f6b1
feat: add config validation and send dry-run
2025-11-25 03:46:26 +01:00
Peter Steinberger
a89d7319a9
refactor: modularize cli helpers
2025-11-25 03:42:12 +01:00
Peter Steinberger
39b3fffe3b
refactor: extract twilio message utilities
2025-11-25 03:22:18 +01:00
Peter Steinberger
afdaa7ef98
Refactor CLI and Twilio modules; add helper tests and comments
2025-11-25 03:11:39 +01:00
Peter Steinberger
c71abf13a1
Extract env + Twilio utils; shrink index
2025-11-25 02:20:35 +01:00
Peter Steinberger
b8b0873c1e
Extract auto-reply helpers into modules
2025-11-25 02:16:54 +01:00
Peter Steinberger
ba3b271c39
Parse Claude JSON output to return text replies
2025-11-25 01:41:52 +01:00
Peter Steinberger
134edc5e49
Silence Baileys session logs unless verbose
2025-11-25 01:40:05 +01:00
Peter Steinberger
d0c9bff4ca
Ignore coverage output and document Claude text mode
2025-11-25 01:38:43 +01:00
Peter Steinberger
b4e5f20cd7
Add claudeOutputFormat support and provider banners
2025-11-25 01:36:52 +01:00
Peter Steinberger
d501ac7acb
Show provider numbers in relay banner
2025-11-25 01:35:31 +01:00
Peter Steinberger
7a5f5b8efe
Fix web auth detection and auto-restart after 515
2025-11-25 00:49:49 +01:00
Peter Steinberger
e12e6989c0
Switch to Baileys multi-file auth with latest rc
2025-11-25 00:34:55 +01:00
Peter Steinberger
66359736d3
Update to latest Baileys RC and clean imports
2025-11-25 00:29:44 +01:00
Peter Steinberger
289b417c8e
Pin to @whiskeysockets/baileys 7.0.0-rc.9 and remove auth fallback
2025-11-25 00:28:17 +01:00
Peter Steinberger
3b8a31660b
Fix bailey auth import fallback and assert login alias
2025-11-25 00:22:49 +01:00
Peter Steinberger
9595964419
Add login alias for web QR and update docs/tests
2025-11-25 00:19:21 +01:00
Peter Steinberger
9dd257a92d
Fix provider-web mocks and make tests green
2025-11-25 00:16:01 +01:00
Peter Steinberger
938e237411
Add command modules and tests; commit remaining changes
2025-11-25 00:12:12 +01:00
Peter Steinberger
52e0c8de25
Fix lint warnings and tighten test mocks
2025-11-25 00:10:34 +01:00
Peter Steinberger
73a3463ec8
Unify relay entrypoint and default to web when available
2025-11-24 23:55:49 +01:00
Peter Steinberger
9b4dceecfe
Add web provider inbound monitor with auto-replies
2025-11-24 18:33:50 +01:00
Peter Steinberger
5ee4f3219d
Add coverage run with thresholds and align tests to utils
2025-11-24 17:51:18 +01:00
Peter Steinberger
574a96050b
Add utility tests for paths, prefixes, and sleep
2025-11-24 17:45:49 +01:00
Peter Steinberger
cafca5c421
Refactor CLI into modules for web provider and utils
2025-11-24 17:43:37 +01:00
Peter Steinberger
f88b3ceb7a
Update deps to latest and align tests
2025-11-24 17:33:59 +01:00
Peter Steinberger
657188a7e2
Add vitest and unit coverage for provider helpers
2025-11-24 17:23:59 +01:00
Peter Steinberger
3c8a105165
Add WhatsApp Web provider option and docs
2025-11-24 17:21:47 +01:00
Peter Steinberger
12a3c11c6d
Improve Twilio webhook update flow
2025-11-24 16:56:15 +01:00
Peter Steinberger
07f0a26419
Add messaging service webhook fallback; always log inbound
2025-11-24 16:47:30 +01:00
Peter Steinberger
b453e285fd
Experiment with Twilio webhook updates (no functional change yet)
2025-11-24 16:32:28 +01:00
Peter Steinberger
2f5a0d9402
Run auto-reply commands via spawn with TTY to avoid hangs
2025-11-24 16:15:34 +01:00
Peter Steinberger
47663c38fe
Simplify command log to show resolved argv only
2025-11-24 16:11:57 +01:00
Peter Steinberger
fa1b357fd6
Log stderr and timeout info for auto-reply commands
2025-11-24 16:11:06 +01:00
Peter Steinberger
17b4c5e7e7
Log templated command argv and enforce timeout kill
2025-11-24 16:09:13 +01:00
Peter Steinberger
a5e2636e17
Add command timeout and async polling auto-replies
2025-11-24 16:06:45 +01:00
Peter Steinberger
b4a995dbe5
Document config options and log auto-reply timing
2025-11-24 16:02:39 +01:00
Peter Steinberger
42f64279d5
Add claude auto-reply allowlist and verbose hooks
2025-11-24 16:00:56 +01:00
Peter Steinberger
7ed49a6569
Log command execution in config-driven replies
2025-11-24 15:58:21 +01:00
Peter Steinberger
a566ba442b
Fix webhook update: send form fields via request; keep SDK/phone fallbacks
2025-11-24 15:37:03 +01:00
Peter Steinberger
d51cf21131
Add wa alias; drop deprecated setup alias
2025-11-24 15:31:21 +01:00
Peter Steinberger
4f32120176
Normalize webhook path, always log inbound, fix Twilio webhook field names, log polling tip
2025-11-24 15:28:27 +01:00
Peter Steinberger
4a7cfbcc7c
Rename setup->up (alias kept) and keep process alive
2025-11-24 14:43:50 +01:00
Peter Steinberger
a6e6a26097
Fallback webhook update to incoming phone number when channels sender update fails
2025-11-24 14:20:04 +01:00
Peter Steinberger
d8bfd6ba5e
Add Biome linting and improve webhook error handling
2025-11-24 14:06:52 +01:00
Peter Steinberger
9bdeb723b4
Keep process alive reliably with unref interval in waitForever
2025-11-24 13:36:22 +01:00
Peter Steinberger
fc5f375142
Keep setup/webhook running with waitForever and graceful SIGINT
2025-11-24 13:25:42 +01:00
Peter Steinberger
f7a7b1b29e
Log incoming requests and add 404 handler for webhook server
2025-11-24 13:04:47 +01:00
Peter Steinberger
efe0a76703
Use Twilio SDK channelsSenders.list to discover sender
2025-11-24 12:59:03 +01:00
Peter Steinberger
1af210988b
Support TWILIO_SENDER_SID override before sender lookup
2025-11-24 12:56:32 +01:00
Peter Steinberger
3775caa72d
Tighten types for Twilio requests and sender lookup
2025-11-24 12:53:09 +01:00
Peter Steinberger
eb1c4ae7cf
Fix Twilio sender list call (use params instead of qs)
2025-11-24 12:50:54 +01:00
Peter Steinberger
e52e943317
Add TWILIO_SENDER_SID override and better funnel/setup error messages
2025-11-24 12:36:03 +01:00
Peter Steinberger
6c6e217f83
Improve funnel error UX and add -y auto-confirm
2025-11-24 12:30:36 +01:00
Peter Steinberger
52b0c6252d
Add -y/--yes to auto-confirm prompts; verbose keeps showing command output
2025-11-24 12:07:55 +01:00
Peter Steinberger
1229a01767
Timeout tailscale funnel in verbose runs and surface command output
2025-11-24 12:02:57 +01:00
Peter Steinberger
1e00bff96a
Silence dotenv tip output (quiet mode)
2025-11-24 12:00:15 +01:00
Peter Steinberger
821b7ae9b9
Add chalk styling and verbose command output
2025-11-24 11:59:10 +01:00
Peter Steinberger
7b7c148f48
Verbose mode now prints stdout/stderr of invoked commands
2025-11-24 11:54:43 +01:00
Peter Steinberger
0c5f3f37b4
Verbose mode now logs commands; prompts default to yes
2025-11-24 11:53:26 +01:00
Peter Steinberger
3198caf430
Add --verbose flag; silence webhook logs by default
2025-11-24 11:50:42 +01:00
Peter Steinberger
80c300cb67
Setup prompts default to Yes for Go/tailscaled and funnel assist
2025-11-24 11:47:11 +01:00
Peter Steinberger
b9c9339ae4
Add guided funnel fallback: prompt to install Go/tailscaled when funnel disabled
2025-11-24 11:45:20 +01:00
Peter Steinberger
8874ebba55
Add per-function comments and minor typing polish
2025-11-24 11:40:54 +01:00
Peter Steinberger
1526c238bd
Tighten types: remove anys, validate funnel status, typed exec helpers
2025-11-24 11:38:04 +01:00
Peter Steinberger
a2b73ec571
Improve setup: detect missing Tailscale Funnel and document requirement
2025-11-24 11:35:12 +01:00
Peter Steinberger
16dfc1a5b9
Add warelay CLI with Twilio webhook support
2025-11-24 11:23:15 +01:00