15 lines
451 B
TypeScript
15 lines
451 B
TypeScript
import { onEvent } from '$apps'
|
|
import { Hype } from '@because/hype'
|
|
|
|
const router = Hype.router()
|
|
|
|
// SSE: discrete lifecycle events for app processes (start, stop, deploy, etc.)
|
|
// Unlike /api/apps/stream (full state snapshots for the dashboard), this sends
|
|
// individual events so apps can react to specific lifecycle changes.
|
|
router.sse('/stream', (send) => {
|
|
const unsub = onEvent(event => send(event))
|
|
return unsub
|
|
})
|
|
|
|
export default router
|