openvibers/openvibe.contracts Commits
chat.room-insight-result@1: one read shape for a room's AI insight (#410)
Changes
@@@ -1,5 +1,9 @@# Changelog++## 0.394.0 — 2026-11-10++++- Add `chat.room-insight-result@1` (`contracts/chat/room-insight-result.v1.json`): the public answer of `GET /api/v1/rooms/:id/insight` on OpenVibe.Chat. One shape for every room: `overview` (the text written for someone arriving now, its topics with message counts, how many people and messages the window held, its from/to times and when it was written), `timeline` (the room's notable moments, newest first, each with `at`, `kind`, `title`, `text` and the `message_id` it came from), and `state` (`ready` / `quiet` / `off`). Quiet is explicit: an old or empty summary carries no text rather than invented news. The overview reads only people who allowed AI use of their messages (`network.consent@1`, purpose `ai.train` on kind `chat`).++## 0.393.0 — 2026-11-10- `billing.money-reason@1`: declare `donation:received`, the row a creator sees for a tip that arrived ("for a tip from @alice"). The kind list is one list; the sender's `donation` still reads "for a tip to @bob".@@@ -5691,6 +5691,15 @@"compatibility": "backward","status": "active"},++ {++ "id": "chat.room-insight-result",++ "version": "1.0.0",++ "owner": "chat",++ "schema": "chat/room-insight-result.v1.json",++ "visibility": "public",++ "compatibility": "backward",++ "status": "active"++ },{"id": "chat.first-chat-result","version": "1.0.0",nnew file mode 100644@@@ -0,0 +1,106 @@++{++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/chat/room-insight-result.v1.json",++ "title": "ChatRoomInsightResult",++ "description": "chat.room-insight-result@1: the answer of GET /api/v1/rooms/:id/insight on OpenVibe.Chat, public (no account, as the room itself is readable). One shape for every room: Global (id `global`) first, then a server's channels and the rooms people make. The overview is the summary OpenVibe.Chat's chat-AI job keeps (the same schedule, window and budget rules as Live's, only when there were new messages); it reads only the messages of people who allowed AI use of them (network.consent@1, purpose ai.train on kind chat), so an overview never quotes someone who did not. state is `ready` when the overview is fresh, `quiet` when there is nothing new to say (text and topics empty, the timeline keeps history), and `off` when the room's owner has not turned the insight on (private rooms; never a DM). A room the rollout does not cover answers 404. Timestamps are Chat's UTC `YYYY-MM-DD HH:MM:SS` (ov_now()), or null.",++ "type": "object",++ "additionalProperties": false,++ "required": ["overview", "timeline", "state"],++ "properties": {++ "overview": {++ "type": "object",++ "additionalProperties": false,++ "required": ["text", "topics", "people", "messages", "from", "to", "updated_at"],++ "properties": {++ "text": {++ "type": "string",++ "maxLength": 2000,++ "description": "The overview written for someone arriving now, in plain prose; empty when state is quiet or off."++ },++ "topics": {++ "type": "array",++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": false,++ "required": ["label", "count"],++ "properties": {++ "label": {++ "type": "string",++ "minLength": 1,++ "maxLength": 60++ },++ "count": {++ "type": "integer",++ "minimum": 1,++ "description": "How many messages of the window mentioned the topic."++ }++ }++ },++ "description": "The words the window kept coming back to, most mentioned first. Empty when state is quiet or off."++ },++ "people": {++ "type": "integer",++ "minimum": 0,++ "description": "How many different people wrote in the window the overview reads."++ },++ "messages": {++ "type": "integer",++ "minimum": 0,++ "description": "How many messages the window held (the ones the summariser was allowed to read)."++ },++ "from": {++ "type": ["string", "null"],++ "description": "The window's first message time."++ },++ "to": {++ "type": ["string", "null"],++ "description": "The window's last time, which is when the job last looked."++ },++ "updated_at": {++ "type": ["string", "null"],++ "description": "When the overview row was last written."++ }++ }++ },++ "timeline": {++ "type": "array",++ "maxItems": 60,++ "items": {++ "type": "object",++ "additionalProperties": false,++ "required": ["at", "kind", "title", "text", "message_id"],++ "properties": {++ "at": {++ "type": "string",++ "description": "When it happened, Chat's UTC `YYYY-MM-DD HH:MM:SS`."++ },++ "kind": {++ "type": "string",++ "maxLength": 20,++ "description": "What kind of moment: `moment` for a notable thing the summariser recorded, `event` for a non-chat activity (a donation, a clip), `message` for a line it picked out."++ },++ "title": {++ "type": "string",++ "minLength": 1,++ "maxLength": 140++ },++ "text": {++ "type": "string",++ "maxLength": 400++ },++ "message_id": {++ "type": ["integer", "null"],++ "minimum": 1,++ "description": "The message it came from, when it is one message; null for a summary of several."++ }++ }++ },++ "description": "The room's notable moments, newest first. History survives a quiet window."++ },++ "state": {++ "enum": ["ready", "quiet", "off"],++ "description": "ready: the overview above is fresh. quiet: nothing new to say; said as quiet, never invented. off: the room's owner has not turned insight on."++ }++ }++}nnew file mode 100644@@@ -0,0 +1,13 @@++{++ "overview": {++ "text": "A room whose state is not one of the three.",++ "topics": [],++ "people": 1,++ "messages": 1,++ "from": null,++ "to": null,++ "updated_at": null++ },++ "timeline": [],++ "state": "busy"++}nnew file mode 100644@@@ -0,0 +1,12 @@++{++ "overview": {++ "text": "An overview without its timeline.",++ "topics": [],++ "people": 0,++ "messages": 0,++ "from": null,++ "to": null,++ "updated_at": null++ },++ "state": "ready"++}nnew file mode 100644@@@ -0,0 +1,13 @@++{++ "overview": {++ "text": "",++ "topics": [],++ "people": 0,++ "messages": 0,++ "from": null,++ "to": null,++ "updated_at": null++ },++ "timeline": [],++ "state": "quiet"++}nnew file mode 100644@@@ -0,0 +1,31 @@++{++ "overview": {++ "text": "People are planning the Friday stream and comparing two capture cards. Someone asked for the clip of the ending, and the room voted for a Saturday replay.",++ "topics": [++ { "label": "capture card", "count": 7 },++ { "label": "friday stream", "count": 4 }++ ],++ "people": 9,++ "messages": 42,++ "from": "2026-11-10 08:10:00",++ "to": "2026-11-10 09:45:00",++ "updated_at": "2026-11-10 09:45:03"++ },++ "timeline": [++ {++ "at": "2026-11-10 09:40:12",++ "kind": "moment",++ "title": "The Saturday replay",++ "text": "The room agreed on a replay at the weekend.",++ "message_id": 90214++ },++ {++ "at": "2026-11-10 09:12:44",++ "kind": "event",++ "title": "A donation came in",++ "text": "goosely gave 500 OpenCoins for the capture card fund.",++ "message_id": null++ }++ ],++ "state": "ready"++}@@@ -63315,6 +63315,154 @@]}},++ "chat.room-insight-result": {++ "version": "1.0.0",++ "owner": "chat",++ "status": "active",++ "schema": {++ "$schema": "https://json-schema.org/draft/2020-12/schema",++ "$id": "https://openvibe.network/contracts/chat/room-insight-result.v1.json",++ "title": "ChatRoomInsightResult",++ "description": "chat.room-insight-result@1: the answer of GET /api/v1/rooms/:id/insight on OpenVibe.Chat, public (no account, as the room itself is readable). One shape for every room: Global (id `global`) first, then a server's channels and the rooms people make. The overview is the summary OpenVibe.Chat's chat-AI job keeps (the same schedule, window and budget rules as Live's, only when there were new messages); it reads only the messages of people who allowed AI use of them (network.consent@1, purpose ai.train on kind chat), so an overview never quotes someone who did not. state is `ready` when the overview is fresh, `quiet` when there is nothing new to say (text and topics empty, the timeline keeps history), and `off` when the room's owner has not turned the insight on (private rooms; never a DM). A room the rollout does not cover answers 404. Timestamps are Chat's UTC `YYYY-MM-DD HH:MM:SS` (ov_now()), or null.",++ "type": "object",++ "additionalProperties": false,++ "required": [++ "overview",++ "timeline",++ "state"++ ],++ "properties": {++ "overview": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "text",++ "topics",++ "people",++ "messages",++ "from",++ "to",++ "updated_at"++ ],++ "properties": {++ "text": {++ "type": "string",++ "maxLength": 2000,++ "description": "The overview written for someone arriving now, in plain prose; empty when state is quiet or off."++ },++ "topics": {++ "type": "array",++ "maxItems": 20,++ "items": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "label",++ "count"++ ],++ "properties": {++ "label": {++ "type": "string",++ "minLength": 1,++ "maxLength": 60++ },++ "count": {++ "type": "integer",++ "minimum": 1,++ "description": "How many messages of the window mentioned the topic."++ }++ }++ },++ "description": "The words the window kept coming back to, most mentioned first. Empty when state is quiet or off."++ },++ "people": {++ "type": "integer",++ "minimum": 0,++ "description": "How many different people wrote in the window the overview reads."++ },++ "messages": {++ "type": "integer",++ "minimum": 0,++ "description": "How many messages the window held (the ones the summariser was allowed to read)."++ },++ "from": {++ "type": [++ "string",++ "null"++ ],++ "description": "The window's first message time."++ },++ "to": {++ "type": [++ "string",++ "null"++ ],++ "description": "The window's last time, which is when the job last looked."++ },++ "updated_at": {++ "type": [++ "string",++ "null"++ ],++ "description": "When the overview row was last written."++ }++ }++ },++ "timeline": {++ "type": "array",++ "maxItems": 60,++ "items": {++ "type": "object",++ "additionalProperties": false,++ "required": [++ "at",++ "kind",++ "title",++ "text",++ "message_id"++ ],++ "properties": {++ "at": {++ "type": "string",++ "description": "When it happened, Chat's UTC `YYYY-MM-DD HH:MM:SS`."++ },++ "kind": {++ "type": "string",++ "maxLength": 20,++ "description": "What kind of moment: `moment` for a notable thing the summariser recorded, `event` for a non-chat activity (a donation, a clip), `message` for a line it picked out."++ },++ "title": {++ "type": "string",++ "minLength": 1,++ "maxLength": 140++ },++ "text": {++ "type": "string",++ "maxLength": 400++ },++ "message_id": {++ "type": [++ "integer",++ "null"++ ],++ "minimum": 1,++ "description": "The message it came from, when it is one message; null for a summary of several."++ }++ }++ },++ "description": "The room's notable moments, newest first. History survives a quiet window."++ },++ "state": {++ "enum": [++ "ready",++ "quiet",++ "off"++ ],++ "description": "ready: the overview above is fresh. quiet: nothing new to say; said as quiet, never invented. off: the room's owner has not turned insight on."++ }++ }++ }++ },"chat.first-chat-result": {"version": "1.0.0","owner": "chat",@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Actor API",-- "version": "0.393.0",-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.Git API",-- "version": "0.393.0",-- "description": "Routes of OpenVibe.Git as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Git as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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"@@@ -209582,6 +209582,1581 @@ export type ChatTimelineResult =error: string;};++/** [email protected] (owner: chat) */++/**++ * chat.room-insight-result@1: the answer of GET /api/v1/rooms/:id/insight on OpenVibe.Chat, public (no account, as the room itself is readable). One shape for every room: Global (id `global`) first, then a server's channels and the rooms people make. The overview is the summary OpenVibe.Chat's chat-AI job keeps (the same schedule, window and budget rules as Live's, only when there were new messages); it reads only the messages of people who allowed AI use of them (network.consent@1, purpose ai.train on kind chat), so an overview never quotes someone who did not. state is `ready` when the overview is fresh, `quiet` when there is nothing new to say (text and topics empty, the timeline keeps history), and `off` when the room's owner has not turned the insight on (private rooms; never a DM). A room the rollout does not cover answers 404. Timestamps are Chat's UTC `YYYY-MM-DD HH:MM:SS` (ov_now()), or null.++ */++export interface ChatRoomInsightResult {++ overview: {++ /**++ * The overview written for someone arriving now, in plain prose; empty when state is quiet or off.++ */++ text: string;++ /**++ * The words the window kept coming back to, most mentioned first. Empty when state is quiet or off.++ *++ * @maxItems 20++ */++ topics:++ | []++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ]++ | [++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ },++ {++ label: string;++ /**++ * How many messages of the window mentioned the topic.++ */++ count: number;++ }++ ];++ /**++ * How many different people wrote in the window the overview reads.++ */++ people: number;++ /**++ * How many messages the window held (the ones the summariser was allowed to read).++ */++ messages: number;++ /**++ * The window's first message time.++ */++ from: string | null;++ /**++ * The window's last time, which is when the job last looked.++ */++ to: string | null;++ /**++ * When the overview row was last written.++ */++ updated_at: string | null;++ };++ /**++ * The room's notable moments, newest first. History survives a quiet window.++ *++ * @maxItems 60++ */++ timeline: {++ /**++ * When it happened, Chat's UTC `YYYY-MM-DD HH:MM:SS`.++ */++ at: string;++ /**++ * What kind of moment: `moment` for a notable thing the summariser recorded, `event` for a non-chat activity (a donation, a clip), `message` for a line it picked out.++ */++ kind: string;++ title: string;++ text: string;++ /**++ * The message it came from, when it is one message; null for a summary of several.++ */++ message_id: number | null;++ }[];++ /**++ * ready: the overview above is fresh. quiet: nothing new to say; said as quiet, never invented. off: the room's owner has not turned insight on.++ */++ state: "ready" | "quiet" | "off";++}++/** [email protected] (owner: chat) *//*** chat.first-chat-result@1: the answer of GET /internal/chat/first-chat?channel_id&identity on OpenVibe.Chat (capability chat.analysis.read), OpenVibe.Live's welcome check (isFirstChatInChannel): first is true when identity (user:<user_id>, anon:<anonId> or ext:<prefixed username>) has never chatted in the channel, from stream_first_chats, and false when it has. channel_id is the channel owner's Live user id (stream_first_chats.channel_user_id), not Chat's ctx_channels.id. A failure is chat.ingress-ack@1's error.@@@ -1,6 +1,6 @@{"name": "openvibe-contracts",-- "version": "0.393.0",++ "version": "0.394.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.394.0 — 2026-11-10
+
+- Add `chat.room-insight-result@1` (`contracts/chat/room-insight-result.v1.json`): the public answer of `GET /api/v1/rooms/:id/insight` on OpenVibe.Chat. One shape for every room: `overview` (the text written for someone arriving now, its topics with message counts, how many people and messages the window held, its from/to times and when it was written), `timeline` (the room's notable moments, newest first, each with `at`, `kind`, `title`, `text` and the `message_id` it came from), and `state` (`ready` / `quiet` / `off`). Quiet is explicit: an old or empty summary carries no text rather than invented news. The overview reads only people who allowed AI use of their messages (`network.consent@1`, purpose `ai.train` on kind `chat`).
+
## 0.393.0 — 2026-11-10
## 0.393.0 — 2026-11-10
- `billing.money-reason@1`: declare `donation:received`, the row a creator sees for a tip that arrived ("for a tip from @alice"). The kind list is one list; the sender's `donation` still reads "for a tip to @bob".
- `billing.money-reason@1`: declare `donation:received`, the row a creator sees for a tip that arrived ("for a tip from @alice"). The kind list is one list; the sender's `donation` still reads "for a tip to @bob".
@@ -5691,6 +5691,15 @@
@@ -5691,6 +5691,15 @@
"compatibility": "backward",
"compatibility": "backward",
"status": "active"
"status": "active"
},
},
+ {
+ "id": "chat.room-insight-result",
+ "version": "1.0.0",
+ "owner": "chat",
+ "schema": "chat/room-insight-result.v1.json",
+ "visibility": "public",
+ "compatibility": "backward",
+ "status": "active"
+ },
{
{
"id": "chat.first-chat-result",
"id": "chat.first-chat-result",
"version": "1.0.0",
"version": "1.0.0",
new file mode 100644
new file mode 100644
@@ -0,0 +1,106 @@
@@ -0,0 +1,106 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/chat/room-insight-result.v1.json",
+ "title": "ChatRoomInsightResult",
+ "description": "chat.room-insight-result@1: the answer of GET /api/v1/rooms/:id/insight on OpenVibe.Chat, public (no account, as the room itself is readable). One shape for every room: Global (id `global`) first, then a server's channels and the rooms people make. The overview is the summary OpenVibe.Chat's chat-AI job keeps (the same schedule, window and budget rules as Live's, only when there were new messages); it reads only the messages of people who allowed AI use of them (network.consent@1, purpose ai.train on kind chat), so an overview never quotes someone who did not. state is `ready` when the overview is fresh, `quiet` when there is nothing new to say (text and topics empty, the timeline keeps history), and `off` when the room's owner has not turned the insight on (private rooms; never a DM). A room the rollout does not cover answers 404. Timestamps are Chat's UTC `YYYY-MM-DD HH:MM:SS` (ov_now()), or null.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["overview", "timeline", "state"],
+ "properties": {
+ "overview": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["text", "topics", "people", "messages", "from", "to", "updated_at"],
+ "properties": {
+ "text": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The overview written for someone arriving now, in plain prose; empty when state is quiet or off."
+ },
+ "topics": {
+ "type": "array",
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["label", "count"],
+ "properties": {
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 60
+ },
+ "count": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "How many messages of the window mentioned the topic."
+ }
+ }
+ },
+ "description": "The words the window kept coming back to, most mentioned first. Empty when state is quiet or off."
+ },
+ "people": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "How many different people wrote in the window the overview reads."
+ },
+ "messages": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "How many messages the window held (the ones the summariser was allowed to read)."
+ },
+ "from": {
+ "type": ["string", "null"],
+ "description": "The window's first message time."
+ },
+ "to": {
+ "type": ["string", "null"],
+ "description": "The window's last time, which is when the job last looked."
+ },
+ "updated_at": {
+ "type": ["string", "null"],
+ "description": "When the overview row was last written."
+ }
+ }
+ },
+ "timeline": {
+ "type": "array",
+ "maxItems": 60,
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": ["at", "kind", "title", "text", "message_id"],
+ "properties": {
+ "at": {
+ "type": "string",
+ "description": "When it happened, Chat's UTC `YYYY-MM-DD HH:MM:SS`."
+ },
+ "kind": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "What kind of moment: `moment` for a notable thing the summariser recorded, `event` for a non-chat activity (a donation, a clip), `message` for a line it picked out."
+ },
+ "title": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 140
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 400
+ },
+ "message_id": {
+ "type": ["integer", "null"],
+ "minimum": 1,
+ "description": "The message it came from, when it is one message; null for a summary of several."
+ }
+ }
+ },
+ "description": "The room's notable moments, newest first. History survives a quiet window."
+ },
+ "state": {
+ "enum": ["ready", "quiet", "off"],
+ "description": "ready: the overview above is fresh. quiet: nothing new to say; said as quiet, never invented. off: the room's owner has not turned insight on."
+ }
+ }
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
+{
+ "overview": {
+ "text": "A room whose state is not one of the three.",
+ "topics": [],
+ "people": 1,
+ "messages": 1,
+ "from": null,
+ "to": null,
+ "updated_at": null
+ },
+ "timeline": [],
+ "state": "busy"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
+{
+ "overview": {
+ "text": "An overview without its timeline.",
+ "topics": [],
+ "people": 0,
+ "messages": 0,
+ "from": null,
+ "to": null,
+ "updated_at": null
+ },
+ "state": "ready"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
+{
+ "overview": {
+ "text": "",
+ "topics": [],
+ "people": 0,
+ "messages": 0,
+ "from": null,
+ "to": null,
+ "updated_at": null
+ },
+ "timeline": [],
+ "state": "quiet"
+}
new file mode 100644
new file mode 100644
@@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
+{
+ "overview": {
+ "text": "People are planning the Friday stream and comparing two capture cards. Someone asked for the clip of the ending, and the room voted for a Saturday replay.",
+ "topics": [
+ { "label": "capture card", "count": 7 },
+ { "label": "friday stream", "count": 4 }
+ ],
+ "people": 9,
+ "messages": 42,
+ "from": "2026-11-10 08:10:00",
+ "to": "2026-11-10 09:45:00",
+ "updated_at": "2026-11-10 09:45:03"
+ },
+ "timeline": [
+ {
+ "at": "2026-11-10 09:40:12",
+ "kind": "moment",
+ "title": "The Saturday replay",
+ "text": "The room agreed on a replay at the weekend.",
+ "message_id": 90214
+ },
+ {
+ "at": "2026-11-10 09:12:44",
+ "kind": "event",
+ "title": "A donation came in",
+ "text": "goosely gave 500 OpenCoins for the capture card fund.",
+ "message_id": null
+ }
+ ],
+ "state": "ready"
+}
@@ -63315,6 +63315,154 @@
@@ -63315,6 +63315,154 @@
]
]
}
}
},
},
+ "chat.room-insight-result": {
+ "version": "1.0.0",
+ "owner": "chat",
+ "status": "active",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://openvibe.network/contracts/chat/room-insight-result.v1.json",
+ "title": "ChatRoomInsightResult",
+ "description": "chat.room-insight-result@1: the answer of GET /api/v1/rooms/:id/insight on OpenVibe.Chat, public (no account, as the room itself is readable). One shape for every room: Global (id `global`) first, then a server's channels and the rooms people make. The overview is the summary OpenVibe.Chat's chat-AI job keeps (the same schedule, window and budget rules as Live's, only when there were new messages); it reads only the messages of people who allowed AI use of them (network.consent@1, purpose ai.train on kind chat), so an overview never quotes someone who did not. state is `ready` when the overview is fresh, `quiet` when there is nothing new to say (text and topics empty, the timeline keeps history), and `off` when the room's owner has not turned the insight on (private rooms; never a DM). A room the rollout does not cover answers 404. Timestamps are Chat's UTC `YYYY-MM-DD HH:MM:SS` (ov_now()), or null.",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "overview",
+ "timeline",
+ "state"
+ ],
+ "properties": {
+ "overview": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "text",
+ "topics",
+ "people",
+ "messages",
+ "from",
+ "to",
+ "updated_at"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "maxLength": 2000,
+ "description": "The overview written for someone arriving now, in plain prose; empty when state is quiet or off."
+ },
+ "topics": {
+ "type": "array",
+ "maxItems": 20,
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "label",
+ "count"
+ ],
+ "properties": {
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 60
+ },
+ "count": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "How many messages of the window mentioned the topic."
+ }
+ }
+ },
+ "description": "The words the window kept coming back to, most mentioned first. Empty when state is quiet or off."
+ },
+ "people": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "How many different people wrote in the window the overview reads."
+ },
+ "messages": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "How many messages the window held (the ones the summariser was allowed to read)."
+ },
+ "from": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The window's first message time."
+ },
+ "to": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "The window's last time, which is when the job last looked."
+ },
+ "updated_at": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "description": "When the overview row was last written."
+ }
+ }
+ },
+ "timeline": {
+ "type": "array",
+ "maxItems": 60,
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "at",
+ "kind",
+ "title",
+ "text",
+ "message_id"
+ ],
+ "properties": {
+ "at": {
+ "type": "string",
+ "description": "When it happened, Chat's UTC `YYYY-MM-DD HH:MM:SS`."
+ },
+ "kind": {
+ "type": "string",
+ "maxLength": 20,
+ "description": "What kind of moment: `moment` for a notable thing the summariser recorded, `event` for a non-chat activity (a donation, a clip), `message` for a line it picked out."
+ },
+ "title": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 140
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 400
+ },
+ "message_id": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 1,
+ "description": "The message it came from, when it is one message; null for a summary of several."
+ }
+ }
+ },
+ "description": "The room's notable moments, newest first. History survives a quiet window."
+ },
+ "state": {
+ "enum": [
+ "ready",
+ "quiet",
+ "off"
+ ],
+ "description": "ready: the overview above is fresh. quiet: nothing new to say; said as quiet, never invented. off: the room's owner has not turned insight on."
+ }
+ }
+ }
+ },
"chat.first-chat-result": {
"chat.first-chat-result": {
"version": "1.0.0",
"version": "1.0.0",
"owner": "chat",
"owner": "chat",
@@ -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.393.0",
- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.Git API",
"title": "OpenVibe.Git API",
- "version": "0.393.0",
- "description": "Routes of OpenVibe.Git as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Git as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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.393.0",
- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.393.0): each operation lists the capabilities it performs; a token for 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.394.0",
+ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.394.0): each operation lists the capabilities it performs; a token for 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"
@@ -209582,6 +209582,1581 @@ export type ChatTimelineResult =
@@ -209582,6 +209582,1581 @@ export type ChatTimelineResult =
error: string;
error: string;
};
};
+/** [email protected] (owner: chat) */
+/**
+ * chat.room-insight-result@1: the answer of GET /api/v1/rooms/:id/insight on OpenVibe.Chat, public (no account, as the room itself is readable). One shape for every room: Global (id `global`) first, then a server's channels and the rooms people make. The overview is the summary OpenVibe.Chat's chat-AI job keeps (the same schedule, window and budget rules as Live's, only when there were new messages); it reads only the messages of people who allowed AI use of them (network.consent@1, purpose ai.train on kind chat), so an overview never quotes someone who did not. state is `ready` when the overview is fresh, `quiet` when there is nothing new to say (text and topics empty, the timeline keeps history), and `off` when the room's owner has not turned the insight on (private rooms; never a DM). A room the rollout does not cover answers 404. Timestamps are Chat's UTC `YYYY-MM-DD HH:MM:SS` (ov_now()), or null.
+ */
+export interface ChatRoomInsightResult {
+ overview: {
+ /**
+ * The overview written for someone arriving now, in plain prose; empty when state is quiet or off.
+ */
+ text: string;
+ /**
+ * The words the window kept coming back to, most mentioned first. Empty when state is quiet or off.
+ *
+ * @maxItems 20
+ */
+ topics:
+ | []
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ]
+ | [
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ },
+ {
+ label: string;
+ /**
+ * How many messages of the window mentioned the topic.
+ */
+ count: number;
+ }
+ ];
+ /**
+ * How many different people wrote in the window the overview reads.
+ */
+ people: number;
+ /**
+ * How many messages the window held (the ones the summariser was allowed to read).
+ */
+ messages: number;
+ /**
+ * The window's first message time.
+ */
+ from: string | null;
+ /**
+ * The window's last time, which is when the job last looked.
+ */
+ to: string | null;
+ /**
+ * When the overview row was last written.
+ */
+ updated_at: string | null;
+ };
+ /**
+ * The room's notable moments, newest first. History survives a quiet window.
+ *
+ * @maxItems 60
+ */
+ timeline: {
+ /**
+ * When it happened, Chat's UTC `YYYY-MM-DD HH:MM:SS`.
+ */
+ at: string;
+ /**
+ * What kind of moment: `moment` for a notable thing the summariser recorded, `event` for a non-chat activity (a donation, a clip), `message` for a line it picked out.
+ */
+ kind: string;
+ title: string;
+ text: string;
+ /**
+ * The message it came from, when it is one message; null for a summary of several.
+ */
+ message_id: number | null;
+ }[];
+ /**
+ * ready: the overview above is fresh. quiet: nothing new to say; said as quiet, never invented. off: the room's owner has not turned insight on.
+ */
+ state: "ready" | "quiet" | "off";
+}
+
/** [email protected] (owner: chat) */
/** [email protected] (owner: chat) */
/**
/**
* chat.first-chat-result@1: the answer of GET /internal/chat/first-chat?channel_id&identity on OpenVibe.Chat (capability chat.analysis.read), OpenVibe.Live's welcome check (isFirstChatInChannel): first is true when identity (user:<user_id>, anon:<anonId> or ext:<prefixed username>) has never chatted in the channel, from stream_first_chats, and false when it has. channel_id is the channel owner's Live user id (stream_first_chats.channel_user_id), not Chat's ctx_channels.id. A failure is chat.ingress-ack@1's error.
* chat.first-chat-result@1: the answer of GET /internal/chat/first-chat?channel_id&identity on OpenVibe.Chat (capability chat.analysis.read), OpenVibe.Live's welcome check (isFirstChatInChannel): first is true when identity (user:<user_id>, anon:<anonId> or ext:<prefixed username>) has never chatted in the channel, from stream_first_chats, and false when it has. channel_id is the channel owner's Live user id (stream_first_chats.channel_user_id), not Chat's ctx_channels.id. A failure is chat.ingress-ack@1's error.
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.393.0",
+ "version": "0.394.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",