openvibers/openvibe.contracts Commits
Add Meme entry and render contracts (#374)
Changes
@@@ -1,5 +1,9 @@# Changelog++## 0.360.0 — 2026-11-09++++- Meme entry and render contracts++## 0.359.0 — 2026-11-09- Media multipart uploads in contracts and OpenAPI@@@ -10560,6 +10560,33 @@"compatibility": "backward","status": "active","adr": "ADR-001"++ },++ {++ "id": "meme.entry",++ "version": "1.0.0",++ "owner": "meme",++ "schema": "meme/entry.v1.json",++ "visibility": "public",++ "compatibility": "backward",++ "status": "active"++ },++ {++ "id": "meme.template",++ "version": "1.0.0",++ "owner": "meme",++ "schema": "meme/template.v1.json",++ "visibility": "public",++ "compatibility": "backward",++ "status": "active"++ },++ {++ "id": "meme.render",++ "version": "1.0.0",++ "owner": "meme",++ "schema": "meme/render.v1.json",++ "visibility": "public",++ "compatibility": "backward",++ "status": "active"}]}nnew file mode 100644@@@ -0,0 +1,35 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/meme/entry.v1.json",++ "title": "MemeEntry",++ "description": "meme.entry@1: a cited, public entry in the OpenVibe.Meme internet-meme encyclopedia, including its origin, timeline, variations, examples and related entries.",++ "type": "object",++ "required": ["id", "slug", "title", "scope", "kind", "status", "summary", "meaning", "usage", "first_seen_at", "last_seen_at", "visibility", "revision", "origin", "web_origin", "citations", "timeline", "spread", "variations", "examples", "related"],++ "properties": {++ "id": { "type": "string", "pattern": "^mem_[0-9A-HJKMNP-TV-Z]{26}$" },++ "slug": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 80 },++ "title": { "type": "string", "minLength": 1, "maxLength": 160 },++ "scope": { "const": "internet" },++ "kind": { "type": "string", "enum": ["classic", "format", "meme"] },++ "status": { "type": "string", "enum": ["rising", "peaked", "classic", "dead"] },++ "summary": { "type": ["string", "null"], "maxLength": 600 },++ "meaning": { "type": ["string", "null"], "maxLength": 4000 },++ "usage": { "type": ["string", "null"], "maxLength": 4000 },++ "labels": { "type": "array", "items": { "type": "string", "maxLength": 40 }, "maxItems": 20 },++ "first_seen_at": { "type": ["string", "null"], "format": "date-time" },++ "last_seen_at": { "type": ["string", "null"], "format": "date-time" },++ "visibility": { "const": "public" },++ "revision": { "type": "integer", "minimum": 1 },++ "origin": { "type": ["object", "null"] },++ "web_origin": { "type": ["object", "null"] },++ "citations": { "type": "array", "items": { "type": "object" }, "maxItems": 1000 },++ "timeline": { "type": "array", "items": { "type": "object" }, "maxItems": 1000 },++ "spread": { "type": "array", "items": { "type": "object" }, "maxItems": 100 },++ "variations": { "type": "array", "items": { "type": "object" }, "maxItems": 100 },++ "examples": { "type": "array", "items": { "type": "object" }, "maxItems": 100 },++ "related": { "type": "array", "items": { "type": "object" }, "maxItems": 30 },++ "revisions": { "type": "array", "items": { "type": "object" }, "maxItems": 200 },++ "url": { "type": "string", "format": "uri" }++ },++ "additionalProperties": true++}nnew file mode 100644@@@ -0,0 +1,29 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/meme/render.v1.json",++ "title": "MemeRenderRequest",++ "description": "meme.render@1: a request to render 1–4 caption lines over an approved template. PNG is the default; GIF and MP4 return short, looped exports. Editor positions and crop coordinates are percentages of the canvas.",++ "type": "object",++ "required": ["template_id", "lines"],++ "properties": {++ "template_id": { "type": "string", "minLength": 1, "maxLength": 80 },++ "lines": { "type": "array", "minItems": 1, "maxItems": 4, "items": { "type": "string", "maxLength": 120 } },++ "format": { "type": "string", "enum": ["png", "gif", "mp4"], "default": "png" },++ "editor": {++ "type": "object",++ "properties": {++ "font_style": { "type": "string", "enum": ["impact", "modern", "soft"] },++ "font_size": { "type": "integer", "minimum": 10, "maximum": 64 },++ "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },++ "outline": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },++ "outline_width": { "type": "integer", "minimum": 0, "maximum": 8 },++ "crop_x": { "type": "number", "minimum": 0, "maximum": 100 },++ "crop_y": { "type": "number", "minimum": 0, "maximum": 100 },++ "boxes": { "type": "array", "minItems": 1, "maxItems": 4, "items": { "type": "object", "required": ["x", "y", "w", "h"], "properties": { "x": { "type": "number", "minimum": 0, "maximum": 100 }, "y": { "type": "number", "minimum": 0, "maximum": 100 }, "w": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 }, "h": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 } }, "additionalProperties": false } },++ "stickers": { "type": "array", "maxItems": 8, "items": { "type": "object", "required": ["emoji", "x", "y"], "properties": { "emoji": { "type": "string", "enum": ["✨", "😂", "🔥", "💀", "👀", "❤️", "🙌"] }, "x": { "type": "number", "minimum": 0, "maximum": 100 }, "y": { "type": "number", "minimum": 0, "maximum": 100 } }, "additionalProperties": false } }++ },++ "additionalProperties": false++ }++ },++ "additionalProperties": false++}nnew file mode 100644@@@ -0,0 +1,24 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/meme/template.v1.json",++ "title": "MemeTemplate",++ "description": "meme.template@1: a reusable meme image with its source, reuse licence and caption layout. Public templates have passed any required review.",++ "type": "object",++ "required": ["id", "name", "image_url", "box_count", "source", "license", "created_at"],++ "properties": {++ "id": { "type": "string", "minLength": 1, "maxLength": 80 },++ "name": { "type": "string", "minLength": 1, "maxLength": 80 },++ "image_url": { "type": "string", "format": "uri-reference", "maxLength": 2048 },++ "box_count": { "type": "integer", "minimum": 1, "maximum": 8 },++ "source": { "type": "string", "maxLength": 160 },++ "license": { "type": "string", "maxLength": 200 },++ "credit": { "type": "string", "maxLength": 300 },++ "source_url": { "type": "string", "format": "uri", "maxLength": 2048 },++ "attribution": { "type": "string", "maxLength": 500 },++ "created_at": { "type": "string", "format": "date-time" },++ "layout": { "type": "object", "required": ["width", "height", "boxes"], "properties": { "width": { "type": "integer", "minimum": 64, "maximum": 4096 }, "height": { "type": "integer", "minimum": 64, "maximum": 4096 }, "boxes": { "type": "array", "minItems": 1, "maxItems": 8, "items": { "type": "object" } } }, "additionalProperties": true },++ "captions": { "type": "integer", "minimum": 0 },++ "uses_today": { "type": "integer", "minimum": 0 }++ },++ "additionalProperties": true++}nnew file mode 100644@@@ -0,0 +1,23 @@++{++ "id": "mem_01ARZ3NDEKTSV4RRFFQ69G5FAV",++ "slug": "Bad Slug",++ "title": "A meme",++ "scope": "internet",++ "kind": "meme",++ "status": "rising",++ "summary": null,++ "meaning": null,++ "usage": null,++ "first_seen_at": null,++ "last_seen_at": null,++ "visibility": "public",++ "revision": 1,++ "origin": null,++ "web_origin": null,++ "citations": [],++ "timeline": [],++ "spread": [],++ "variations": [],++ "examples": [],++ "related": []++}nnew file mode 100644@@@ -0,0 +1,26 @@++{++ "id": "mem_01ARZ3NDEKTSV4RRFFQ69G5FAV",++ "slug": "distracted-boyfriend",++ "title": "Distracted Boyfriend",++ "scope": "internet",++ "kind": "format",++ "status": "classic",++ "summary": "A person turns to look at something new while their partner reacts.",++ "meaning": "A template for comparing a tempting novelty with a familiar choice.",++ "usage": "Label the three roles to show a switch of attention.",++ "labels": ["reaction", "comparison"],++ "first_seen_at": "2017-08-21T00:00:00.000Z",++ "last_seen_at": "2026-11-08T00:00:00.000Z",++ "visibility": "public",++ "revision": 1,++ "origin": { "source": "photograph", "url": "https://example.org/origin", "title": "The photograph" },++ "web_origin": { "source": "photograph", "url": "https://example.org/origin", "title": "The photograph" },++ "citations": [],++ "timeline": [],++ "spread": [],++ "variations": [],++ "examples": [],++ "related": [],++ "revisions": [],++ "url": "https://openvibe.meme/m/distracted-boyfriend"++}nnew file mode 100644@@@ -0,0 +1,5 @@++{++ "template_id": "tpl_classic",++ "lines": [],++ "format": "png"++}nnew file mode 100644@@@ -0,0 +1,16 @@++{++ "template_id": "tpl_classic",++ "lines": ["Ship the fix", "then celebrate"],++ "format": "mp4",++ "editor": {++ "font_style": "impact",++ "font_size": 30,++ "color": "#ffffff",++ "outline": "#000000",++ "outline_width": 3,++ "crop_x": 50,++ "crop_y": 50,++ "boxes": [{ "x": 5, "y": 7, "w": 90, "h": 24 }, { "x": 5, "y": 68, "w": 90, "h": 24 }],++ "stickers": [{ "emoji": "🔥", "x": 52, "y": 54 }]++ }++}nnew file mode 100644@@@ -0,0 +1,8 @@++{++ "id": "tpl_example",++ "name": "Example",++ "box_count": 2,++ "source": "Commons",++ "license": "CC BY-SA",++ "created_at": "2026-11-08T00:00:00.000Z"++}nnew file mode 100644@@@ -0,0 +1,14 @@++{++ "id": "tpl_distracted-boyfriend",++ "name": "Distracted Boyfriend",++ "image_url": "https://openvibe.media/o/med_01ARZ3NDEKTSV4RRFFQ69G5FAV",++ "box_count": 3,++ "source": "Wikimedia Commons",++ "license": "CC BY-SA 4.0",++ "credit": "Photographer",++ "source_url": "https://commons.wikimedia.org/wiki/File:Example.jpg",++ "created_at": "2026-11-08T00:00:00.000Z",++ "layout": { "width": 440, "height": 280, "boxes": [{ "x": 4, "y": 5, "w": 90, "h": 20 }] },++ "captions": 10,++ "uses_today": 2++}@@@ -115481,6 +115481,457 @@}}}++ },++ "meme.entry": {++ "version": "1.0.0",++ "owner": "meme",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/meme/entry.v1.json",++ "title": "MemeEntry",++ "description": "meme.entry@1: a cited, public entry in the OpenVibe.Meme internet-meme encyclopedia, including its origin, timeline, variations, examples and related entries.",++ "type": "object",++ "required": [++ "id",++ "slug",++ "title",++ "scope",++ "kind",++ "status",++ "summary",++ "meaning",++ "usage",++ "first_seen_at",++ "last_seen_at",++ "visibility",++ "revision",++ "origin",++ "web_origin",++ "citations",++ "timeline",++ "spread",++ "variations",++ "examples",++ "related"++ ],++ "properties": {++ "id": {++ "type": "string",++ "pattern": "^mem_[0-9A-HJKMNP-TV-Z]{26}$"++ },++ "slug": {++ "type": "string",++ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",++ "maxLength": 80++ },++ "title": {++ "type": "string",++ "minLength": 1,++ "maxLength": 160++ },++ "scope": {++ "const": "internet"++ },++ "kind": {++ "type": "string",++ "enum": [++ "classic",++ "format",++ "meme"++ ]++ },++ "status": {++ "type": "string",++ "enum": [++ "rising",++ "peaked",++ "classic",++ "dead"++ ]++ },++ "summary": {++ "type": [++ "string",++ "null"++ ],++ "maxLength": 600++ },++ "meaning": {++ "type": [++ "string",++ "null"++ ],++ "maxLength": 4000++ },++ "usage": {++ "type": [++ "string",++ "null"++ ],++ "maxLength": 4000++ },++ "labels": {++ "type": "array",++ "items": {++ "type": "string",++ "maxLength": 40++ },++ "maxItems": 20++ },++ "first_seen_at": {++ "type": [++ "string",++ "null"++ ],++ "format": "date-time"++ },++ "last_seen_at": {++ "type": [++ "string",++ "null"++ ],++ "format": "date-time"++ },++ "visibility": {++ "const": "public"++ },++ "revision": {++ "type": "integer",++ "minimum": 1++ },++ "origin": {++ "type": [++ "object",++ "null"++ ]++ },++ "web_origin": {++ "type": [++ "object",++ "null"++ ]++ },++ "citations": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 1000++ },++ "timeline": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 1000++ },++ "spread": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 100++ },++ "variations": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 100++ },++ "examples": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 100++ },++ "related": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 30++ },++ "revisions": {++ "type": "array",++ "items": {++ "type": "object"++ },++ "maxItems": 200++ },++ "url": {++ "type": "string",++ "format": "uri"++ }++ },++ "additionalProperties": true++ }++ },++ "meme.template": {++ "version": "1.0.0",++ "owner": "meme",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/meme/template.v1.json",++ "title": "MemeTemplate",++ "description": "meme.template@1: a reusable meme image with its source, reuse licence and caption layout. Public templates have passed any required review.",++ "type": "object",++ "required": [++ "id",++ "name",++ "image_url",++ "box_count",++ "source",++ "license",++ "created_at"++ ],++ "properties": {++ "id": {++ "type": "string",++ "minLength": 1,++ "maxLength": 80++ },++ "name": {++ "type": "string",++ "minLength": 1,++ "maxLength": 80++ },++ "image_url": {++ "type": "string",++ "format": "uri-reference",++ "maxLength": 2048++ },++ "box_count": {++ "type": "integer",++ "minimum": 1,++ "maximum": 8++ },++ "source": {++ "type": "string",++ "maxLength": 160++ },++ "license": {++ "type": "string",++ "maxLength": 200++ },++ "credit": {++ "type": "string",++ "maxLength": 300++ },++ "source_url": {++ "type": "string",++ "format": "uri",++ "maxLength": 2048++ },++ "attribution": {++ "type": "string",++ "maxLength": 500++ },++ "created_at": {++ "type": "string",++ "format": "date-time"++ },++ "layout": {++ "type": "object",++ "required": [++ "width",++ "height",++ "boxes"++ ],++ "properties": {++ "width": {++ "type": "integer",++ "minimum": 64,++ "maximum": 4096++ },++ "height": {++ "type": "integer",++ "minimum": 64,++ "maximum": 4096++ },++ "boxes": {++ "type": "array",++ "minItems": 1,++ "maxItems": 8,++ "items": {++ "type": "object"++ }++ }++ },++ "additionalProperties": true++ },++ "captions": {++ "type": "integer",++ "minimum": 0++ },++ "uses_today": {++ "type": "integer",++ "minimum": 0++ }++ },++ "additionalProperties": true++ }++ },++ "meme.render": {++ "version": "1.0.0",++ "owner": "meme",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/meme/render.v1.json",++ "title": "MemeRenderRequest",++ "description": "meme.render@1: a request to render 1–4 caption lines over an approved template. PNG is the default; GIF and MP4 return short, looped exports. Editor positions and crop coordinates are percentages of the canvas.",++ "type": "object",++ "required": [++ "template_id",++ "lines"++ ],++ "properties": {++ "template_id": {++ "type": "string",++ "minLength": 1,++ "maxLength": 80++ },++ "lines": {++ "type": "array",++ "minItems": 1,++ "maxItems": 4,++ "items": {++ "type": "string",++ "maxLength": 120++ }++ },++ "format": {++ "type": "string",++ "enum": [++ "png",++ "gif",++ "mp4"++ ],++ "default": "png"++ },++ "editor": {++ "type": "object",++ "properties": {++ "font_style": {++ "type": "string",++ "enum": [++ "impact",++ "modern",++ "soft"++ ]++ },++ "font_size": {++ "type": "integer",++ "minimum": 10,++ "maximum": 64++ },++ "color": {++ "type": "string",++ "pattern": "^#[0-9a-fA-F]{6}$"++ },++ "outline": {++ "type": "string",++ "pattern": "^#[0-9a-fA-F]{6}$"++ },++ "outline_width": {++ "type": "integer",++ "minimum": 0,++ "maximum": 8++ },++ "crop_x": {++ "type": "number",++ "minimum": 0,++ "maximum": 100++ },++ "crop_y": {++ "type": "number",++ "minimum": 0,++ "maximum": 100++ },++ "boxes": {++ "type": "array",++ "minItems": 1,++ "maxItems": 4,++ "items": {++ "type": "object",++ "required": [++ "x",++ "y",++ "w",++ "h"++ ],++ "properties": {++ "x": {++ "type": "number",++ "minimum": 0,++ "maximum": 100++ },++ "y": {++ "type": "number",++ "minimum": 0,++ "maximum": 100++ },++ "w": {++ "type": "number",++ "exclusiveMinimum": 0,++ "maximum": 100++ },++ "h": {++ "type": "number",++ "exclusiveMinimum": 0,++ "maximum": 100++ }++ },++ "additionalProperties": false++ }++ },++ "stickers": {++ "type": "array",++ "maxItems": 8,++ "items": {++ "type": "object",++ "required": [++ "emoji",++ "x",++ "y"++ ],++ "properties": {++ "emoji": {++ "type": "string",++ "enum": [++ "✨",++ "😂",++ "🔥",++ "💀",++ "👀",++ "❤️",++ "🙌"++ ]++ },++ "x": {++ "type": "number",++ "minimum": 0,++ "maximum": 100++ },++ "y": {++ "type": "number",++ "minimum": 0,++ "maximum": 100++ }++ },++ "additionalProperties": false++ }++ }++ },++ "additionalProperties": false++ }++ },++ "additionalProperties": false++ }}}}@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Actor API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.AI API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bench API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Billing API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Blog API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bot API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Chat API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Codes API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Community API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe Connect API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Coupons API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Deals API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Design API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Domains API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Events API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Exchange API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Food API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Games API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Host API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Inventory API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Live API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Mail API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.MediaHub API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Media API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Network API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.News API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenRestream API",-- "version": "0.359.0",-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Play API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Quest API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Report API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Reviews API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Run API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Search API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Services API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Sources API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Space API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tips API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Today API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tools API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Trade API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.VIP API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Vision API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Watch API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Wiki API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Work API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Zone API",-- "version": "0.359.0",-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.360.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"@@@ -317981,3 +317981,526 @@ export interface ChatViewPreference {*/conversation_id?: string | number;}++++/** [email protected] (owner: meme) */++/**++ * meme.entry@1: a cited, public entry in the OpenVibe.Meme internet-meme encyclopedia, including its origin, timeline, variations, examples and related entries.++ */++export interface MemeEntry {++ id: string;++ slug: string;++ title: string;++ scope: "internet";++ kind: "classic" | "format" | "meme";++ status: "rising" | "peaked" | "classic" | "dead";++ summary: string | null;++ meaning: string | null;++ usage: string | null;++ /**++ * @maxItems 20++ */++ labels?:++ | []++ | [string]++ | [string, string]++ | [string, string, string]++ | [string, string, string, string]++ | [string, string, string, string, string]++ | [string, string, string, string, string, string]++ | [string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string, string, string, string, string, string]++ | [string, string, string, string, string, string, string, string, string, string, string, string, string, string]++ | [++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string++ ]++ | [++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string++ ]++ | [++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string++ ]++ | [++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string++ ]++ | [++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string++ ]++ | [++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string,++ string++ ];++ first_seen_at: string | null;++ last_seen_at: string | null;++ visibility: "public";++ revision: number;++ origin: {} | null;++ web_origin: {} | null;++ /**++ * @maxItems 1000++ */++ citations: {}[];++ /**++ * @maxItems 1000++ */++ timeline: {}[];++ /**++ * @maxItems 100++ */++ spread: {}[];++ /**++ * @maxItems 100++ */++ variations: {}[];++ /**++ * @maxItems 100++ */++ examples: {}[];++ /**++ * @maxItems 30++ */++ related: {}[];++ /**++ * @maxItems 200++ */++ revisions?: {}[];++ url?: string;++ [k: string]: unknown | undefined;++}++++/** [email protected] (owner: meme) */++/**++ * meme.template@1: a reusable meme image with its source, reuse licence and caption layout. Public templates have passed any required review.++ */++export interface MemeTemplate {++ id: string;++ name: string;++ image_url: string;++ box_count: number;++ source: string;++ license: string;++ credit?: string;++ source_url?: string;++ attribution?: string;++ created_at: string;++ layout?: {++ width: number;++ height: number;++ /**++ * @minItems 1++ * @maxItems 8++ */++ boxes:++ | [{}]++ | [{}, {}]++ | [{}, {}, {}]++ | [{}, {}, {}, {}]++ | [{}, {}, {}, {}, {}]++ | [{}, {}, {}, {}, {}, {}]++ | [{}, {}, {}, {}, {}, {}, {}]++ | [{}, {}, {}, {}, {}, {}, {}, {}];++ [k: string]: unknown | undefined;++ };++ captions?: number;++ uses_today?: number;++ [k: string]: unknown | undefined;++}++++/** [email protected] (owner: meme) */++/**++ * meme.render@1: a request to render 1–4 caption lines over an approved template. PNG is the default; GIF and MP4 return short, looped exports. Editor positions and crop coordinates are percentages of the canvas.++ */++export interface MemeRenderRequest {++ template_id: string;++ /**++ * @minItems 1++ * @maxItems 4++ */++ lines: [string] | [string, string] | [string, string, string] | [string, string, string, string];++ format?: "png" | "gif" | "mp4";++ editor?: {++ font_style?: "impact" | "modern" | "soft";++ font_size?: number;++ color?: string;++ outline?: string;++ outline_width?: number;++ crop_x?: number;++ crop_y?: number;++ /**++ * @minItems 1++ * @maxItems 4++ */++ boxes?:++ | [++ {++ x: number;++ y: number;++ w: number;++ h: number;++ }++ ]++ | [++ {++ x: number;++ y: number;++ w: number;++ h: number;++ },++ {++ x: number;++ y: number;++ w: number;++ h: number;++ }++ ]++ | [++ {++ x: number;++ y: number;++ w: number;++ h: number;++ },++ {++ x: number;++ y: number;++ w: number;++ h: number;++ },++ {++ x: number;++ y: number;++ w: number;++ h: number;++ }++ ]++ | [++ {++ x: number;++ y: number;++ w: number;++ h: number;++ },++ {++ x: number;++ y: number;++ w: number;++ h: number;++ },++ {++ x: number;++ y: number;++ w: number;++ h: number;++ },++ {++ x: number;++ y: number;++ w: number;++ h: number;++ }++ ];++ /**++ * @maxItems 8++ */++ stickers?:++ | []++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ]++ | [++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ },++ {++ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";++ x: number;++ y: number;++ }++ ];++ };++}@@@ -1,12 +1,12 @@{"name": "openvibe-contracts",-- "version": "0.359.0",++ "version": "0.360.0","lockfileVersion": 3,"requires": true,"packages": {"": {"name": "openvibe-contracts",-- "version": "0.359.0",++ "version": "0.360.0","license": "AGPL-3.0-only","dependencies": {"ajv": "^8.17.1",@@@ -1,6 +1,6 @@{"name": "openvibe-contracts",-- "version": "0.359.0",++ "version": "0.360.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",
@@ -1,5 +1,9 @@
@@ -1,5 +1,9 @@
# Changelog
# Changelog
+## 0.360.0 — 2026-11-09
+
+- Meme entry and render contracts
+
## 0.359.0 — 2026-11-09
## 0.359.0 — 2026-11-09
- Media multipart uploads in contracts and OpenAPI
- Media multipart uploads in contracts and OpenAPI
@@ -10560,6 +10560,33 @@
@@ -10560,6 +10560,33 @@
"compatibility": "backward",
"compatibility": "backward",
"status": "active",
"status": "active",
"adr": "ADR-001"
"adr": "ADR-001"
+ },
+ {
+ "id": "meme.entry",
+ "version": "1.0.0",
+ "owner": "meme",
+ "schema": "meme/entry.v1.json",
+ "visibility": "public",
+ "compatibility": "backward",
+ "status": "active"
+ },
+ {
+ "id": "meme.template",
+ "version": "1.0.0",
+ "owner": "meme",
+ "schema": "meme/template.v1.json",
+ "visibility": "public",
+ "compatibility": "backward",
+ "status": "active"
+ },
+ {
+ "id": "meme.render",
+ "version": "1.0.0",
+ "owner": "meme",
+ "schema": "meme/render.v1.json",
+ "visibility": "public",
+ "compatibility": "backward",
+ "status": "active"
}
}
]
]
}
}
new file mode 100644
new file mode 100644
@@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/meme/entry.v1.json",
+ "title": "MemeEntry",
+ "description": "meme.entry@1: a cited, public entry in the OpenVibe.Meme internet-meme encyclopedia, including its origin, timeline, variations, examples and related entries.",
+ "type": "object",
+ "required": ["id", "slug", "title", "scope", "kind", "status", "summary", "meaning", "usage", "first_seen_at", "last_seen_at", "visibility", "revision", "origin", "web_origin", "citations", "timeline", "spread", "variations", "examples", "related"],
+ "properties": {
+ "id": { "type": "string", "pattern": "^mem_[0-9A-HJKMNP-TV-Z]{26}$" },
+ "slug": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 80 },
+ "title": { "type": "string", "minLength": 1, "maxLength": 160 },
+ "scope": { "const": "internet" },
+ "kind": { "type": "string", "enum": ["classic", "format", "meme"] },
+ "status": { "type": "string", "enum": ["rising", "peaked", "classic", "dead"] },
+ "summary": { "type": ["string", "null"], "maxLength": 600 },
+ "meaning": { "type": ["string", "null"], "maxLength": 4000 },
+ "usage": { "type": ["string", "null"], "maxLength": 4000 },
+ "labels": { "type": "array", "items": { "type": "string", "maxLength": 40 }, "maxItems": 20 },
+ "first_seen_at": { "type": ["string", "null"], "format": "date-time" },
+ "last_seen_at": { "type": ["string", "null"], "format": "date-time" },
+ "visibility": { "const": "public" },
+ "revision": { "type": "integer", "minimum": 1 },
+ "origin": { "type": ["object", "null"] },
+ "web_origin": { "type": ["object", "null"] },
+ "citations": { "type": "array", "items": { "type": "object" }, "maxItems": 1000 },
+ "timeline": { "type": "array", "items": { "type": "object" }, "maxItems": 1000 },
+ "spread": { "type": "array", "items": { "type": "object" }, "maxItems": 100 },
+ "variations": { "type": "array", "items": { "type": "object" }, "maxItems": 100 },
+ "examples": { "type": "array", "items": { "type": "object" }, "maxItems": 100 },
+ "related": { "type": "array", "items": { "type": "object" }, "maxItems": 30 },
+ "revisions": { "type": "array", "items": { "type": "object" }, "maxItems": 200 },
+ "url": { "type": "string", "format": "uri" }
+ },
+ "additionalProperties": true
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/meme/render.v1.json",
+ "title": "MemeRenderRequest",
+ "description": "meme.render@1: a request to render 1–4 caption lines over an approved template. PNG is the default; GIF and MP4 return short, looped exports. Editor positions and crop coordinates are percentages of the canvas.",
+ "type": "object",
+ "required": ["template_id", "lines"],
+ "properties": {
+ "template_id": { "type": "string", "minLength": 1, "maxLength": 80 },
+ "lines": { "type": "array", "minItems": 1, "maxItems": 4, "items": { "type": "string", "maxLength": 120 } },
+ "format": { "type": "string", "enum": ["png", "gif", "mp4"], "default": "png" },
+ "editor": {
+ "type": "object",
+ "properties": {
+ "font_style": { "type": "string", "enum": ["impact", "modern", "soft"] },
+ "font_size": { "type": "integer", "minimum": 10, "maximum": 64 },
+ "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
+ "outline": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
+ "outline_width": { "type": "integer", "minimum": 0, "maximum": 8 },
+ "crop_x": { "type": "number", "minimum": 0, "maximum": 100 },
+ "crop_y": { "type": "number", "minimum": 0, "maximum": 100 },
+ "boxes": { "type": "array", "minItems": 1, "maxItems": 4, "items": { "type": "object", "required": ["x", "y", "w", "h"], "properties": { "x": { "type": "number", "minimum": 0, "maximum": 100 }, "y": { "type": "number", "minimum": 0, "maximum": 100 }, "w": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 }, "h": { "type": "number", "exclusiveMinimum": 0, "maximum": 100 } }, "additionalProperties": false } },
+ "stickers": { "type": "array", "maxItems": 8, "items": { "type": "object", "required": ["emoji", "x", "y"], "properties": { "emoji": { "type": "string", "enum": ["✨", "😂", "🔥", "💀", "👀", "❤️", "🙌"] }, "x": { "type": "number", "minimum": 0, "maximum": 100 }, "y": { "type": "number", "minimum": 0, "maximum": 100 } }, "additionalProperties": false } }
+ },
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/meme/template.v1.json",
+ "title": "MemeTemplate",
+ "description": "meme.template@1: a reusable meme image with its source, reuse licence and caption layout. Public templates have passed any required review.",
+ "type": "object",
+ "required": ["id", "name", "image_url", "box_count", "source", "license", "created_at"],
+ "properties": {
+ "id": { "type": "string", "minLength": 1, "maxLength": 80 },
+ "name": { "type": "string", "minLength": 1, "maxLength": 80 },
+ "image_url": { "type": "string", "format": "uri-reference", "maxLength": 2048 },
+ "box_count": { "type": "integer", "minimum": 1, "maximum": 8 },
+ "source": { "type": "string", "maxLength": 160 },
+ "license": { "type": "string", "maxLength": 200 },
+ "credit": { "type": "string", "maxLength": 300 },
+ "source_url": { "type": "string", "format": "uri", "maxLength": 2048 },
+ "attribution": { "type": "string", "maxLength": 500 },
+ "created_at": { "type": "string", "format": "date-time" },
+ "layout": { "type": "object", "required": ["width", "height", "boxes"], "properties": { "width": { "type": "integer", "minimum": 64, "maximum": 4096 }, "height": { "type": "integer", "minimum": 64, "maximum": 4096 }, "boxes": { "type": "array", "minItems": 1, "maxItems": 8, "items": { "type": "object" } } }, "additionalProperties": true },
+ "captions": { "type": "integer", "minimum": 0 },
+ "uses_today": { "type": "integer", "minimum": 0 }
+ },
+ "additionalProperties": true
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
+{
+ "id": "mem_01ARZ3NDEKTSV4RRFFQ69G5FAV",
+ "slug": "Bad Slug",
+ "title": "A meme",
+ "scope": "internet",
+ "kind": "meme",
+ "status": "rising",
+ "summary": null,
+ "meaning": null,
+ "usage": null,
+ "first_seen_at": null,
+ "last_seen_at": null,
+ "visibility": "public",
+ "revision": 1,
+ "origin": null,
+ "web_origin": null,
+ "citations": [],
+ "timeline": [],
+ "spread": [],
+ "variations": [],
+ "examples": [],
+ "related": []
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
+{
+ "id": "mem_01ARZ3NDEKTSV4RRFFQ69G5FAV",
+ "slug": "distracted-boyfriend",
+ "title": "Distracted Boyfriend",
+ "scope": "internet",
+ "kind": "format",
+ "status": "classic",
+ "summary": "A person turns to look at something new while their partner reacts.",
+ "meaning": "A template for comparing a tempting novelty with a familiar choice.",
+ "usage": "Label the three roles to show a switch of attention.",
+ "labels": ["reaction", "comparison"],
+ "first_seen_at": "2017-08-21T00:00:00.000Z",
+ "last_seen_at": "2026-11-08T00:00:00.000Z",
+ "visibility": "public",
+ "revision": 1,
+ "origin": { "source": "photograph", "url": "https://example.org/origin", "title": "The photograph" },
+ "web_origin": { "source": "photograph", "url": "https://example.org/origin", "title": "The photograph" },
+ "citations": [],
+ "timeline": [],
+ "spread": [],
+ "variations": [],
+ "examples": [],
+ "related": [],
+ "revisions": [],
+ "url": "https://openvibe.meme/m/distracted-boyfriend"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
+{
+ "template_id": "tpl_classic",
+ "lines": [],
+ "format": "png"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
+{
+ "template_id": "tpl_classic",
+ "lines": ["Ship the fix", "then celebrate"],
+ "format": "mp4",
+ "editor": {
+ "font_style": "impact",
+ "font_size": 30,
+ "color": "#ffffff",
+ "outline": "#000000",
+ "outline_width": 3,
+ "crop_x": 50,
+ "crop_y": 50,
+ "boxes": [{ "x": 5, "y": 7, "w": 90, "h": 24 }, { "x": 5, "y": 68, "w": 90, "h": 24 }],
+ "stickers": [{ "emoji": "🔥", "x": 52, "y": 54 }]
+ }
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
+{
+ "id": "tpl_example",
+ "name": "Example",
+ "box_count": 2,
+ "source": "Commons",
+ "license": "CC BY-SA",
+ "created_at": "2026-11-08T00:00:00.000Z"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
+{
+ "id": "tpl_distracted-boyfriend",
+ "name": "Distracted Boyfriend",
+ "image_url": "https://openvibe.media/o/med_01ARZ3NDEKTSV4RRFFQ69G5FAV",
+ "box_count": 3,
+ "source": "Wikimedia Commons",
+ "license": "CC BY-SA 4.0",
+ "credit": "Photographer",
+ "source_url": "https://commons.wikimedia.org/wiki/File:Example.jpg",
+ "created_at": "2026-11-08T00:00:00.000Z",
+ "layout": { "width": 440, "height": 280, "boxes": [{ "x": 4, "y": 5, "w": 90, "h": 20 }] },
+ "captions": 10,
+ "uses_today": 2
+}
@@ -115481,6 +115481,457 @@
@@ -115481,6 +115481,457 @@
}
}
}
}
}
}
+ },
+ "meme.entry": {
+ "version": "1.0.0",
+ "owner": "meme",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/meme/entry.v1.json",
+ "title": "MemeEntry",
+ "description": "meme.entry@1: a cited, public entry in the OpenVibe.Meme internet-meme encyclopedia, including its origin, timeline, variations, examples and related entries.",
+ "type": "object",
+ "required": [
+ "id",
+ "slug",
+ "title",
+ "scope",
+ "kind",
+ "status",
+ "summary",
+ "meaning",
+ "usage",
+ "first_seen_at",
+ "last_seen_at",
+ "visibility",
+ "revision",
+ "origin",
+ "web_origin",
+ "citations",
+ "timeline",
+ "spread",
+ "variations",
+ "examples",
+ "related"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^mem_[0-9A-HJKMNP-TV-Z]{26}$"
+ },
+ "slug": {
+ "type": "string",
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
+ "maxLength": 80
+ },
+ "title": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 160
+ },
+ "scope": {
+ "const": "internet"
+ },
+ "kind": {
+ "type": "string",
+ "enum": [
+ "classic",
+ "format",
+ "meme"
+ ]
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "rising",
+ "peaked",
+ "classic",
+ "dead"
+ ]
+ },
+ "summary": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 600
+ },
+ "meaning": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 4000
+ },
+ "usage": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "maxLength": 4000
+ },
+ "labels": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 40
+ },
+ "maxItems": 20
+ },
+ "first_seen_at": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "last_seen_at": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "format": "date-time"
+ },
+ "visibility": {
+ "const": "public"
+ },
+ "revision": {
+ "type": "integer",
+ "minimum": 1
+ },
+ "origin": {
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "web_origin": {
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "citations": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 1000
+ },
+ "timeline": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 1000
+ },
+ "spread": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 100
+ },
+ "variations": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 100
+ },
+ "examples": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 100
+ },
+ "related": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 30
+ },
+ "revisions": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "maxItems": 200
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "additionalProperties": true
+ }
+ },
+ "meme.template": {
+ "version": "1.0.0",
+ "owner": "meme",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/meme/template.v1.json",
+ "title": "MemeTemplate",
+ "description": "meme.template@1: a reusable meme image with its source, reuse licence and caption layout. Public templates have passed any required review.",
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "image_url",
+ "box_count",
+ "source",
+ "license",
+ "created_at"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80
+ },
+ "image_url": {
+ "type": "string",
+ "format": "uri-reference",
+ "maxLength": 2048
+ },
+ "box_count": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 8
+ },
+ "source": {
+ "type": "string",
+ "maxLength": 160
+ },
+ "license": {
+ "type": "string",
+ "maxLength": 200
+ },
+ "credit": {
+ "type": "string",
+ "maxLength": 300
+ },
+ "source_url": {
+ "type": "string",
+ "format": "uri",
+ "maxLength": 2048
+ },
+ "attribution": {
+ "type": "string",
+ "maxLength": 500
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "layout": {
+ "type": "object",
+ "required": [
+ "width",
+ "height",
+ "boxes"
+ ],
+ "properties": {
+ "width": {
+ "type": "integer",
+ "minimum": 64,
+ "maximum": 4096
+ },
+ "height": {
+ "type": "integer",
+ "minimum": 64,
+ "maximum": 4096
+ },
+ "boxes": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 8,
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "additionalProperties": true
+ },
+ "captions": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "uses_today": {
+ "type": "integer",
+ "minimum": 0
+ }
+ },
+ "additionalProperties": true
+ }
+ },
+ "meme.render": {
+ "version": "1.0.0",
+ "owner": "meme",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/meme/render.v1.json",
+ "title": "MemeRenderRequest",
+ "description": "meme.render@1: a request to render 1–4 caption lines over an approved template. PNG is the default; GIF and MP4 return short, looped exports. Editor positions and crop coordinates are percentages of the canvas.",
+ "type": "object",
+ "required": [
+ "template_id",
+ "lines"
+ ],
+ "properties": {
+ "template_id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 80
+ },
+ "lines": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 4,
+ "items": {
+ "type": "string",
+ "maxLength": 120
+ }
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "png",
+ "gif",
+ "mp4"
+ ],
+ "default": "png"
+ },
+ "editor": {
+ "type": "object",
+ "properties": {
+ "font_style": {
+ "type": "string",
+ "enum": [
+ "impact",
+ "modern",
+ "soft"
+ ]
+ },
+ "font_size": {
+ "type": "integer",
+ "minimum": 10,
+ "maximum": 64
+ },
+ "color": {
+ "type": "string",
+ "pattern": "^#[0-9a-fA-F]{6}$"
+ },
+ "outline": {
+ "type": "string",
+ "pattern": "^#[0-9a-fA-F]{6}$"
+ },
+ "outline_width": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 8
+ },
+ "crop_x": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "crop_y": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "boxes": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 4,
+ "items": {
+ "type": "object",
+ "required": [
+ "x",
+ "y",
+ "w",
+ "h"
+ ],
+ "properties": {
+ "x": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "y": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "w": {
+ "type": "number",
+ "exclusiveMinimum": 0,
+ "maximum": 100
+ },
+ "h": {
+ "type": "number",
+ "exclusiveMinimum": 0,
+ "maximum": 100
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "stickers": {
+ "type": "array",
+ "maxItems": 8,
+ "items": {
+ "type": "object",
+ "required": [
+ "emoji",
+ "x",
+ "y"
+ ],
+ "properties": {
+ "emoji": {
+ "type": "string",
+ "enum": [
+ "✨",
+ "😂",
+ "🔥",
+ "💀",
+ "👀",
+ "❤️",
+ "🙌"
+ ]
+ },
+ "x": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "y": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false
+ }
}
}
}
}
}
}
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Actor API",
"title": "OpenVibe.Actor API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.AI API",
"title": "OpenVibe.AI API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bench API",
"title": "OpenVibe.Bench API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Billing API",
"title": "OpenVibe.Billing API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Blog API",
"title": "OpenVibe.Blog API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bot API",
"title": "OpenVibe.Bot API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Chat API",
"title": "OpenVibe.Chat API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Codes API",
"title": "OpenVibe.Codes API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Community API",
"title": "OpenVibe.Community API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe Connect API",
"title": "OpenVibe Connect API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Coupons API",
"title": "OpenVibe.Coupons API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Deals API",
"title": "OpenVibe.Deals API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Design API",
"title": "OpenVibe.Design API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Domains API",
"title": "OpenVibe.Domains API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Events API",
"title": "OpenVibe.Events API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Exchange API",
"title": "OpenVibe.Exchange API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Food API",
"title": "OpenVibe.Food API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Games API",
"title": "OpenVibe.Games API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Host API",
"title": "OpenVibe.Host API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Inventory API",
"title": "OpenVibe.Inventory API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Live API",
"title": "OpenVibe.Live API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Mail API",
"title": "OpenVibe.Mail API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.MediaHub API",
"title": "OpenVibe.MediaHub API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Media API",
"title": "OpenVibe.Media API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Network API",
"title": "OpenVibe.Network API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.News API",
"title": "OpenVibe.News API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenRestream API",
"title": "OpenRestream API",
- "version": "0.359.0",
- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Play API",
"title": "OpenVibe.Play API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Quest API",
"title": "OpenVibe.Quest API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Report API",
"title": "OpenVibe.Report API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Reviews API",
"title": "OpenVibe.Reviews API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Run API",
"title": "OpenVibe.Run API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Search API",
"title": "OpenVibe.Search API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Services API",
"title": "OpenVibe.Services API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Sources API",
"title": "OpenVibe.Sources API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Space API",
"title": "OpenVibe.Space API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tips API",
"title": "OpenVibe.Tips API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Today API",
"title": "OpenVibe.Today API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tools API",
"title": "OpenVibe.Tools API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Trade API",
"title": "OpenVibe.Trade API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.VIP API",
"title": "OpenVibe.VIP API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Vision API",
"title": "OpenVibe.Vision API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Watch API",
"title": "OpenVibe.Watch API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Wiki API",
"title": "OpenVibe.Wiki API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Work API",
"title": "OpenVibe.Work API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Zone API",
"title": "OpenVibe.Zone API",
- "version": "0.359.0",
- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.359.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.360.0",
+ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.360.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": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -317981,3 +317981,526 @@ export interface ChatViewPreference {
@@ -317981,3 +317981,526 @@ export interface ChatViewPreference {
*/
*/
conversation_id?: string | number;
conversation_id?: string | number;
}
}
+
+/** [email protected] (owner: meme) */
+/**
+ * meme.entry@1: a cited, public entry in the OpenVibe.Meme internet-meme encyclopedia, including its origin, timeline, variations, examples and related entries.
+ */
+export interface MemeEntry {
+ id: string;
+ slug: string;
+ title: string;
+ scope: "internet";
+ kind: "classic" | "format" | "meme";
+ status: "rising" | "peaked" | "classic" | "dead";
+ summary: string | null;
+ meaning: string | null;
+ usage: string | null;
+ /**
+ * @maxItems 20
+ */
+ labels?:
+ | []
+ | [string]
+ | [string, string]
+ | [string, string, string]
+ | [string, string, string, string]
+ | [string, string, string, string, string]
+ | [string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string, string, string, string, string, string]
+ | [string, string, string, string, string, string, string, string, string, string, string, string, string, string]
+ | [
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string
+ ]
+ | [
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string
+ ]
+ | [
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string
+ ]
+ | [
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string
+ ]
+ | [
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string
+ ]
+ | [
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string,
+ string
+ ];
+ first_seen_at: string | null;
+ last_seen_at: string | null;
+ visibility: "public";
+ revision: number;
+ origin: {} | null;
+ web_origin: {} | null;
+ /**
+ * @maxItems 1000
+ */
+ citations: {}[];
+ /**
+ * @maxItems 1000
+ */
+ timeline: {}[];
+ /**
+ * @maxItems 100
+ */
+ spread: {}[];
+ /**
+ * @maxItems 100
+ */
+ variations: {}[];
+ /**
+ * @maxItems 100
+ */
+ examples: {}[];
+ /**
+ * @maxItems 30
+ */
+ related: {}[];
+ /**
+ * @maxItems 200
+ */
+ revisions?: {}[];
+ url?: string;
+ [k: string]: unknown | undefined;
+}
+
+/** [email protected] (owner: meme) */
+/**
+ * meme.template@1: a reusable meme image with its source, reuse licence and caption layout. Public templates have passed any required review.
+ */
+export interface MemeTemplate {
+ id: string;
+ name: string;
+ image_url: string;
+ box_count: number;
+ source: string;
+ license: string;
+ credit?: string;
+ source_url?: string;
+ attribution?: string;
+ created_at: string;
+ layout?: {
+ width: number;
+ height: number;
+ /**
+ * @minItems 1
+ * @maxItems 8
+ */
+ boxes:
+ | [{}]
+ | [{}, {}]
+ | [{}, {}, {}]
+ | [{}, {}, {}, {}]
+ | [{}, {}, {}, {}, {}]
+ | [{}, {}, {}, {}, {}, {}]
+ | [{}, {}, {}, {}, {}, {}, {}]
+ | [{}, {}, {}, {}, {}, {}, {}, {}];
+ [k: string]: unknown | undefined;
+ };
+ captions?: number;
+ uses_today?: number;
+ [k: string]: unknown | undefined;
+}
+
+/** [email protected] (owner: meme) */
+/**
+ * meme.render@1: a request to render 1–4 caption lines over an approved template. PNG is the default; GIF and MP4 return short, looped exports. Editor positions and crop coordinates are percentages of the canvas.
+ */
+export interface MemeRenderRequest {
+ template_id: string;
+ /**
+ * @minItems 1
+ * @maxItems 4
+ */
+ lines: [string] | [string, string] | [string, string, string] | [string, string, string, string];
+ format?: "png" | "gif" | "mp4";
+ editor?: {
+ font_style?: "impact" | "modern" | "soft";
+ font_size?: number;
+ color?: string;
+ outline?: string;
+ outline_width?: number;
+ crop_x?: number;
+ crop_y?: number;
+ /**
+ * @minItems 1
+ * @maxItems 4
+ */
+ boxes?:
+ | [
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ }
+ ]
+ | [
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ },
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ }
+ ]
+ | [
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ },
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ },
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ }
+ ]
+ | [
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ },
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ },
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ },
+ {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+ }
+ ];
+ /**
+ * @maxItems 8
+ */
+ stickers?:
+ | []
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ]
+ | [
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ },
+ {
+ emoji: "✨" | "😂" | "🔥" | "💀" | "👀" | "❤️" | "🙌";
+ x: number;
+ y: number;
+ }
+ ];
+ };
+}
@@ -1,12 +1,12 @@
@@ -1,12 +1,12 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.359.0",
+ "version": "0.360.0",
"lockfileVersion": 3,
"lockfileVersion": 3,
"requires": true,
"requires": true,
"packages": {
"packages": {
"": {
"": {
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.359.0",
+ "version": "0.360.0",
"license": "AGPL-3.0-only",
"license": "AGPL-3.0-only",
"dependencies": {
"dependencies": {
"ajv": "^8.17.1",
"ajv": "^8.17.1",
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.359.0",
+ "version": "0.360.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"main": "index.js",
"types": "generated/typescript/index.d.ts",
"types": "generated/typescript/index.d.ts",