{"version":3,"sources":["../src/hooks/useEventBus.ts"],"names":["useState","useEffect","eventBus"],"mappings":";;;;;AAOO,SAAS,YAAY,KAAA,GAAQ,EAAA,EAAI,QAAA,GAAW,CAAA,GAAI,KAAK,GAAA,EAI1D;AACA,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,cAAA,CAAqB,EAAE,CAAA;AAEnD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAAC,0BAAA,CAAS,IAAA,EAAK;AACd,IAAA,SAAA,CAAUA,0BAAA,CAAS,MAAA,CAAO,KAAA,EAAO,QAAQ,CAAC,CAAA;AAC1C,IAAA,MAAM,KAAA,GAAQA,0BAAA,CAAS,SAAA,CAAU,MAAM;AACrC,MAAA,SAAA,CAAUA,0BAAA,CAAS,MAAA,CAAO,KAAA,EAAO,QAAQ,CAAC,CAAA;AAAA,IAC5C,CAAC,CAAA;AAED,IAAA,MAAM,EAAA,GAAK,YAAY,MAAM;AAC3B,MAAA,SAAA,CAAUA,0BAAA,CAAS,MAAA,CAAO,KAAA,EAAO,QAAQ,CAAC,CAAA;AAAA,IAC5C,GAAG,IAAM,CAAA;AACT,IAAA,OAAO,MAAM;AAAE,MAAA,KAAA,EAAM;AAAG,MAAA,aAAA,CAAc,EAAE,CAAA;AAAA,IAAE,CAAA;AAAA,EAC5C,CAAA,EAAG,CAAC,KAAA,EAAO,QAAQ,CAAC,CAAA;AAEpB,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,aAAA,EAAeA,0BAAA,CAAS,aAAA,CAAc,KAAA,EAAO,QAAQ,CAAA;AAAA,IACrD,KAAA,EAAO,MAAMA,0BAAA,CAAS,KAAA;AAAM,GAC9B;AACF","file":"chunk-3IQWQREC.cjs","sourcesContent":["/**\n * Reactive React hook for the unified event bus.\n * Returns recent events and refreshes on push.\n */\nimport { useEffect, useState } from 'react'\nimport { eventBus, type BusEvent } from '../lib/event-bus'\n\nexport function useEventBus(limit = 20, maxAgeMs = 5 * 60 * 1000): {\n  events: BusEvent[]\n  contextString: string\n  clear: () => void\n} {\n  const [events, setEvents] = useState<BusEvent[]>([])\n\n  useEffect(() => {\n    eventBus.init()\n    setEvents(eventBus.recent(limit, maxAgeMs))\n    const unsub = eventBus.subscribe(() => {\n      setEvents(eventBus.recent(limit, maxAgeMs))\n    })\n    // Light polling to refresh maxAge windows\n    const iv = setInterval(() => {\n      setEvents(eventBus.recent(limit, maxAgeMs))\n    }, 15_000)\n    return () => { unsub(); clearInterval(iv) }\n  }, [limit, maxAgeMs])\n\n  return {\n    events,\n    contextString: eventBus.contextString(limit, maxAgeMs),\n    clear: () => eventBus.clear(),\n  }\n}\n"]}