openvibers/openvibe.contracts Commits

v0.64.0: Wiki VIP spaces and pages (roadmap WS-K task 8). vip joins Wiki's visibilities (wiki.space@1, wiki.page@1, the space and page write requests, and the wiki.page.* / wiki.space.updated payloads): readable by the space's roles and the viewers OpenVibe.VIP admits as members of the space owner (vip.resource.policy.evaluate, resource wiki/page or wiki/space, fallback wiki:gated_page). Never in search, sitemaps or feeds. Widening only.

OP OpenVibers committed 26 Sept 2026 · 37546a9080 · 39 files, +100 −66


Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 4b621be9..3e0e77a9 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -6,6 +6,15 @@ the notes were in the tag and commit messages (`git tag -n1`).
## Unreleased
++## 0.64.0 — 2026-09-26
++
++**Wiki VIP spaces and pages** (roadmap WS-K task 8).
++- **`vip` joins Wiki's visibilities** (between `members` and `private`). It covers `wiki.space@1`, `wiki.page@1`, `wiki.space-write-request@1`, `wiki.page-write-request@1` and the `wiki.page.updated`, `wiki.page.published`, `wiki.page.unpublished`, `wiki.page.deleted` and `wiki.space.updated` payloads.
++- **Who reads it:** a `vip` space or page is read by the space's roles and by the viewers OpenVibe.VIP admits as members of the space owner. OpenVibe.Wiki asks `vip.resource.policy.evaluate` with the resource `wiki/page/<id>` when the page itself is VIP-only (else `wiki/space/<id>`), and the fallback `{ requirement: 'member', binding: 'wiki:gated_page' }`.
++- **Where it never appears:** in search, sitemaps or feeds (its index document is a tombstone, like `members`).
++- **Official spaces** have no VIP owner, so Wiki refuses `vip` there.
++- Widening only: every earlier value stays valid.
++
## 0.63.0 — 2026-09-26
**Project usage rollups** (roadmap WS-N task 4, ADR-014): what feeds the per-project dashboards on OpenVibe.Codes.
ddiff --git a/contracts/events/payloads/wiki.page.deleted.v1.json b/contracts/events/payloads/wiki.page.deleted.v1.json
iindex f60d58a1..a31df34a 100644
---- a/contracts/events/payloads/wiki.page.deleted.v1.json
++++ b/contracts/events/payloads/wiki.page.deleted.v1.json
@@@ -12,6 +12,6 @@
"indexability": { "type": ["object", "null"], "required": ["decision", "reasons"], "additionalProperties": false, "properties": { "decision": { "enum": ["index", "noindex"] }, "reasons": { "type": "array", "maxItems": 20, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z][a-z0-9_]{1,63}$" } } }, "description": "The last gate decision, or null when there is none." },
"space": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{1,62}$", "description": "Space slug." },
"slug": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Page slug inside the space." },
-- "visibility": { "enum": ["public", "members", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
++ "visibility": { "enum": ["public", "members", "vip", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
}
}
ddiff --git a/contracts/events/payloads/wiki.page.published.v1.json b/contracts/events/payloads/wiki.page.published.v1.json
iindex 456d7968..d3efe0f8 100644
---- a/contracts/events/payloads/wiki.page.published.v1.json
++++ b/contracts/events/payloads/wiki.page.published.v1.json
@@@ -12,6 +12,6 @@
"indexability": { "type": "object", "required": ["decision", "reasons"], "additionalProperties": false, "properties": { "decision": { "enum": ["index", "noindex"] }, "reasons": { "type": "array", "maxItems": 20, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z][a-z0-9_]{1,63}$" } } } },
"space": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{1,62}$", "description": "Space slug." },
"slug": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Page slug inside the space." },
-- "visibility": { "enum": ["public", "members", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
++ "visibility": { "enum": ["public", "members", "vip", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
}
}
ddiff --git a/contracts/events/payloads/wiki.page.unpublished.v1.json b/contracts/events/payloads/wiki.page.unpublished.v1.json
iindex 78c5c15f..b34e718e 100644
---- a/contracts/events/payloads/wiki.page.unpublished.v1.json
++++ b/contracts/events/payloads/wiki.page.unpublished.v1.json
@@@ -12,6 +12,6 @@
"indexability": { "type": ["object", "null"], "required": ["decision", "reasons"], "additionalProperties": false, "properties": { "decision": { "enum": ["index", "noindex"] }, "reasons": { "type": "array", "maxItems": 20, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z][a-z0-9_]{1,63}$" } } }, "description": "The last gate decision, or null when there is none." },
"space": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{1,62}$", "description": "Space slug." },
"slug": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Page slug inside the space." },
-- "visibility": { "enum": ["public", "members", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
++ "visibility": { "enum": ["public", "members", "vip", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
}
}
ddiff --git a/contracts/events/payloads/wiki.page.updated.v1.json b/contracts/events/payloads/wiki.page.updated.v1.json
iindex 19b4cd76..ca07bbdd 100644
---- a/contracts/events/payloads/wiki.page.updated.v1.json
++++ b/contracts/events/payloads/wiki.page.updated.v1.json
@@@ -12,6 +12,6 @@
"indexability": { "type": "object", "required": ["decision", "reasons"], "additionalProperties": false, "properties": { "decision": { "enum": ["index", "noindex"] }, "reasons": { "type": "array", "maxItems": 20, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z][a-z0-9_]{1,63}$" } } } },
"space": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{1,62}$", "description": "Space slug." },
"slug": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Page slug inside the space." },
-- "visibility": { "enum": ["public", "members", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
++ "visibility": { "enum": ["public", "members", "vip", "private"], "description": "Effective visibility (the page's, narrowed by its space's)." }
}
}
ddiff --git a/contracts/events/payloads/wiki.space.updated.v1.json b/contracts/events/payloads/wiki.space.updated.v1.json
iindex 8f71a1aa..140643aa 100644
---- a/contracts/events/payloads/wiki.space.updated.v1.json
++++ b/contracts/events/payloads/wiki.space.updated.v1.json
@@@ -10,7 +10,7 @@
"slug": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{1,62}$" },
"name": { "type": "string", "minLength": 1, "maxLength": 200 },
"kind": { "enum": ["official", "user"] },
-- "visibility": { "enum": ["public", "members", "private"] },
++ "visibility": { "enum": ["public", "members", "vip", "private"] },
"deleted": { "type": "boolean" },
"change": { "enum": ["created", "renamed", "visibility", "settings", "roles", "deleted"], "description": "What changed. renamed = a new slug." },
"url": { "type": "string", "format": "uri", "pattern": "^https?://", "maxLength": 2048, "description": "Canonical URL of the space." }
ddiff --git a/contracts/wiki/page-write-request.v1.json b/contracts/wiki/page-write-request.v1.json
iindex 2f61091a..fe931578 100644
---- a/contracts/wiki/page-write-request.v1.json
++++ b/contracts/wiki/page-write-request.v1.json
@@@ -42,6 +42,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -241,6 +242,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -385,6 +387,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
ddiff --git a/contracts/wiki/page.v1.json b/contracts/wiki/page.v1.json
iindex 0010edb5..1c725d91 100644
---- a/contracts/wiki/page.v1.json
++++ b/contracts/wiki/page.v1.json
@@@ -46,6 +46,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
ddiff --git a/contracts/wiki/space-write-request.v1.json b/contracts/wiki/space-write-request.v1.json
iindex 0ff85411..fd2ef3b9 100644
---- a/contracts/wiki/space-write-request.v1.json
++++ b/contracts/wiki/space-write-request.v1.json
@@@ -30,6 +30,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
}
ddiff --git a/contracts/wiki/space.v1.json b/contracts/wiki/space.v1.json
iindex 42812902..12d1e02a 100644
---- a/contracts/wiki/space.v1.json
++++ b/contracts/wiki/space.v1.json
@@@ -40,6 +40,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
ddiff --git a/fixtures/wiki.page.published/valid/vip.json b/fixtures/wiki.page.published/valid/vip.json
nnew file mode 100644
iindex 00000000..fe7f1fe1
---- /dev/null
++++ b/fixtures/wiki.page.published/valid/vip.json
@@@ -0,0 +1 @@
++{ "canonical_url": "https://openvibe.wiki/w/crew/roster", "publication_state": "published", "indexability": { "decision": "noindex", "reasons": ["members_only"] }, "space": "crew", "slug": "roster", "visibility": "vip" }
ddiff --git a/fixtures/wiki.space/valid/vip.json b/fixtures/wiki.space/valid/vip.json
nnew file mode 100644
iindex 00000000..c872036b
---- /dev/null
++++ b/fixtures/wiki.space/valid/vip.json
@@@ -0,0 +1 @@
++{ "id": "spc_01JAB2C3D4E5F6G7H8J9K0MNPR", "slug": "club", "name": "Members club", "description": "Notes for my VIP members.", "kind": "user", "visibility": "vip", "created_at": "2026-09-26T10:00:00.000Z", "updated_at": "2026-09-26T10:00:00.000Z" }
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex e669a96f..9aaf89fb 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -7202,6 +7202,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -7470,6 +7471,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
],
"description": "Effective visibility (the page's, narrowed by its space's)."
@@@ -7546,6 +7548,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
],
"description": "Effective visibility (the page's, narrowed by its space's)."
@@@ -7627,6 +7630,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
],
"description": "Effective visibility (the page's, narrowed by its space's)."
@@@ -7708,6 +7712,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
],
"description": "Effective visibility (the page's, narrowed by its space's)."
@@@ -8207,6 +8212,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -8406,6 +8412,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -8550,6 +8557,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -8780,6 +8788,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -9413,6 +9422,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
}
@@@ -9550,6 +9560,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex 4b0e8d74..552db225 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.63.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/billing.json b/generated/openapi/billing.json
iindex b4335059..a919d94d 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.63.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/blog.json b/generated/openapi/blog.json
iindex 7968730e..2085df32 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.63.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/chat.json b/generated/openapi/chat.json
iindex 22344b1c..2dfa645b 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.63.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/codes.json b/generated/openapi/codes.json
iindex 2630f1d0..326866b4 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.63.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/community.json b/generated/openapi/community.json
iindex fd4f5aee..1340f85f 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.63.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/coupons.json b/generated/openapi/coupons.json
iindex 7d642621..5e683ba6 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.63.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/deals.json b/generated/openapi/deals.json
iindex a3ab53c9..4487e088 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.63.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/events.json b/generated/openapi/events.json
iindex e121472a..7ff2c837 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.63.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/games.json b/generated/openapi/games.json
iindex a16a27e0..cfe46271 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.63.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/host.json b/generated/openapi/host.json
iindex d5e4b191..a294d2e5 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.63.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/live.json b/generated/openapi/live.json
iindex d3bf1f7d..de35c414 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.63.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/media.json b/generated/openapi/media.json
iindex 5ebe0be2..8e65951a 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.63.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/network.json b/generated/openapi/network.json
iindex 8a315113..5c34209d 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.63.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/news.json b/generated/openapi/news.json
iindex e8e85efc..fae2ada5 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.63.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/openre.json b/generated/openapi/openre.json
iindex cf3467fd..6471bd7f 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": "OpenRe.Stream API",
-- "version": "0.63.0",
-- "description": "Routes of OpenRe.Stream as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenRe.Stream as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/reviews.json b/generated/openapi/reviews.json
iindex b9927451..74bb8379 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.63.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/search.json b/generated/openapi/search.json
iindex d39817d9..70004c38 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.63.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/sources.json b/generated/openapi/sources.json
iindex 3bd2edb7..40425bf0 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.63.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tips.json b/generated/openapi/tips.json
iindex e7a125a4..006db6f1 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.63.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex 31983337..29ce81fc 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.63.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/trade.json b/generated/openapi/trade.json
iindex 77d15800..9f49af9b 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.63.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/vip.json b/generated/openapi/vip.json
iindex febe3027..449dd403 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.63.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
ddiff --git a/generated/openapi/wiki.json b/generated/openapi/wiki.json
iindex 7517d4ae..ce931674 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.63.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.63.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.64.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.64.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.",
"license": {
"name": "MIT",
"identifier": "MIT"
@@@ -2040,6 +2040,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -2239,6 +2240,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -2383,6 +2385,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -2599,6 +2602,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
@@@ -3169,6 +3173,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
}
@@@ -3292,6 +3297,7 @@
"enum": [
"public",
"members",
++ "vip",
"private"
]
},
ddiff --git a/generated/typescript/index.d.ts b/generated/typescript/index.d.ts
iindex 65903c7f..2bd0d3d2 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -13181,7 +13181,7 @@ export interface WikiSpaceUpdatedPayload {
slug: string;
name: string;
kind: "official" | "user";
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
deleted: boolean;
/**
* What changed. renamed = a new slug.
@@@ -13417,7 +13417,7 @@ export interface WikiPagePublishedPayload {
/**
* Effective visibility (the page's, narrowed by its space's).
*/
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
}
/** [email protected] (owner: wiki) */
@@@ -13577,7 +13577,7 @@ export interface WikiPageUpdatedPayload {
/**
* Effective visibility (the page's, narrowed by its space's).
*/
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
}
/** [email protected] (owner: wiki) */
@@@ -13743,7 +13743,7 @@ export interface WikiPageUnpublishedPayload {
/**
* Effective visibility (the page's, narrowed by its space's).
*/
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
}
/** [email protected] (owner: wiki) */
@@@ -13909,7 +13909,7 @@ export interface WikiPageDeletedPayload {
/**
* Effective visibility (the page's, narrowed by its space's).
*/
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
}
/** [email protected] (owner: wiki) */
@@@ -14085,7 +14085,7 @@ export type WikiPageWriteRequest =
*/
infobox?: {}[];
parent_id?: string | null;
-- visibility?: "public" | "members" | "private";
++ visibility?: "public" | "members" | "vip" | "private";
/**
* At most 50. Each needs a URL (with retrieved_at) or a Sources item id (url, title and retrieval come from the item).
*
@@@ -14152,7 +14152,7 @@ export type WikiPageWriteRequest =
| {
slug?: string;
parent_id?: string | null;
-- visibility?: "public" | "members" | "private";
++ visibility?: "public" | "members" | "vip" | "private";
noindex?: boolean;
}
| {
@@@ -14196,7 +14196,7 @@ export type WikiPageWriteRequest =
license_note?: string | null;
anchor?: string | null;
}[];
-- visibility?: "public" | "members" | "private";
++ visibility?: "public" | "members" | "vip" | "private";
message?: string | null;
},
...{
@@@ -14230,7 +14230,7 @@ export type WikiPageWriteRequest =
license_note?: string | null;
anchor?: string | null;
}[];
-- visibility?: "public" | "members" | "private";
++ visibility?: "public" | "members" | "vip" | "private";
message?: string | null;
}[]
];
@@@ -14296,7 +14296,7 @@ export interface WikiPage {
* draft, published, deleted, …
*/
state: string;
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
noindex: boolean;
published_revision: number | null;
published_at?: string | null;
@@@ -14473,7 +14473,7 @@ export type WikiSpaceWriteRequest =
slug?: string;
description?: string | null;
kind?: "official" | "user";
-- visibility?: "public" | "members" | "private";
++ visibility?: "public" | "members" | "vip" | "private";
}
| {
role: "owner" | "editor" | "viewer" | null;
@@@ -14506,7 +14506,7 @@ export interface WikiSpace {
name: string;
description?: string | null;
kind: "official" | "user";
-- visibility: "public" | "members" | "private";
++ visibility: "public" | "members" | "vip" | "private";
created_at: string;
updated_at: string;
}
ddiff --git a/package.json b/package.json
iindex be51f3ed..c99038c0 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.63.0",
++ "version": "0.64.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"types": "generated/typescript/index.d.ts",