openvibers/openvibe.contracts Commits

0.204.1: the catalog says what each site is today: stale launch notes, Next pillars and planned/comes-later copy removed; Website and Zone in the present tense; FAQs for the 16 sites Help showed without one; Quest's OpenCoins rewards are on (owner: 'lots of stuff across websites is still unfinished / coming soon') (#185)

OP OpenVibers committed 26 days ago · c6d4de4e54 · 71 files, +351 −118

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex e54dcdd1..1341f530 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -4,6 +4,16 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) th
from `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,
the notes were in the tag and commit messages (`git tag -n1`).
++## 0.204.1 — 2026-10-18
++
++- Catalog says what each site is today (owner: "lots of stuff across websites is still unfinished / coming soon / next
++ steps"): every stale `launch` note is gone (Actor, Bot, Download, Events, Help, Pics, Quest, Rent, Services, Watch,
++ Work, Website, Zone, Coupons, Host, News, OpenRestream, Reviews, Space, Tips and VIP are live), and so are the "Next"
++ pillars (Pics, Video) and "planned"/"comes later" sentences (Services, Video, Pics, Events, admin, themes).
++ openvibe.website describes OpenVibe.Space (where it redirects) and Zone its live S3-style storage, in the present tense.
++- FAQs for the 16 sites Help showed with none: Download, Events, Homes, Pics, Services, Video, Website, Zone, News,
++ Reviews, Run, Tools, Trade, Wiki, Play and Search. Quest's FAQ: OpenCoins rewards are on (`QUEST_COINS=on`).
++
## 0.204.0 — 2026-10-18
- `sources.source@1`: an api endpoint may carry `timeout_ms` (1 s to 120 s), its own fetch deadline instead of the
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex e5c359ad..713c42b6 100644
---- a/generated/openapi/actor.json
++++ b/generated/openapi/actor.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Actor API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex ab4dd9ec..407fd74e 100644
---- a/generated/openapi/ai.json
++++ b/generated/openapi/ai.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.AI API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/billing.json b/generated/openapi/billing.json
iindex 3fad4691..9850ca5e 100644
---- a/generated/openapi/billing.json
++++ b/generated/openapi/billing.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Billing API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/blog.json b/generated/openapi/blog.json
iindex 84fae185..c86428db 100644
---- a/generated/openapi/blog.json
++++ b/generated/openapi/blog.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Blog API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/bot.json b/generated/openapi/bot.json
iindex d8077c7f..05c2c511 100644
---- a/generated/openapi/bot.json
++++ b/generated/openapi/bot.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bot API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/chat.json b/generated/openapi/chat.json
iindex ad8a110c..1273d6ed 100644
---- a/generated/openapi/chat.json
++++ b/generated/openapi/chat.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Chat API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/codes.json b/generated/openapi/codes.json
iindex c59b3df5..e1cfb9ce 100644
---- a/generated/openapi/codes.json
++++ b/generated/openapi/codes.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Codes API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/community.json b/generated/openapi/community.json
iindex 9140f870..2d352383 100644
---- a/generated/openapi/community.json
++++ b/generated/openapi/community.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Community API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/coupons.json b/generated/openapi/coupons.json
iindex 7cb982f5..eac162ff 100644
---- a/generated/openapi/coupons.json
++++ b/generated/openapi/coupons.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Coupons API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/deals.json b/generated/openapi/deals.json
iindex 3cc5a335..12b817f0 100644
---- a/generated/openapi/deals.json
++++ b/generated/openapi/deals.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Deals API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/events.json b/generated/openapi/events.json
iindex 4124b1ce..fb49fccc 100644
---- a/generated/openapi/events.json
++++ b/generated/openapi/events.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Events API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/food.json b/generated/openapi/food.json
iindex 03cf27f0..a794167c 100644
---- a/generated/openapi/food.json
++++ b/generated/openapi/food.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Food API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/games.json b/generated/openapi/games.json
iindex 1911983d..93996fd4 100644
---- a/generated/openapi/games.json
++++ b/generated/openapi/games.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Games API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/host.json b/generated/openapi/host.json
iindex 3bbe0c52..c7b39b0a 100644
---- a/generated/openapi/host.json
++++ b/generated/openapi/host.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Host API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/inventory.json b/generated/openapi/inventory.json
iindex a90c29c8..3b7656bd 100644
---- a/generated/openapi/inventory.json
++++ b/generated/openapi/inventory.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Inventory API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/live.json b/generated/openapi/live.json
iindex e5f942dc..f013cd89 100644
---- a/generated/openapi/live.json
++++ b/generated/openapi/live.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Live API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media-hub.json b/generated/openapi/media-hub.json
iindex 1b372723..675506e3 100644
---- a/generated/openapi/media-hub.json
++++ b/generated/openapi/media-hub.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.MediaHub API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media.json b/generated/openapi/media.json
iindex ac9a635b..0badd912 100644
---- a/generated/openapi/media.json
++++ b/generated/openapi/media.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Media API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/network.json b/generated/openapi/network.json
iindex 1638243e..c5cc98d2 100644
---- a/generated/openapi/network.json
++++ b/generated/openapi/network.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Network API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/news.json b/generated/openapi/news.json
iindex c95d7f9a..d0a34eb4 100644
---- a/generated/openapi/news.json
++++ b/generated/openapi/news.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.News API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/openre.json b/generated/openapi/openre.json
iindex a0f5ddd6..705aad62 100644
---- a/generated/openapi/openre.json
++++ b/generated/openapi/openre.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenRestream API",
-- "version": "0.204.0",
-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/play.json b/generated/openapi/play.json
iindex 7377808c..3650c725 100644
---- a/generated/openapi/play.json
++++ b/generated/openapi/play.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Play API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/quest.json b/generated/openapi/quest.json
iindex 688f4589..12f0261e 100644
---- a/generated/openapi/quest.json
++++ b/generated/openapi/quest.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Quest API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/reviews.json b/generated/openapi/reviews.json
iindex 97f851e8..5e54f7a7 100644
---- a/generated/openapi/reviews.json
++++ b/generated/openapi/reviews.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Reviews API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/run.json b/generated/openapi/run.json
iindex a98bebfa..458a69ae 100644
---- a/generated/openapi/run.json
++++ b/generated/openapi/run.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Run API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/search.json b/generated/openapi/search.json
iindex 1fce4fe2..558539dd 100644
---- a/generated/openapi/search.json
++++ b/generated/openapi/search.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Search API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/services.json b/generated/openapi/services.json
iindex 0fe3e439..f0ae9c81 100644
---- a/generated/openapi/services.json
++++ b/generated/openapi/services.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Services API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/sources.json b/generated/openapi/sources.json
iindex b5f0f797..9ac1f861 100644
---- a/generated/openapi/sources.json
++++ b/generated/openapi/sources.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Sources API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/space.json b/generated/openapi/space.json
iindex ca13e352..e9dcf5f5 100644
---- a/generated/openapi/space.json
++++ b/generated/openapi/space.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Space API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tips.json b/generated/openapi/tips.json
iindex d68d3190..404b4c18 100644
---- a/generated/openapi/tips.json
++++ b/generated/openapi/tips.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tips API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex 1a5214ab..3ad08b40 100644
---- a/generated/openapi/tools.json
++++ b/generated/openapi/tools.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tools API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/trade.json b/generated/openapi/trade.json
iindex 81326a0b..60860b5c 100644
---- a/generated/openapi/trade.json
++++ b/generated/openapi/trade.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Trade API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/vip.json b/generated/openapi/vip.json
iindex 47293941..a3cec04f 100644
---- a/generated/openapi/vip.json
++++ b/generated/openapi/vip.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.VIP API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/watch.json b/generated/openapi/watch.json
iindex 00f0dca9..15616b2b 100644
---- a/generated/openapi/watch.json
++++ b/generated/openapi/watch.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Watch API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/wiki.json b/generated/openapi/wiki.json
iindex 91361cb5..cd5ed978 100644
---- a/generated/openapi/wiki.json
++++ b/generated/openapi/wiki.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Wiki API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/work.json b/generated/openapi/work.json
iindex 768e4bfa..a69ad715 100644
---- a/generated/openapi/work.json
++++ b/generated/openapi/work.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Work API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/zone.json b/generated/openapi/zone.json
iindex 0cbb57ae..1b74f0b8 100644
---- a/generated/openapi/zone.json
++++ b/generated/openapi/zone.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Zone API",
-- "version": "0.204.0",
-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.204.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
++ "version": "0.204.1",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.204.1): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/manifests/products/admin.openvibe.network.json b/manifests/products/admin.openvibe.network.json
iindex 447cf6d2..5c46af1a 100644
---- a/manifests/products/admin.openvibe.network.json
++++ b/manifests/products/admin.openvibe.network.json
@@@ -6,7 +6,7 @@
"accent": "#f59e0b",
"tagline": "One operator console for every service.",
"legalProfile": "account",
-- "description": "admin.openvibe.network redirects to openvibe.network/admin, the staff console (users, roles, bans, registry and policy). A federated operator console discovered from each service is planned there.",
++ "description": "admin.openvibe.network redirects to openvibe.network/admin, the staff console (users, roles, bans, registry and policy).",
"pillars": [
{
"title": "Users & roles",
ddiff --git a/manifests/products/openvibe.actor.json b/manifests/products/openvibe.actor.json
iindex f667416a..bb71f97d 100644
---- a/manifests/products/openvibe.actor.json
++++ b/manifests/products/openvibe.actor.json
@@@ -374,7 +374,6 @@
],
"building": "OpenVibe.Actor is being built now, on the network's accounts, AI router and event system that already run."
},
-- "launch": "the task router: its own runtime on OpenVibe services, other platforms' agents, a private open model and a cross-family check; then Codes, personal agents and Node control",
"relationships": {
"service": "actor"
}
ddiff --git a/manifests/products/openvibe.bot.json b/manifests/products/openvibe.bot.json
iindex f7f18067..064985a3 100644
---- a/manifests/products/openvibe.bot.json
++++ b/manifests/products/openvibe.bot.json
@@@ -201,7 +201,6 @@
],
"building": "OpenVibe.Bot is being built now, starting with our own robots; stream-controlled robots already run on OpenVibe.Live."
},
-- "launch": "the Bot service, its device agent and the first robots paired",
"relationships": {
"service": "bot",
"plannedRepo": "OpenVibe.Bot",
ddiff --git a/manifests/products/openvibe.download.json b/manifests/products/openvibe.download.json
iindex 8e634def..0517fe6b 100644
---- a/manifests/products/openvibe.download.json
++++ b/manifests/products/openvibe.download.json
@@@ -24,8 +24,25 @@
"text": "Every share page has a Report form, and reports suspend a share until staff look at it."
}
],
++ "faq": [
++ {
++ "question": "How much can I store?",
++ "answer": "25 GB, free, in folders private to you, with files up to 2 GB each and previews of your pictures."
++ },
++ {
++ "question": "Who can open what I share?",
++ "answer": "You choose for each link: anyone with the link, signed-in OpenVibe people, or accounts you name. A link can expire in an hour up to 30 days, you can revoke it at any time, and its downloads are counted."
++ },
++ {
++ "question": "Can it back up a folder from my computer?",
++ "answer": "Yes. Make a sync key on openvibe.download/sync and run the openvibe-download command: it sends only what changed since the last run."
++ },
++ {
++ "question": "What happens when someone reports a share?",
++ "answer": "Every share page has a Report form, and a report suspends the share until staff look at it."
++ }
++ ],
"keywords": "openvibe download, file sharing, file upload, cloud storage, backup, mediafire alternative",
-- "launch": "the shared file service on OpenVibe.Media",
"relationships": {
"service": "media-hub",
"noRepo": true,
ddiff --git a/manifests/products/openvibe.events.json b/manifests/products/openvibe.events.json
iindex 8ea5434e..1e3b0d78 100644
---- a/manifests/products/openvibe.events.json
++++ b/manifests/products/openvibe.events.json
@@@ -5,7 +5,7 @@
"icon": "fa-bolt",
"accent": "#34d399",
"tagline": "Events, queues and webhooks you can build on.",
-- "description": "OpenVibe.Events is the network's event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain becomes its home, with queues, streams, project namespaces and developer tools.",
++ "description": "OpenVibe.Events is the network's event system: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues and replay, pull consumers with checkpoints, and realtime delivery to browsers with cursor resume. Every OpenVibe product already publishes through it. This domain is its home: the developer docs, the API and the realtime stream.",
"pillars": [
{
"title": "Topics & webhooks",
@@@ -24,8 +24,25 @@
"text": "Nothing is lost quietly: replay it, or inspect what failed."
}
],
++ "faq": [
++ {
++ "question": "What is OpenVibe.Events?",
++ "answer": "The event system every OpenVibe product publishes through: durable events, topics and subscriptions, signed webhooks with retries, dead-letter queues with replay, and a realtime stream for browsers."
++ },
++ {
++ "question": "Can my own app use it?",
++ "answer": "Yes. With a project on OpenVibe.Services, an app token publishes your app's events, reads them with a cursor and subscribes webhooks to them."
++ },
++ {
++ "question": "What if my webhook is down?",
++ "answer": "Deliveries are signed and retried. One that still fails goes to a dead-letter queue, where it can be inspected and replayed, so nothing is dropped quietly."
++ },
++ {
++ "question": "How do browsers get live updates?",
++ "answer": "Server-sent events at openvibe.events/realtime/stream, which pick up from a cursor after a dropped connection."
++ }
++ ],
"keywords": "event bus api, webhook retry service, sqs alternative, sns alternative, pub sub api, realtime sse api, dead letter queue, webhook replay",
-- "launch": "the developer site, the API and the realtime stream on openvibe.events; queue and stream primitives",
"relationships": {
"service": "events",
"plannedRepo": "OpenVibe.Events",
ddiff --git a/manifests/products/openvibe.help.json b/manifests/products/openvibe.help.json
iindex 7ee3c3c9..82f8e4ed 100644
---- a/manifests/products/openvibe.help.json
++++ b/manifests/products/openvibe.help.json
@@@ -43,7 +43,6 @@
}
],
"keywords": "openvibe help, openvibe support, help center, support tickets, troubleshooting",
-- "launch": "grounded answers and the Report Problem button",
"relationships": {
"service": "help"
}
ddiff --git a/manifests/products/openvibe.homes.json b/manifests/products/openvibe.homes.json
iindex 0638b999..bba855d7 100644
---- a/manifests/products/openvibe.homes.json
++++ b/manifests/products/openvibe.homes.json
@@@ -24,6 +24,24 @@
"text": "Local home price changes from the FHFA index and a mortgage calculator with tax, insurance and HOA."
}
],
++ "faq": [
++ {
++ "question": "Does OpenVibe.Homes list homes itself?",
++ "answer": "No. One search opens Zillow, Realtor.com, Redfin, Homes.com, Trulia and Craigslist at your place, price and bedrooms. Listings stay on the sites that hold them."
++ },
++ {
++ "question": "Can I find foreclosures and land?",
++ "answer": "Yes: HUD homes, Fannie Mae HomePath and auctions, plus land and commercial listings for the same place."
++ },
++ {
++ "question": "Where are property records?",
++ "answer": "Homes links every US state's county records: deeds, assessments and tax records at their source."
++ },
++ {
++ "question": "What do homes cost in my city?",
++ "answer": "City pages show the median home value with the FHFA price trend, and the mortgage calculator adds tax, insurance and HOA."
++ }
++ ],
"keywords": "openvibe homes, homes for sale, foreclosures, land for sale, property records, mortgage calculator, real estate search",
"relationships": {
"service": "rent",
ddiff --git a/manifests/products/openvibe.pics.json b/manifests/products/openvibe.pics.json
iindex dab6e3a6..6497f1a1 100644
---- a/manifests/products/openvibe.pics.json
++++ b/manifests/products/openvibe.pics.json
@@@ -5,7 +5,7 @@
"icon": "fa-images",
"accent": "#f472b6",
"tagline": "Share pictures. Fast, open, yours.",
-- "description": "OpenVibe.Pics is the picture host of the OpenVibe network, an open and ad-free alternative to Imgur: upload a picture and get a link to share or embed anywhere (the page, the direct link, Markdown, BBCode and HTML), with albums. Every picture is re-encoded with its GPS position and camera details removed, served unlisted (only people with the link see it), and anyone can report one; staff takedowns keep the same picture from coming back. Uploads need an OpenVibe account for now. AI image tools come next.",
++ "description": "OpenVibe.Pics is the picture host of the OpenVibe network, an open and ad-free alternative to Imgur: upload a picture and get a link to share or embed anywhere (the page, the direct link, Markdown, BBCode and HTML), with albums. Every picture is re-encoded with its GPS position and camera details removed, served unlisted (only people with the link see it), and anyone can report one; staff takedowns keep the same picture from coming back. Uploading takes a free OpenVibe account.",
"pillars": [
{
"title": "Upload & share",
@@@ -26,14 +26,31 @@
{
"title": "Safe by default",
"text": "Unlisted links, a report button on every picture, and takedowns that stay down."
++ }
++ ],
++ "faq": [
++ {
++ "question": "Who can see my pictures?",
++ "answer": "Only people with the link: every picture is unlisted. Share it as its page or a direct link, or embed it with Markdown, BBCode or HTML."
++ },
++ {
++ "question": "Does a picture keep where it was taken?",
++ "answer": "No. Every upload is re-encoded with its GPS position and camera details removed before anyone sees it."
++ },
++ {
++ "question": "Can I get other sizes or formats?",
++ "answer": "Yes. Every picture also comes 320 to 2560 pixels wide as WebP, AVIF, JPEG or PNG, each with a link of its own."
++ },
++ {
++ "question": "Do I need an account?",
++ "answer": "To upload, yes: a free OpenVibe account. Opening a shared picture needs none."
},
{
-- "title": "Next",
-- "text": "Uploads without an account, and AI image generation."
++ "question": "What if a picture breaks the rules?",
++ "answer": "Anyone can report it, and a staff takedown keeps the same picture from being uploaded again."
}
],
"keywords": "openvibe pics, image hosting, image upload, imgur alternative, image cdn, ai image tools",
-- "launch": "live on MediaHub since 2026-10-15",
"relationships": {
"service": "media-hub",
"noRepo": true,
ddiff --git a/manifests/products/openvibe.quest.json b/manifests/products/openvibe.quest.json
iindex 610cf789..594d46d9 100644
---- a/manifests/products/openvibe.quest.json
++++ b/manifests/products/openvibe.quest.json
@@@ -31,7 +31,7 @@
},
{
"question": "What do quests pay?",
-- "answer": "A badge for each completed quest, shown on your profile across the network. OpenCoins rewards are built and switch on soon."
++ "answer": "A badge for each completed quest, shown on your profile across the network, and OpenCoins for the quests that offer them."
},
{
"question": "Are OpenCoins money?",
@@@ -39,11 +39,10 @@
},
{
"question": "Can my community make its own quests?",
-- "answer": "Developers can already define quests for their own apps through the OpenVibe SDK, on their app's own events (badges only). Quests written by a community or a streamer wait for moderation tools, so nobody can be sent to do something harmful."
++ "answer": "Developers define quests for their own apps through the OpenVibe SDK, on their app's own events (badges only). Quests are not written by communities or streamers: a quest sends people to do something, so only OpenVibe's own quests and developers' app quests exist."
}
],
"keywords": "openvibe quest, quests, achievements, rewards, gamification, streamer quests",
-- "launch": "OpenCoins rewards and community quests",
"relationships": {
"service": "quest"
}
ddiff --git a/manifests/products/openvibe.rent.json b/manifests/products/openvibe.rent.json
iindex 79d14e7a..f91cbef7 100644
---- a/manifests/products/openvibe.rent.json
++++ b/manifests/products/openvibe.rent.json
@@@ -63,7 +63,6 @@
}
],
"keywords": "openvibe rent, rental search, apartments for rent, rooms for rent, commercial rentals, rental alerts",
-- "launch": "verified listing sources and alerts",
"relationships": {
"service": "rent"
}
ddiff --git a/manifests/products/openvibe.services.json b/manifests/products/openvibe.services.json
iindex bf7fdea7..c3b00b49 100644
---- a/manifests/products/openvibe.services.json
++++ b/manifests/products/openvibe.services.json
@@@ -5,7 +5,7 @@
"icon": "fa-server",
"accent": "#38bdf8",
"tagline": "Build with the whole network.",
-- "description": "OpenVibe.Services is the way into everything programmable on OpenVibe: projects, apps, keys, grants and usage over Network's developer API; generated API, contract, SDK, capability and event docs; OAuth and webhook tools; playgrounds; app and mod releases; and one resource index over every service, with each service keeping its own data. Next: start from what you want to build and it assembles the services, keys, permissions and working code for you.",
++ "description": "OpenVibe.Services is the way into everything programmable on OpenVibe: projects, apps, keys, grants and usage over Network's developer API; generated API, contract, SDK, capability and event docs; OAuth and webhook tools; playgrounds; app and mod releases; and one resource index over every service, with each service keeping its own data.",
"pillars": [
{
"title": "Discover",
@@@ -24,8 +24,21 @@
"text": "Usage, quotas, exports and one resource index over the whole network."
}
],
++ "faq": [
++ {
++ "question": "What is OpenVibe.Services for?",
++ "answer": "Building on the network: make a project, register apps, create keys and grants, watch usage, and read generated docs for every API, contract, SDK, capability and event."
++ },
++ {
++ "question": "Can I publish an app or a mod?",
++ "answer": "Yes. App and mod manifests are released here with a trust tier, and each app gets a public page."
++ },
++ {
++ "question": "Where does my data live?",
++ "answer": "Each OpenVibe service keeps its own data. Services shows one resource index over all of them, with usage, quotas and exports."
++ }
++ ],
"keywords": "openvibe services, developer platform, open source backend, api platform, event bus api, ai gateway, website monitoring api, developer console",
-- "launch": "the developer console and docs (moved from openvibe.codes) and the merged resource index",
"relationships": {
"service": "services"
}
ddiff --git a/manifests/products/openvibe.video.json b/manifests/products/openvibe.video.json
iindex 647d5108..76e63fed 100644
---- a/manifests/products/openvibe.video.json
++++ b/manifests/products/openvibe.video.json
@@@ -5,7 +5,7 @@
"icon": "fa-film",
"accent": "#f87171",
"tagline": "Watch, upload and record.",
-- "description": "OpenVibe.Video is the video site of the OpenVibe network: stream recordings and clips from OpenVibe.Live, your own uploads and recordings made in the browser (camera or screen), each with a player, AI captions, chapters and a summary, its OpenVibe.Community thread, and a page per channel. The files stay on OpenVibe.Media. Publishing to other platforms comes later.",
++ "description": "OpenVibe.Video is the video site of the OpenVibe network: stream recordings and clips from OpenVibe.Live, your own uploads and recordings made in the browser (camera or screen), each with a player, AI captions, chapters and a summary, its OpenVibe.Community thread, and a page per channel. The files stay on OpenVibe.Media.",
"pillars": [
{
"title": "Watch",
@@@ -26,10 +26,24 @@
{
"title": "Playlists",
"text": "Put recordings, clips and uploads in order, private, unlisted or public, and share them."
++ }
++ ],
++ "faq": [
++ {
++ "question": "What can I watch?",
++ "answer": "Recordings and clips from OpenVibe.Live streams, people's uploads, playlists, and a page per channel."
++ },
++ {
++ "question": "Can I upload my own videos?",
++ "answer": "Yes, private, unlisted or public. They play from OpenVibe.Media."
++ },
++ {
++ "question": "Can I record without going live?",
++ "answer": "Yes. Record your camera or screen in the browser at openvibe.video/record and keep it as a video; nothing is broadcast."
},
{
-- "title": "Next",
-- "text": "Publishing to other platforms is not built yet."
++ "question": "What does the AI edit do?",
++ "answer": "It makes captions, chapters and a summary on OpenVibe's own servers, and the AI cut: an edited copy with the pauses taken out, or a highlights reel."
}
],
"keywords": "openvibe video, video hosting, youtube alternative, multi-platform upload, ai video tools",
ddiff --git a/manifests/products/openvibe.watch.json b/manifests/products/openvibe.watch.json
iindex 5ad50adc..aa14d8f8 100644
---- a/manifests/products/openvibe.watch.json
++++ b/manifests/products/openvibe.watch.json
@@@ -47,7 +47,6 @@
}
],
"keywords": "website change monitoring, uptime monitoring api, price drop alerts, restock alerts, release monitoring, youtube video analysis, security camera alerts",
-- "launch": "events, webhooks, browser checks and actions",
"relationships": {
"service": "watch"
}
ddiff --git a/manifests/products/openvibe.website.json b/manifests/products/openvibe.website.json
iindex 79691084..d2fef0fe 100644
---- a/manifests/products/openvibe.website.json
++++ b/manifests/products/openvibe.website.json
@@@ -5,7 +5,7 @@
"icon": "fa-globe",
"accent": "#22d3ee",
"tagline": "Websites that work, not just pages.",
-- "description": "OpenVibe.Website will be an AI-assisted website and small-app builder with a real file tree: generate a site from a description, import one or fork a Git repository, edit HTML, CSS, JavaScript or Markdown by hand or visually, and publish to yourname.openvibe.website or your own domain. Sites can sign people in with OpenVibe, take bookings and forms, show media, run a blog or docs, and add chat, comments, memberships or support, with good SEO built in.",
++ "description": "openvibe.website opens OpenVibe.Space, the network's website and app builder: describe what you want and OpenVibe AI builds it as a space on your OpenVibe account, or start from a template, then edit and publish it, with static hosting for your own files.",
"pillars": [
{
"title": "Generate or code",
@@@ -24,8 +24,13 @@
"text": "yourname.openvibe.website or your own domain, with rollback."
}
],
++ "faq": [
++ {
++ "question": "Where did openvibe.website go?",
++ "answer": "It opens OpenVibe.Space, the network's builder: describe what you want and OpenVibe AI builds it as a space on your account, or start from a template, then edit and publish it, with static hosting for your own files."
++ }
++ ],
"keywords": "ai website builder, open source website builder, static site builder, portfolio builder, website generator, docs site generator",
-- "launch": "tenant hosting on OpenVibe.Host (built, not launched) and the editor",
"relationships": {
"noRepo": true,
"meanwhile": [
ddiff --git a/manifests/products/openvibe.work.json b/manifests/products/openvibe.work.json
iindex d354f8ed..4ca34c8a 100644
---- a/manifests/products/openvibe.work.json
++++ b/manifests/products/openvibe.work.json
@@@ -47,7 +47,6 @@
}
],
"keywords": "openvibe work, job search, job listings, job alerts, ai job application assistant",
-- "launch": "alerts and the application agent",
"relationships": {
"service": "work"
}
ddiff --git a/manifests/products/openvibe.zone.json b/manifests/products/openvibe.zone.json
iindex 443b8c3c..cce5dca7 100644
---- a/manifests/products/openvibe.zone.json
++++ b/manifests/products/openvibe.zone.json
@@@ -5,7 +5,7 @@
"icon": "fa-box-archive",
"accent": "#2dd4bf",
"tagline": "Your data, in zones.",
-- "description": "OpenVibe.Zone will keep your data and files in zones — S3-style buckets for persistent storage that every OpenVibe service and agent can use with your permission, also offered to developers through OpenVibe.Services. Part of the OpenVibe network, with one account for every site.",
++ "description": "OpenVibe.Zone keeps your data and files in zones: private S3-style buckets for your projects, with keys you scope and signed links, usable from any S3 tool and offered to developers through OpenVibe.Services. Part of the OpenVibe network, with one account for every site.",
"pillars": [
{
"title": "An S3-style API",
@@@ -24,8 +24,21 @@
"text": "The AWS SDKs, rclone and backup tools, path-style over S3; every object is an OpenVibe.Media object too."
}
],
++ "faq": [
++ {
++ "question": "What is a zone?",
++ "answer": "A private S3-style storage bucket for one of your projects, with objects and signed links."
++ },
++ {
++ "question": "Which tools work with it?",
++ "answer": "Anything that speaks S3 path-style: the AWS SDKs, rclone and backup tools."
++ },
++ {
++ "question": "How do keys work?",
++ "answer": "Make keys that read, write or both, for every zone of an environment or only some. The secret is shown once."
++ }
++ ],
"keywords": "openvibe zone, object storage, s3 compatible storage, buckets, persistent storage, file storage api",
-- "launch": "zones for data and files",
"relationships": {
"service": "zone",
"plannedRepo": "OpenVibe.Zone",
ddiff --git a/manifests/products/themes.openvibe.network.json b/manifests/products/themes.openvibe.network.json
iindex a56b3e5e..cc1d47f7 100644
---- a/manifests/products/themes.openvibe.network.json
++++ b/manifests/products/themes.openvibe.network.json
@@@ -6,7 +6,7 @@
"accent": "#a78bfa",
"tagline": "Your look, on every site.",
"legalProfile": "info",
-- "description": "themes.openvibe.network redirects to openvibe.network/themes, where a person picks the theme every OpenVibe site renders. A theme catalog with community themes, previews, per-site overrides and import/export is planned there.",
++ "description": "themes.openvibe.network redirects to openvibe.network/themes, where a person picks the theme every OpenVibe site renders.",
"pillars": [
{
"title": "Catalog",
ddiff --git a/manifests/services/coupons.json b/manifests/services/coupons.json
iindex bb974198..3d5d80f4 100644
---- a/manifests/services/coupons.json
++++ b/manifests/services/coupons.json
@@@ -47,7 +47,6 @@
}
],
"keywords": "openvibe coupons, coupon codes, community coupons",
-- "launch": "a person to verify a coupons source's terms and switch it on",
"relationships": {
"plannedRepo": "OpenVibe.Coupons",
"meanwhile": [
ddiff --git a/manifests/services/host.json b/manifests/services/host.json
iindex ac0fc89f..98b31559 100644
---- a/manifests/services/host.json
++++ b/manifests/services/host.json
@@@ -51,7 +51,6 @@
}
],
"keywords": "openvibe host, hosting comparison, vps comparison, cloud server prices, price per vcpu, lowendbox offers, domain price comparison, tld prices, domain name check",
-- "launch": "the owner's go on its launch checklist",
"relationships": {
"plannedRepo": "OpenVibe.Host",
"meanwhile": [
ddiff --git a/manifests/services/news.json b/manifests/services/news.json
iindex 921d5ac3..69817577 100644
---- a/manifests/services/news.json
++++ b/manifests/services/news.json
@@@ -46,8 +46,25 @@
"text": "Talk about a story on OpenVibe.Community with your OpenVibe account."
}
],
++ "faq": [
++ {
++ "question": "Where do the stories come from?",
++ "answer": "From the reports OpenVibe.Sources collects from outlets' feeds. The wire shows each outlet's own headline linked to its report, and a story names the sources behind every paragraph."
++ },
++ {
++ "question": "Who writes the briefs?",
++ "answer": "AI, labelled as AI, from the reports it cites. A story under News' own name is written or approved by an editor, and its corrections stay on the record."
++ },
++ {
++ "question": "Can I see different angles on a story?",
++ "answer": "Yes. Topic pages put several outlets side by side, and you choose the framing instead of an algorithm you cannot see."
++ },
++ {
++ "question": "Can I discuss a story?",
++ "answer": "Yes, on OpenVibe.Community with your OpenVibe account."
++ }
++ ],
"keywords": "openvibe news, transparent news, news aggregation, multiple perspectives",
-- "launch": "a person to verify a news source's terms and an editor to publish the first reviewed story",
"relationships": {
"plannedRepo": "OpenVibe.News",
"meanwhile": [
ddiff --git a/manifests/services/openre.json b/manifests/services/openre.json
iindex 3cc371e3..5cbd8e41 100644
---- a/manifests/services/openre.json
++++ b/manifests/services/openre.json
@@@ -100,7 +100,6 @@
"url": "https://openvibe.live/docs/go-live-in-your-browser"
}
},
-- "launch": "live on openre.stream since 2026-10-09: sign in, create a stream and restream it from OBS; OpenVibe.Live stream slots move onto its ingest one at a time",
"relationships": {
"plannedRepo": "OpenRestream",
"meanwhile": [
ddiff --git a/manifests/services/play.json b/manifests/services/play.json
iindex b7ccf7ca..94cbf05d 100644
---- a/manifests/services/play.json
++++ b/manifests/services/play.json
@@@ -87,6 +87,20 @@
"tagline": "Achievements, leaderboards and cloud saves for every game.",
"what": "See this week's leaders and the all-time boards of every OpenVibe game, every achievement you have unlocked, and the saves games keep for you so your progress follows you to any device.",
"legalProfile": "ugc",
-- "position": 35
++ "position": 35,
++ "faq": [
++ {
++ "question": "What is OpenVibe Play?",
++ "answer": "Game services for every OpenVibe game: achievements, leaderboards (this week and all time) and cloud saves that follow you to any device."
++ },
++ {
++ "question": "Can my game use it?",
++ "answer": "Yes. A game registers its title with its own OpenVibe token, posts what its players did, and anyone can read its boards."
++ },
++ {
++ "question": "What happens to a guest's progress?",
++ "answer": "When a guest signs in, the game adopts them and their unlocks and scores become the person's."
++ }
++ ]
}
}
ddiff --git a/manifests/services/reviews.json b/manifests/services/reviews.json
iindex cf127539..348118f9 100644
---- a/manifests/services/reviews.json
++++ b/manifests/services/reviews.json
@@@ -46,8 +46,25 @@
"text": "Written or approved by an editor, citing the signals they rest on, and never carrying a rating."
}
],
++ "faq": [
++ {
++ "question": "Where do the ratings come from?",
++ "answer": "Every rating shows its source and when it was read: members' own reviews, the ratings members saved from sites like Glassdoor, Yelp or Trustpilot, and signals from permitted sources."
++ },
++ {
++ "question": "Can I write a review?",
++ "answer": "Yes, as any signed-in OpenVibe member: 1 to 5 stars and how you know the place (an employee, a tenant, a customer). Members' reviews are shown as theirs, never mixed into the sources' aggregate."
++ },
++ {
++ "question": "What are official records?",
++ "answer": "What a public body published: CFPB complaint counts for companies, NYC Health inspections for restaurants and NYC HPD's open housing violations for apartment buildings, each linked to its source."
++ },
++ {
++ "question": "Does Reviews copy other sites' reviews?",
++ "answer": "No. /everywhere opens Glassdoor, Yelp, the BBB, Trustpilot, Google Maps and others for a name, each in its own tab; their reviews stay there."
++ }
++ ],
"keywords": "openvibe reviews, review aggregation, honest reviews",
-- "launch": "a person to verify a review source's terms and an editor to publish the first reviewed summary",
"relationships": {
"plannedRepo": "OpenVibe.Reviews",
"meanwhile": [
ddiff --git a/manifests/services/run.json b/manifests/services/run.json
iindex cc6f4620..bf7a28f5 100644
---- a/manifests/services/run.json
++++ b/manifests/services/run.json
@@@ -83,6 +83,24 @@
"text": "The node link measures each job's wall clock; that reading is what the job is charged against."
}
],
++ "faq": [
++ {
++ "question": "What does OpenVibe.Run do?",
++ "answer": "It runs jobs: a project submits a job (a registered artifact, its input and its limits), and Run places it on a node whose offer meets its requirements."
++ },
++ {
++ "question": "Where do jobs run?",
++ "answer": "On nodes paired with OpenVibe through the OpenVibe Node, including computers of your own."
++ },
++ {
++ "question": "How is a job charged?",
++ "answer": "By the wall-clock seconds the node measures for it."
++ },
++ {
++ "question": "Can I watch a job run?",
++ "answer": "Yes. Its event stream shows each state change and the node's output as it happens."
++ }
++ ],
"keywords": "openvibe run, job runner, run jobs on nodes, sandbox api, per-second metering"
}
}
ddiff --git a/manifests/services/search.json b/manifests/services/search.json
iindex 48d706f6..0f760c8f 100644
---- a/manifests/services/search.json
++++ b/manifests/services/search.json
@@@ -90,6 +90,16 @@
"tagline": "Search the OpenVibe network.",
"what": "One search box over what the network's services have published: streams, clips, pastes, wiki pages, news and more, from OpenVibe's own index.",
"legalProfile": "info",
-- "position": 33
++ "position": 33,
++ "faq": [
++ {
++ "question": "What does OpenVibe Search cover?",
++ "answer": "Public pages from across the network: wiki pages, reviews, news, deals, coupons, jobs, rentals, help articles, videos and more, each from the site that holds it."
++ },
++ {
++ "question": "Why is a page missing?",
++ "answer": "Search lists only what its site marks public and indexable. Private, draft and noindex pages never appear, and a page removed from its site leaves Search too."
++ }
++ ]
}
}
ddiff --git a/manifests/services/space.json b/manifests/services/space.json
iindex b1990af9..15676cb5 100644
---- a/manifests/services/space.json
++++ b/manifests/services/space.json
@@@ -44,7 +44,6 @@
}
],
"keywords": "openvibe space, code hosting, openvibe spaces, openvibe account, openvibe sdk",
-- "launch": "Code hosting and spaces are still to be built; the forum moved back to OpenVibe.Community (2026-10-08).",
"faq": [
{
"question": "What is a space?",
ddiff --git a/manifests/services/tips.json b/manifests/services/tips.json
iindex 4b98dc31..d31bd8ee 100644
---- a/manifests/services/tips.json
++++ b/manifests/services/tips.json
@@@ -47,7 +47,6 @@
}
],
"keywords": "openvibe tips, tip streamers, donation alerts, superchat, paid messages, text to speech donations, media requests, obs alerts, streamlabs alternative",
-- "launch": "paid sound alerts, and more checkout options as OpenVibe.Billing adds them",
"relationships": {
"plannedRepo": "OpenVibe.Tips",
"meanwhile": [
ddiff --git a/manifests/services/tools.json b/manifests/services/tools.json
iindex f68b096a..e395e584 100644
---- a/manifests/services/tools.json
++++ b/manifests/services/tools.json
@@@ -24,7 +24,21 @@
"tagline": "Every online tool",
"what": "More than 160 online tools: converters, downloaders, PDF and image tools, developer utilities and network diagnostics, each on its own address.",
"legalProfile": "tools",
-- "position": 1
++ "position": 1,
++ "faq": [
++ {
++ "question": "Do I need an account?",
++ "answer": "Not for most tools. Each tool has fair-use limits, and signing in with your OpenVibe account lists the tools you use most under Your tools."
++ },
++ {
++ "question": "Can I use a tool from my own code?",
++ "answer": "Yes. Every tool runs through the same run API its page uses, open to scripts and apps within the same limits."
++ },
++ {
++ "question": "What kinds of tools are there?",
++ "answer": "Hundreds: video, audio and image converters, document tools, developer utilities and more, each with its own page on openvibe.tools or a tool subdomain."
++ }
++ ]
},
"capabilities": [
"tools.analytics.read",
@@@ -89,14 +103,14 @@
],
"window": "automatic only while ovhost waits for readiness after the restart (60 s in host.example.json); manual afterwards, as long as no blocker applies",
"blockers": {
-- "none": "the schema code only adds (CREATE \u2026 IF NOT EXISTS, ADD COLUMN; no DROP, RENAME or table rebuild), which an older release ignores"
++ "none": "the schema code only adds (CREATE … IF NOT EXISTS, ADD COLUMN; no DROP, RENAME or table rebuild), which an older release ignores"
}
},
"contracts": {
"range": ">=0.7.0 <1.0.0"
},
"leases": {
-- "none": "no claims: each app's process uses the ov_tools PostgreSQL database; a job is taken with a compare-and-set (queued \u2192 running) in one transaction"
++ "none": "no claims: each app's process uses the ov_tools PostgreSQL database; a job is taken with a compare-and-set (queued → running) in one transaction"
}
},
"notes": "Public at openvibe.tools: 169 tools in 9 families on the gateway (port 4001) and its satellites, catalogue at GET /api/catalog.json (re-served by Network). Asynchronous jobs (Wave 11) run on the img, audio and docs satellites only (POST /api/v1/jobs, GET/DELETE /api/v1/jobs/:id, POST /api/v1/jobs/:id/retry, PUT|DELETE /api/v1/jobs/:id/references/:ref, SSE events, result files); the gateway has no /api/v1/jobs yet. Job results are stored as private Media objects (TOOLS_JOB_RESULTS=media: Tools holds media.object.upload and media.object.read, namespace tools) and job lifecycle events tools.job.created|started|succeeded|failed are published to OpenVibe.Events through an outbox in the ov_tools PostgreSQL database (EVENTS_URL set; events.event.publish). The tool registry (ADR-027, tools.tool.read) is served: GET /api/v1/tools[/:id[/schema]] on the gateway, for all 169 tools, and on the img, audio, docs, text, yt, maps and food satellites for their own. Planned (ADR-027): the uniform run API POST /api/v1/tools/:id/run (tools.tool.run; network probes need tools.net.probe), a jobs facade on the gateway, tiered quotas and a pseudonymous abuse log; the legacy /api/process, /api/net/* and /api/dev/* routes keep working with Deprecation and Sunset (2026-12-31) headers. GET /api/ready is truthful on the gateway (it checks every satellite) and on each satellite."
ddiff --git a/manifests/services/trade.json b/manifests/services/trade.json
iindex 344638da..75e0d6ca 100644
---- a/manifests/services/trade.json
++++ b/manifests/services/trade.json
@@@ -50,6 +50,24 @@
"text": "Private to you when signed in. Information only: no orders, no brokerage, no advice."
}
],
++ "faq": [
++ {
++ "question": "Is this investment advice?",
++ "answer": "No. Trade shows information and tools: SEC filings and reported numbers, AI briefs and alerts. It gives no advice, makes no predictions and takes no orders."
++ },
++ {
++ "question": "Which companies are covered?",
++ "answer": "More than 8,000 from SEC's ticker list, found by ticker, CIK or name."
++ },
++ {
++ "question": "Where do the numbers come from?",
++ "answer": "From SEC filings, each figure with its period, the filing it came from and the date it was read."
++ },
++ {
++ "question": "Can I get alerts?",
++ "answer": "Yes. Signed in, you keep watchlists and alert rules, private to you."
++ }
++ ],
"keywords": "openvibe trade, watchlists, market alerts, community trading tools",
"relationships": {
"plannedRepo": "OpenVibe.Trade",
ddiff --git a/manifests/services/vip.json b/manifests/services/vip.json
iindex b045edbb..3717831f 100644
---- a/manifests/services/vip.json
++++ b/manifests/services/vip.json
@@@ -47,7 +47,6 @@
}
],
"keywords": "openvibe vip, creator memberships, subscriptions, patreon alternative, members only, software subscriptions, license check",
-- "launch": "OpenVibe’s own premium plan, sold here",
"relationships": {
"plannedRepo": "OpenVibe.VIP",
"meanwhile": [
ddiff --git a/manifests/services/wiki.json b/manifests/services/wiki.json
iindex 4e11aaf2..460a6643 100644
---- a/manifests/services/wiki.json
++++ b/manifests/services/wiki.json
@@@ -24,7 +24,21 @@
"tagline": "Knowledge, with sources",
"what": "Wiki spaces with page trees, revision history, citations and discussion, editable together.",
"legalProfile": "ugc",
-- "position": 9
++ "position": 9,
++ "faq": [
++ {
++ "question": "Can I start my own wiki?",
++ "answer": "Yes. Any OpenVibe account can start one: public, members-only or for its owner's VIP members, with page trees, revisions, citations, media and discussion."
++ },
++ {
++ "question": "How are pages sourced?",
++ "answer": "A page cites its sources, each with where it came from and when it was retrieved, and the history keeps every revision."
++ },
++ {
++ "question": "What does 'Not yet reviewed by a person' mean?",
++ "answer": "The page was written with AI assistance. It stays readable with that label, and out of search engines and network search until a person reviews it."
++ }
++ ]
},
"capabilities": [
"wiki.space.create",
ddiff --git a/package-lock.json b/package-lock.json
iindex a09fc04f..9c95e546 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-contracts",
-- "version": "0.204.0",
++ "version": "0.204.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-contracts",
-- "version": "0.204.0",
++ "version": "0.204.1",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex 20badf3e..e7ace33e 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.204.0",
++ "version": "0.204.1",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"types": "generated/typescript/index.d.ts",