Sources
Sources are modules that run continuously (or on a schedule) and emit events
into the core via Emit(event).
See spec §6.
Supported sources
| Source | Planning page |
|---|---|
| HTTP ingest | http-ingest |
| MQTT listener | mqtt-source |
| Telegram bot | telegram-source |
| Deferred capture (capture-classifier) | deferred-capture |
Later
- Home Assistant WebSocket tap —
state_changedevents from HA's/api/websocket. See ha-source.
Contract (conceptual)
type Source interface {
Name() string
Run(ctx context.Context, emit func(Event)) error
}
Realized as RPC over the module socket (§8), not an in-process Go interface.
Batch importers (Google Takeout, photo folders) can POST to HTTP ingest as standalone scripts — no full Trove source module required for occasional jobs.