GamesModView games.mod-view@1

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

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

games.mod-view@1: an installed mod's public view on OpenVibe.Games (apps/server/src/mods/routes.ts publicView): identity, runtime, trust tier, lifecycle status, the capabilities its manifest requests and those currently granted.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
  • pattern ^mod_
namestringyes
versionstringyes
targetstringyese.g. games.browser
runtimestringyese.g. games-content@1
trust_tierenumyes
  • one of "unreviewed", "reviewed", "first-party"
statusenumyes
  • one of "enabled", "disabled", "revoked"
requestedarray of stringyesCapabilities the manifest asks for.
grantedarray of stringyesCapabilities approved and not revoked.
installed_atstringyes
  • format date-time
updated_atstringyes
  • format date-time

Examples

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

Valid: view
{
  "id": "mod_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "name": "Harbor Lights",
  "version": "1.2.0",
  "target": "games.browser",
  "runtime": "games-content@1",
  "trust_tier": "reviewed",
  "status": "enabled",
  "requested": [
    "games.prop.place",
    "games.world.announce"
  ],
  "granted": [
    "games.prop.place"
  ],
  "installed_at": "2026-09-20T10:00:00.000Z",
  "updated_at": "2026-09-25T18:00:00.000Z"
}
Rejected: bad-status
{
  "id": "mod_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "name": "Harbor Lights",
  "version": "1.2.0",
  "target": "games.browser",
  "runtime": "games-content@1",
  "trust_tier": "reviewed",
  "status": "paused",
  "requested": [
    "games.prop.place",
    "games.world.announce"
  ],
  "granted": [
    "games.prop.place"
  ],
  "installed_at": "2026-09-20T10:00:00.000Z",
  "updated_at": "2026-09-25T18:00:00.000Z"
}

Validate

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