{
  "description": "Media identity observed on this route. Active false means the provider session is on another target; it does not prove the speaker is silent through other providers.",
  "type": "object",
  "properties": {
    "active": {
      "type": "boolean"
    },
    "mediaId": {
      "title": "MediaId",
      "type": "string",
      "minLength": 1,
      "example": "portos-media://portoperatingsystem.com/spotify/audio/track/Ab123",
      "pattern": "^(portos-media://(portpowered[.]com|portoperatingsystem[.]com)/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\\s]|%[0-9A-Fa-f]{2})+|https?://[^\\s]+|portos://[^\\s]+)$",
      "description": "Exact provider resource identity. The canonical form is portos-media://portoperatingsystem.com/provider/media-type/resource-kind/resource-id, with no URI version. Spotify emits audio track, playlist, album, artist, show and episode identities. The prior authority remains readable. YouTube and YouTube Music share provider youtube, with video/video and video/channel resource kinds. Copy an ID returned by search or library discovery; do not send a search phrase as an ID. See https://portoperatingsystem.com/docs/media.\n"
    },
    "contextMediaId": {
      "$ref": "#/properties/mediaId"
    },
    "name": {
      "type": "string"
    },
    "positionMs": {
      "description": "Provider-observed position within the current media item in milliseconds. Omitted when unknown. Compare fresh observations with media identity and playback state; a track transition does not prove continuity.",
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "active"
  ],
  "additionalProperties": false
}
