openvibers/openvibe.contracts Commits

Contracts 0.202.0: Tips support_links (other ways to support a creator, paid outside OpenVibe) (#182)

OP OpenVibers committed 27 days ago · 7757499380 · 46 files, +1507 −77

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 6469632b..90459915 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -4,6 +4,14 @@ 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.202.0 — 2026-10-17
++
++- OpenVibe.Tips: other ways to support a creator, paid outside OpenVibe (the owner's 10-08 ask: Billing is provider
++ agnostic; creators bring Ko-fi, PayPal.me, Patreon and other links). Optional `support_links` on `tips.profile@1`
++ (`{ provider, label, handle, url }`, Tips builds the link) and on `tips.profile-update-request@1`
++ (`{ provider, handle }`, at most 8). Providers: Ko-fi, PayPal.me, Patreon, Buy Me a Coffee, Cash App, Venmo, GitHub
++ Sponsors, Liberapay, Open Collective, Streamlabs and StreamElements tip pages.
++
## 0.201.0 — 2026-10-17
- Subscription tiers priced by OpenVibe.Billing (the owner's VIP ask: creator memberships with tiers). New capability
ddiff --git a/contracts/tips/profile-update-request.v1.json b/contracts/tips/profile-update-request.v1.json
iindex c7ba44f2..4668527e 100644
---- a/contracts/tips/profile-update-request.v1.json
++++ b/contracts/tips/profile-update-request.v1.json
@@@ -227,6 +227,40 @@
"null"
],
"description": "Creating a profile as a service: an https URL."
++ },
++ "support_links": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",
++ "items": {
++ "type": "object",
++ "required": [
++ "provider",
++ "handle"
++ ],
++ "properties": {
++ "provider": {
++ "enum": [
++ "kofi",
++ "paypal",
++ "patreon",
++ "buymeacoffee",
++ "cashapp",
++ "venmo",
++ "github",
++ "liberapay",
++ "opencollective",
++ "streamlabs",
++ "streamelements"
++ ]
++ },
++ "handle": {
++ "type": "string",
++ "maxLength": 200
++ }
++ },
++ "additionalProperties": false
++ }
}
}
}
ddiff --git a/contracts/tips/profile.v1.json b/contracts/tips/profile.v1.json
iindex 2e01cc2c..a306ba07 100644
---- a/contracts/tips/profile.v1.json
++++ b/contracts/tips/profile.v1.json
@@@ -231,6 +231,46 @@
},
"updated_at": {
"type": "string"
++ },
++ "support_links": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",
++ "items": {
++ "type": "object",
++ "required": [
++ "provider",
++ "label",
++ "handle",
++ "url"
++ ],
++ "properties": {
++ "provider": {
++ "enum": [
++ "kofi",
++ "paypal",
++ "patreon",
++ "buymeacoffee",
++ "cashapp",
++ "venmo",
++ "github",
++ "liberapay",
++ "opencollective",
++ "streamlabs",
++ "streamelements"
++ ]
++ },
++ "label": {
++ "type": "string"
++ },
++ "handle": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string"
++ }
++ }
++ }
}
}
}
ddiff --git a/fixtures/tips.profile-update-request/invalid/support-link-provider.json b/fixtures/tips.profile-update-request/invalid/support-link-provider.json
nnew file mode 100644
iindex 00000000..be59ee61
---- /dev/null
++++ b/fixtures/tips.profile-update-request/invalid/support-link-provider.json
@@@ -0,0 +1 @@
++{ "support_links": [{ "provider": "myspace", "handle": "tierra" }] }
ddiff --git a/fixtures/tips.profile-update-request/valid/support-links.json b/fixtures/tips.profile-update-request/valid/support-links.json
nnew file mode 100644
iindex 00000000..29f01c6d
---- /dev/null
++++ b/fixtures/tips.profile-update-request/valid/support-links.json
@@@ -0,0 +1 @@
++{ "support_links": [{ "provider": "kofi", "handle": "tierra" }, { "provider": "paypal", "handle": "https://paypal.me/tierra" }] }
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex 349bd5ce..7f20f9b1 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -19002,6 +19002,40 @@
"null"
],
"description": "Creating a profile as a service: an https URL."
++ },
++ "support_links": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",
++ "items": {
++ "type": "object",
++ "required": [
++ "provider",
++ "handle"
++ ],
++ "properties": {
++ "provider": {
++ "enum": [
++ "kofi",
++ "paypal",
++ "patreon",
++ "buymeacoffee",
++ "cashapp",
++ "venmo",
++ "github",
++ "liberapay",
++ "opencollective",
++ "streamlabs",
++ "streamelements"
++ ]
++ },
++ "handle": {
++ "type": "string",
++ "maxLength": 200
++ }
++ },
++ "additionalProperties": false
++ }
}
}
}
@@@ -19243,6 +19277,46 @@
},
"updated_at": {
"type": "string"
++ },
++ "support_links": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",
++ "items": {
++ "type": "object",
++ "required": [
++ "provider",
++ "label",
++ "handle",
++ "url"
++ ],
++ "properties": {
++ "provider": {
++ "enum": [
++ "kofi",
++ "paypal",
++ "patreon",
++ "buymeacoffee",
++ "cashapp",
++ "venmo",
++ "github",
++ "liberapay",
++ "opencollective",
++ "streamlabs",
++ "streamelements"
++ ]
++ },
++ "label": {
++ "type": "string"
++ },
++ "handle": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string"
++ }
++ }
++ }
}
}
}
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex 7ea5c55d..37ba2f6f 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.201.0",
-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/ai.json b/generated/openapi/ai.json
iindex 4d8348e1..83a0b3cb 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.201.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 ed50105b..27afbbd5 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.201.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 eed325ea..37672699 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.201.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/bot.json b/generated/openapi/bot.json
iindex 07415e0a..52f57587 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.201.0",
-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 f7596363..213ba059 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.201.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 6ab449a2..4e1418b4 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.201.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 59fde2c4..a717d5e7 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.201.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 d69b5ed7..6f75c7d0 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.201.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 48721680..45f47fe7 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.201.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 8ea22070..af98d11b 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.201.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/food.json b/generated/openapi/food.json
iindex 3ed54704..3690b697 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.201.0",
-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 7625ca77..78ed0611 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.201.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 e21374a2..380440b0 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.201.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/inventory.json b/generated/openapi/inventory.json
iindex 8ec56e6c..702d3bd1 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.201.0",
-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 1b21c468..17fd3c9b 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.201.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.202.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-hub.json b/generated/openapi/media-hub.json
iindex cfd8d360..0b276183 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.201.0",
-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 fff416d7..f2075473 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.201.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 b544846b..b203e16a 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.201.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 8f542cc8..7b74378d 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.201.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 ba8c14c9..b2c1712c 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.201.0",
-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/play.json b/generated/openapi/play.json
iindex e1619972..7c9e1eee 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.201.0",
-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/quest.json b/generated/openapi/quest.json
iindex 89e5afd1..49c18c3c 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.201.0",
-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 e753e897..e7688447 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.201.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/run.json b/generated/openapi/run.json
iindex bb8860a0..7a7bad48 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.201.0",
-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 ca26340f..95f1db10 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.201.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/services.json b/generated/openapi/services.json
iindex 7aeb988e..a8f84d61 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.201.0",
-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 ec4a1d8e..462f1fbc 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.201.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/space.json b/generated/openapi/space.json
iindex 08c8b8ec..b6f5f66c 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.201.0",
-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 7b13be9a..7e1d91fe 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.201.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.202.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"
@@@ -3966,6 +3966,40 @@
"null"
],
"description": "Creating a profile as a service: an https URL."
++ },
++ "support_links": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",
++ "items": {
++ "type": "object",
++ "required": [
++ "provider",
++ "handle"
++ ],
++ "properties": {
++ "provider": {
++ "enum": [
++ "kofi",
++ "paypal",
++ "patreon",
++ "buymeacoffee",
++ "cashapp",
++ "venmo",
++ "github",
++ "liberapay",
++ "opencollective",
++ "streamlabs",
++ "streamelements"
++ ]
++ },
++ "handle": {
++ "type": "string",
++ "maxLength": 200
++ }
++ },
++ "additionalProperties": false
++ }
}
}
},
@@@ -4200,6 +4234,46 @@
},
"updated_at": {
"type": "string"
++ },
++ "support_links": {
++ "type": "array",
++ "maxItems": 8,
++ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",
++ "items": {
++ "type": "object",
++ "required": [
++ "provider",
++ "label",
++ "handle",
++ "url"
++ ],
++ "properties": {
++ "provider": {
++ "enum": [
++ "kofi",
++ "paypal",
++ "patreon",
++ "buymeacoffee",
++ "cashapp",
++ "venmo",
++ "github",
++ "liberapay",
++ "opencollective",
++ "streamlabs",
++ "streamelements"
++ ]
++ },
++ "label": {
++ "type": "string"
++ },
++ "handle": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string"
++ }
++ }
++ }
}
}
},
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex 89f89338..ff959161 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.201.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 ef2d2add..37af3c78 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.201.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 8af0fc4e..0df8d8b8 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.201.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/watch.json b/generated/openapi/watch.json
iindex 5da56346..42e49e95 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.201.0",
-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.202.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 88f1b894..2f5184e9 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.201.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/work.json b/generated/openapi/work.json
iindex 7b418292..e8bb422c 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.201.0",
-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/zone.json b/generated/openapi/zone.json
iindex fd97dd6c..7705df8d 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.201.0",
-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.201.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.202.0",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.202.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/typescript/index.d.ts b/generated/typescript/index.d.ts
iindex 2230e0fe..4cea5027 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -140952,6 +140952,569 @@ export interface TipsProfileUpdateRequest {
* Creating a profile as a service: an https URL.
*/
avatar_url?: string | null;
++ /**
++ * Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).
++ *
++ * @maxItems 8
++ */
++ support_links?:
++ | []
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ handle: string;
++ }
++ ];
}
/** [email protected] (owner: tips) */
@@@ -141425,6 +141988,641 @@ export interface TipsProfile {
revision?: number;
created_at?: string;
updated_at?: string;
++ /**
++ * Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).
++ *
++ * @maxItems 8
++ */
++ support_links?:
++ | []
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ]
++ | [
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ },
++ {
++ provider:
++ | "kofi"
++ | "paypal"
++ | "patreon"
++ | "buymeacoffee"
++ | "cashapp"
++ | "venmo"
++ | "github"
++ | "liberapay"
++ | "opencollective"
++ | "streamlabs"
++ | "streamelements";
++ label: string;
++ handle: string;
++ url: string;
++ }
++ ];
}
/** [email protected] (owner: tips) */
ddiff --git a/package-lock.json b/package-lock.json
iindex 43a280ba..7ace3c1b 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-contracts",
-- "version": "0.201.0",
++ "version": "0.202.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-contracts",
-- "version": "0.201.0",
++ "version": "0.202.0",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex 0601054d..d77e271e 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.201.0",
++ "version": "0.202.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",