Metadata-Version: 2.4
Name: hiro-channel-devices
Version: 0.2.0
Summary: SDK for building device channel plugins for Hiro-League
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,devices,gateway,home,plugin,server
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 :: System :: Networking
Requires-Python: >=3.11
Requires-Dist: cryptography>=43
Requires-Dist: hiro-channel-sdk~=0.2.0
Requires-Dist: hiro-commons~=0.2.0
Requires-Dist: typer>=0.12
Requires-Dist: websockets>=12
Description-Content-Type: text/markdown

# hiro-channel-devices

Mandatory Hiro channel plugin that owns the gateway WebSocket connection and
bridges gateway relay envelopes to/from `UnifiedMessage`.

## Direction mapping

- Inbound from gateway:
  - envelope: `{ sender_device_id, payload: <UnifiedMessage> }`
  - output to Hiro: `channel.receive` with `UnifiedMessage`
- Outbound from Hiro:
  - input: `channel.send` with `UnifiedMessage`
  - envelope to gateway: `{ target_device_id?, payload: <UnifiedMessage> }`

## Events emitted to Hiro

- `gateway_connected`
- `gateway_disconnected`
