OpenreOutput openre.output@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
openre
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/openre/output.v1.json

openre.output@1: one restream output (a destination running for a live session) on OpenRe.Stream (server/store/outputs.js publicOutput), with its desired and actual state, restarts and progress.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
session_idstringyes
destination_idstringyes
desiredenumyes
  • one of "run", "stop"
statestringyes
workerobject | null
restart_attemptsinteger
max_restart_attemptsinteger
next_restart_atstring | null
  • format date-time
ever_liveboolean
last_errorstring | null
progressany
started_atstring | null
  • format date-time
live_atstring | null
  • format date-time
uptime_msinteger
ended_atstring | null
  • format date-time
updated_atstring | null
  • format date-time

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: live
{
  "id": "out_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "session_id": "ses_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "destination_id": "dst_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "desired": "run",
  "state": "live",
  "worker": {
    "id": "wrk_1",
    "generation": 4
  },
  "restart_attempts": 0,
  "max_restart_attempts": 5,
  "next_restart_at": null,
  "ever_live": true,
  "last_error": null,
  "progress": {
    "fps": 30
  },
  "started_at": "2026-09-25T21:00:02.000Z",
  "live_at": "2026-09-25T21:00:04.000Z",
  "uptime_ms": 360000,
  "ended_at": null,
  "updated_at": "2026-09-25T21:06:04.000Z"
}
Rejected: bad-desired
{
  "id": "out_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "session_id": "ses_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "destination_id": "dst_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "desired": "maybe",
  "state": "live",
  "worker": {
    "id": "wrk_1",
    "generation": 4
  },
  "restart_attempts": 0,
  "max_restart_attempts": 5,
  "next_restart_at": null,
  "ever_live": true,
  "last_error": null,
  "progress": {
    "fps": 30
  },
  "started_at": "2026-09-25T21:00:02.000Z",
  "live_at": "2026-09-25T21:00:04.000Z",
  "uptime_ms": 360000,
  "ended_at": null,
  "updated_at": "2026-09-25T21:06:04.000Z"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('openre.output@1', value);   // { valid, errors: [{ path, message }] }