/**
 * Watcher emitters — typed wrappers for WatcherEvent domain.
 */
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
function watcherEvent(type, data, ctx) {
    return createEventEnvelope(type, { type, ...data }, ctx);
}
export function emitWatcherStarted(bus, ctx, data) {
    bus.emit('watchers', watcherEvent('WATCHER_STARTED', data, ctx));
}
export function emitWatcherHeartbeat(bus, ctx, data) {
    bus.emit('watchers', watcherEvent('WATCHER_HEARTBEAT', data, ctx));
}
export function emitWatcherCheckpointAdvanced(bus, ctx, data) {
    bus.emit('watchers', watcherEvent('WATCHER_CHECKPOINT_ADVANCED', data, ctx));
}
export function emitWatcherFailed(bus, ctx, data) {
    bus.emit('watchers', watcherEvent('WATCHER_FAILED', data, ctx));
}
export function emitWatcherStopped(bus, ctx, data) {
    bus.emit('watchers', watcherEvent('WATCHER_STOPPED', data, ctx));
}
