{"_id":"@agnotheist/whatsapp-cadence","name":"@agnotheist/whatsapp-cadence","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@agnotheist/whatsapp-cadence","version":"0.1.0","description":"WhatsApp messaging cadence and workflow orchestration engine with OpenClaw plugin support","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src --ext .ts,.js","format":"prettier --write \"src/**/*.{ts,js,json}\"","prepublishOnly":"npm run build && npm run test","docs":"typedoc --out docs/api src","plugin:validate":"node openclaw-plugin/validate.js","plugin:install":"openclaw plugin install","start:example":"node examples/basic-cadence.js"},"keywords":["whatsapp","messaging","cadence","workflow","orchestration","automation","openclaw","plugin"],"author":{"name":"Flock Media"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/flockmedallc/whatsapp-cadence.git"},"bugs":{"url":"https://github.com/flockmedallc/whatsapp-cadence/issues"},"homepage":"https://github.com/flockmedallc/whatsapp-cadence#readme","engines":{"node":">=18.0.0"},"dependencies":{"axios":"^1.6.0","lodash":"^4.17.21","uuid":"^9.0.0"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","jest":"^29.5.0","prettier":"^3.0.0","ts-jest":"^29.4.9","typescript":"^5.0.0"},"openclaw":{"plugin":{"type":"whatsapp-cadence","version":"0.1.0","entry":"openclaw-plugin/index.js","schema":"openclaw-plugin/schema.json","capabilities":["workflow-orchestration","message-scheduling","multi-user-state-management","whatsapp-business-api"]}},"_id":"@agnotheist/whatsapp-cadence@0.1.0","gitHead":"f5fef0aa0bddfe0091907aa2d4ab77416a282bac","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-/RIz41oew4ea4YGWrgp8h/6A7KgGRLO3CXm3HX052KS0E4jHrVLjfZZiwtUP62gQ7ONFZSgDA2ogexhOZiOuVA==","shasum":"c497d8e152626b811d28f285c6c00566eb57a9d6","tarball":"https://registry.npmjs.org/@agnotheist/whatsapp-cadence/-/whatsapp-cadence-0.1.0.tgz","fileCount":63,"unpackedSize":59549,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDEEblly2DwPtEu3m0Djo5F9uD6uK5idXWXvHlAKVsMhAIhAJsmbb/rSnfu6+1zzfqF1jiPS2HC7W6qlkxzCMjbWc/z"}]},"_npmUser":{"name":"agnotheist","email":"dannonjb@gmail.com"},"directories":{},"maintainers":[{"name":"agnotheist","email":"dannonjb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/whatsapp-cadence_0.1.0_1778051784136_0.21462429089427948"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T07:16:24.059Z","0.1.0":"2026-05-06T07:16:24.275Z","modified":"2026-05-06T07:16:24.455Z"},"maintainers":[{"name":"agnotheist","email":"dannonjb@gmail.com"}],"description":"WhatsApp messaging cadence and workflow orchestration engine with OpenClaw plugin support","homepage":"https://github.com/flockmedallc/whatsapp-cadence#readme","keywords":["whatsapp","messaging","cadence","workflow","orchestration","automation","openclaw","plugin"],"repository":{"type":"git","url":"git+https://github.com/flockmedallc/whatsapp-cadence.git"},"author":{"name":"Flock Media"},"bugs":{"url":"https://github.com/flockmedallc/whatsapp-cadence/issues"},"license":"Apache-2.0","readme":"# whatsapp-cadence\n\nHuman timing simulation for WhatsApp AI agents.\n\n## The Problem\n\nWhatsApp AI agents reveal themselves through timing, not conversation. Instant read receipts and immediate typing indicators are unnatural — no human operator stares at WhatsApp waiting for every message. whatsapp-cadence simulates human response timing behavior, making AI-powered WhatsApp agents feel like attentive human operators.\n\n## How It Works\n\nwhatsapp-cadence introduces a conversation tempo engine that:\n\n- Delays read receipts (5s–120s, randomized)\n- Scales typing indicator duration to response length\n- Detects conversation tempo (tight vs re-engagement)\n- Treats first messages and post-gap messages as re-engagement moments\n- Never produces the same delay twice\n\n## Installation\n\nnpm install whatsapp-cadence\n\n## Quick Start\n\nimport { BaileysAdapter } from 'whatsapp-cadence';\n\nconst adapter = new BaileysAdapter(socket);\n\nawait adapter.sendWithCadence(incoming, outgoing);\n\n## Configuration\n\nAll timing parameters are configurable with sensible defaults:\n\nimport { BaileysAdapter } from 'whatsapp-cadence';\n\nconst adapter = new BaileysAdapter(socket, {\n readReceipt: {\n minMs: 5000,\n maxMs: 120000,\n firstMessageMinMs: 30000,\n firstMessageMaxMs: 60000,\n },\n typing: {\n msPerCharacter: 50,\n minMs: 2000,\n maxMs: 45000,\n },\n tempo: {\n tightWindowMs: 60000,\n reEngagementWindowMs: 600000,\n tightReadReceiptMinMs: 5000,\n tightReadReceiptMaxMs: 30000,\n },\n});\n\n## Tempo Modes\n\n| Mode | Trigger | Read Receipt Range |\n|---|---|---|\n| first | New conversation | 30s – 60s |\n| reengagement | Gap > 10 minutes | 30s – 60s |\n| tight | Gap < 1 minute | 5s – 30s |\n| normal | Everything else | 5s – 120s |\n\n## OpenClaw Plugin\n\nimport { register } from 'whatsapp-cadence/plugins/openclaw/whatsapp-cadence';\n\nregister(socket, config);\n\n## License\n\nApache 2.0 — Copyright 2026 Dannon Basaldua\n","readmeFilename":"README.md","_rev":"1-6abd4b5e99da07fe711e9a78a0f96405"}