{"id":"pg_01M362MX7CHRXRTTGV2TGA7RAR","space":"openvibe","slug":"openvibe-events","url":"https://openvibe.wiki/w/openvibe/openvibe-events","state":"published","visibility":"public","revision":1,"title":"OpenVibe.Events","summary":"Durable event backbone for the OpenVibe network; alpha and not deployed at the cited commit.","body_markdown":"**OpenVibe.Events** provides \"durable events, subscriptions, delivery, retry, dead letters and replay for the network\". Its README gives the status as **alpha** (roadmap Wave 3): it \"runs and is tested; no service publishes to it in production yet\". Its STATUS.json records it as not deployed. The README names `events.openvibe.network` as its domain and states that the domain keeps its placeholder page on OpenVibe.Sites until the plan's launch rule holds.\n\n## Purpose\n\nThe README calls it \"the durable event backbone the network does not have yet\". Authoritative services write domain changes and outbox events in one transaction, a relay publishes them to Events, consumers use inbox and idempotency receipts, and browsers receive authorized, resumable projections through a Realtime delivery plane. It is meant to replace the best-effort internal POSTs and webhooks between [[OpenVibe.Live]], [[OpenVibe.Media]], [[OpenVibe.Network]] and [[OpenVibe.Community]]. The first planned migrations are notifications, then Media ready/failed, then stream lifecycle.\n\n## What it owns\n\n- the event, subscription, delivery, checkpoint and idempotency-receipt tables, in SQLite today;\n- the canonical event envelope;\n- priority classes, loop guards, backpressure, the dead-letter queue and replay;\n- Realtime over Server-Sent Events, with cursor resume and gap detection; WebSocket and presence are not built yet.\n\nDelivery is at least once and not strictly ordered. A failed delivery is retried up to 8 attempts and is then marked dead. The `openvibe-events` client library provides a transactional outbox for producers and an inbox for consumers.\n\n## What it does not own\n\nMedia bytes, game or media transport packets, and product business rules.\n\n## Dependencies\n\nOpenVibe.Contracts and [[OpenVibe.Network]]; services call Events with Network client-credentials tokens. STATUS.json gives the runtime as Node 22, Express and better-sqlite3 on port 4300. The license is AGPL-3.0.\n","published_at":"2026-09-23T02:48:49.645Z","revision_published_at":"2026-09-23T02:48:49.645Z","revision_created_at":"2026-09-23T02:48:49.645Z","authorship":{"mode":"imported","workflow":null,"reviewed":false},"infobox":[{"key":"repository","label":"Repository","type":"url","value":"https://github.com/OpenVibers/OpenVibe.Events"},{"key":"status","label":"Status","type":"text","value":"alpha"},{"key":"deployment","label":"Deployment","type":"text","value":"not deployed"},{"key":"domain","label":"Domain","type":"text","value":"events.openvibe.network"},{"key":"port","label":"Port","type":"number","value":4300},{"key":"runtime","label":"Runtime","type":"text","value":"node 22, express, better-sqlite3"},{"key":"license","label":"License","type":"text","value":"AGPL-3.0"}],"citations":[{"url":"https://github.com/OpenVibers/OpenVibe.Events/blob/0c7f9c58dc2a31cbb2e0e1ba39086bbe4bcca20a/README.md","title":"OpenVibe.Events README (commit 0c7f9c5)","source_item_id":null,"retrieved_at":"2026-09-22T12:00:00.000Z","quote":"Runs and is tested; no service publishes to it in production yet.","license_note":null},{"url":"https://github.com/OpenVibers/OpenVibe.Events/blob/0c7f9c58dc2a31cbb2e0e1ba39086bbe4bcca20a/STATUS.json","title":"OpenVibe.Events STATUS.json (commit 0c7f9c5)","source_item_id":null,"retrieved_at":"2026-09-22T12:00:00.000Z","quote":"\"deployed\": false","license_note":null}],"attachments":[],"links":[{"space":"openvibe","slug":"openvibe-community"},{"space":"openvibe","slug":"openvibe-live"},{"space":"openvibe","slug":"openvibe-media"},{"space":"openvibe","slug":"openvibe-network"}],"indexability":{"indexable":false,"reasons":["ai_generated_unreviewed"]}}