openvibers/openvibe.events Commits

Events: Work, Rent, Help and Quest may publish (their Search index events) (#42)

OP OpenVibers committed 10 Oct 2026 · 3af704e425 · 5 files, +11 −8

Lets Work, Rent, Help and Quest publish into their own namespaces (`work.*`, `rent.*`, `help.*`, `quest.*`). Each now produces `<owner>.index_document.upserted|deleted` (Contracts 0.128.0, through openvibe-publishing/search-feed) so that OpenVibe.Search indexes its pages. Without this change their outboxes would be refused with `events.unknown_source`, as Inventory's were on 2026-10-09. Inventory was already a source.

- `server/config.js`: `work`, `rent`, `help` and `quest` are added to `DEFAULT_SOURCES`. Production sets no `EVENTS_SOURCE_PREFIXES`, so the defaults apply.
- openvibe-contracts v0.128.0, so `test/sources-cover-producers.test.js` sees the new producers (31 producers, all allowed).

Suite: 28/31 passed, with 3 skipped (the NATS/JetStream/Valkey fabrics need their test services).

Changes

ddiff --git a/README.md b/README.md
iindex 98d3c20..ced7685 100644
---- a/README.md
++++ b/README.md
@@@ -387,7 +387,7 @@ implemented service.
Part of the [OpenVibe network](https://openvibe.network). Built in the open by [OpenVibers](https://github.com/OpenVibers).
<!-- versions:start -->
--- openvibe-contracts: v0.127.0
++- openvibe-contracts: v0.128.0
- openvibe-sdk: v0.35.0
- openvibe-shared: v2.20.4
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex f8d603b..1366a1d 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -7,7 +7,7 @@
"runtime": "node 22, express, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9",
"port": 4300,
"domain": "openvibe.events",
-- "contracts": "openvibe-contracts v0.127.0",
++ "contracts": "openvibe-contracts v0.128.0",
"sdk": "openvibe-sdk v0.35.0",
"shared": "openvibe-shared v2.20.4",
"capabilities": [
ddiff --git a/package-lock.json b/package-lock.json
iindex 7bf36ab..adc81d3 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -12,7 +12,7 @@
"dotenv": "^16.4.7",
"express": "^4.21.2",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.127.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.128.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.35.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.20.4",
"pg": "^8.23.0"
@@@ -828,9 +828,9 @@
}
},
"node_modules/openvibe-contracts": {
-- "version": "0.127.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.127.0",
-- "integrity": "sha512-ySC+Qh8I3OlN5MULCqv0vfcAGubZQzWM0Fw7EOpnOo76vVnrkwx+m33aTxDum2yQqPkU8Ot5UtMuMwm1Cc1k3g==",
++ "version": "0.128.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.128.0",
++ "integrity": "sha512-r/WKk3NhdqxEsVxqsVPjg+HTD2So1amRx0BY6EOHhvmwjLuL9j5XJrNDZAfqf/4/P2xZCBzTLrtUqlWxC2EA6Q==",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex 0573c05..fe4737e 100644
---- a/package.json
++++ b/package.json
@@@ -24,7 +24,7 @@
"dotenv": "^16.4.7",
"express": "^4.21.2",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.127.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.128.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.35.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v2.20.4",
"pg": "^8.23.0"
ddiff --git a/server/config.js b/server/config.js
iindex d260cac..c517c22 100644
---- a/server/config.js
++++ b/server/config.js
@@@ -31,7 +31,10 @@ const DEFAULT_SOURCES = ['live', 'media', 'network', 'community', 'chat', 'openr
// Inventory (OpenVibe.Inventory, ADR-054): inventory.item.granted|equipped|consumed|revoked, inventory.definition.published
'inventory',
// Services (OpenVibe.Services, the developer console): its services.* events
-- 'services'];
++ 'services',
++ // Record products that put their pages in OpenVibe.Search (openvibe-publishing/search-feed):
++ // work.index_document.*, rent.index_document.*, help.index_document.*, quest.index_document.*
++ 'work', 'rent', 'help', 'quest'];
/**
* Namespaces that belong to the network rather than to one service. `provider.*` carries storage