Commit Graph

351 Commits (9bde7a6daa7ec47310a692be040efa58ae0fa2dc)

Author SHA1 Message Date
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