Skip to content

cmd/meowcaller: add headless notification calls#7

Open
steipete wants to merge 4 commits into
purpshell:mainfrom
steipete:feat/send-only-notify
Open

cmd/meowcaller: add headless notification calls#7
steipete wants to merge 4 commits into
purpshell:mainfrom
steipete:feat/send-only-notify

Conversation

@steipete

@steipete steipete commented Jul 4, 2026

Copy link
Copy Markdown

What this adds

  • an installable meowcaller command with explicit pair and send-only notify operations
  • WAV, MP3, Ogg/Opus, and raw 8 kHz G.711 PCMU input
  • answer and playback timeouts, EOF hangup, and nonzero failures
  • a private cross-platform SQLite linked-device store
  • headless media handling with no microphone, speaker, video device, inbound sink, or diagnostic capture

Why

Automation such as OpenClaw needs a bounded command that can place a requester-bound WhatsApp call, play one audio message after answer, hang up, and report success through its exit status. The existing example CLI opens local media devices and does not provide that service-safe contract.

Pairing is a separate interactive command so QR material cannot enter service logs. notify never pairs, including under a pseudo-TTY, and reuses only the explicitly selected linked-device store.

Related integration: openclaw/openclaw#99635

Evidence

Exact reviewed head: cc50ab02964963d44925c1434528eedf501e848a

  • go test ./...
  • go vet ./...
  • go test -race ./...
  • CGO_ENABLED=0 go build -trimpath -o /tmp/meowcaller-notify-pr7-final ./cmd/meowcaller
  • source-blind CLI validation: stable usage/exit codes, explicit noninteractive pairing refusal, no QR prompt from notify under a pseudo-TTY, private 0700/0600 store modes, shared-directory rejection, Ogg dispatch, invalid input rejection, and unbounded-through-EOF flag acceptance
  • Codex autoreview against upstream/main: clean, no accepted/actionable findings

Live linked-device/recipient delivery proof is not claimed here; it requires an owner-operated WhatsApp linked device and test recipient and is proceeding separately.

@steipete steipete marked this pull request as ready for review July 5, 2026 02:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant