Metadata-Version: 2.4
Name: hiro-channel-whatsapp
Version: 0.2.0
Summary: WhatsApp channel plugin for Hiro-League (neonize / whatsmeow)
Project-URL: Homepage, https://www.hiroleague.com
Project-URL: Documentation, https://docs.hiroleague.com
Project-URL: Repository, https://github.com/hiro-league/hiroleague
Project-URL: Issues, https://github.com/hiro-league/hiroleague/issues
Author-email: Michel Habib <michelhabib@gmail.com>
License: MIT
Keywords: channel,home,neonize,plugin,server,whatsapp
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Communications :: Chat
Requires-Python: >=3.11
Requires-Dist: hiro-channel-sdk~=0.2.0
Requires-Dist: hiro-commons~=0.2.0
Requires-Dist: neonize==0.3.18.post0
Requires-Dist: qrcode>=7
Requires-Dist: static-ffmpeg>=2.13
Requires-Dist: typer>=0.12
Description-Content-Type: text/markdown

# hiro-channel-whatsapp

WhatsApp channel plugin for Hiro-League, built on
[neonize](https://github.com/krypton-byte/neonize) (Python bindings over the Go
`whatsmeow` multi-device library).

See the design and plan:
- `docs/whatsapp-channel-design.md`
- `docs/whatsapp-channel-implementation.md`

## Status

**Phase 1 — Link & receive (raw).** Links a WhatsApp account via QR, persists the
session, and logs inbound messages. Routing into the agent and sending replies
land in later phases.

## Dev install

```bash
hiro channel install whatsapp --editable       # or: hiro channel setup with a workspace dir
hiro channel setup whatsapp                     # writes the channel_plugins row
hiro stop && hiro start                          # ChannelManager spawns the plugin
```

On first run, an ASCII QR is written to the plugin log
(`<log-dir>/channel-whatsapp*.log`) — scan it from WhatsApp → Linked Devices. The
session persists to `~/.hiro/whatsapp/session.db` (until Phase 3 pushes a
workspace-scoped path), so later restarts reconnect without a new QR.

> Uses an unofficial WhatsApp Web library — see the design doc for the accepted
> ToS/ban-risk trade-off. No backward-compatibility guarantees (initial development).
