|
44 | 44 | "format": "uri", |
45 | 45 | "description": "Canonical URL" |
46 | 46 | }, |
47 | | - "robots": { |
48 | | - "type": "array", |
49 | | - "items": { |
50 | | - "type": "string", |
51 | | - "enum": ["noindex", "nofollow", "noarchive", "nosnippet", "notranslate", "noimageindex"] |
52 | | - }, |
53 | | - "uniqueItems": true, |
54 | | - "description": "Robot directives" |
55 | | - }, |
56 | 47 | "schema": { |
57 | 48 | "type": "object", |
58 | 49 | "description": "Optional Schema.org structured data (JSON-LD format)" |
|
162 | 153 | }, |
163 | 154 | { |
164 | 155 | "type": "object", |
165 | | - "required": ["type", "sources", "title"], |
| 156 | + "required": ["type", "name", "url"], |
166 | 157 | "properties": { |
167 | 158 | "type": { "const": "video" }, |
168 | | - "sources": { |
169 | | - "type": "array", |
170 | | - "minItems": 1, |
171 | | - "items": { |
172 | | - "type": "object", |
173 | | - "required": ["url"], |
174 | | - "properties": { |
175 | | - "url": { "type": "string", "format": "uri" }, |
176 | | - "format": { "type": "string" }, |
177 | | - "quality": { "type": "string" }, |
178 | | - "size": { "type": "integer" } |
| 159 | + "name": { "type": "string", "description": "Video title" }, |
| 160 | + "url": { |
| 161 | + "oneOf": [ |
| 162 | + { "type": "string", "format": "uri" }, |
| 163 | + { |
| 164 | + "type": "array", |
| 165 | + "minItems": 1, |
| 166 | + "items": { |
| 167 | + "type": "object", |
| 168 | + "required": ["href", "mediaType"], |
| 169 | + "properties": { |
| 170 | + "href": { "type": "string", "format": "uri" }, |
| 171 | + "mediaType": { "type": "string" }, |
| 172 | + "rel": { "type": "string" } |
| 173 | + } |
| 174 | + } |
179 | 175 | } |
180 | | - } |
| 176 | + ], |
| 177 | + "description": "Video URL(s) - ActivityStreams 2.0 format" |
| 178 | + }, |
| 179 | + "duration": { |
| 180 | + "type": "string", |
| 181 | + "pattern": "^PT(?=.*[HMS])(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?$", |
| 182 | + "description": "ISO 8601 duration (e.g., PT5M20S)" |
181 | 183 | }, |
182 | | - "poster": { "type": "string", "format": "uri" }, |
183 | | - "title": { "type": "string" }, |
184 | | - "description": { "type": "string" }, |
185 | | - "duration": { "type": "integer", "minimum": 0 }, |
186 | 184 | "width": { "type": "integer", "minimum": 0 }, |
187 | 185 | "height": { "type": "integer", "minimum": 0 }, |
| 186 | + "icon": { |
| 187 | + "type": "object", |
| 188 | + "properties": { |
| 189 | + "type": { "const": "Image" }, |
| 190 | + "url": { "type": "string", "format": "uri" } |
| 191 | + }, |
| 192 | + "description": "Thumbnail/poster image" |
| 193 | + }, |
| 194 | + "summary": { "type": "string", "description": "Video description" }, |
188 | 195 | "captions": { |
189 | 196 | "type": "array", |
190 | 197 | "items": { |
|
208 | 215 | } |
209 | 216 | } |
210 | 217 | }, |
211 | | - "embed": { "type": "string", "format": "uri" }, |
212 | 218 | "transcript": { "type": "string" } |
213 | 219 | }, |
214 | 220 | "additionalProperties": false |
215 | 221 | }, |
216 | 222 | { |
217 | 223 | "type": "object", |
218 | | - "required": ["type", "sources", "title"], |
| 224 | + "required": ["type", "name", "url"], |
219 | 225 | "properties": { |
220 | 226 | "type": { "const": "audio" }, |
221 | | - "sources": { |
222 | | - "type": "array", |
223 | | - "minItems": 1, |
224 | | - "items": { |
225 | | - "type": "object", |
226 | | - "required": ["url"], |
227 | | - "properties": { |
228 | | - "url": { "type": "string", "format": "uri" }, |
229 | | - "format": { "type": "string" }, |
230 | | - "bitrate": { "type": "integer" }, |
231 | | - "size": { "type": "integer" } |
| 227 | + "name": { "type": "string", "description": "Audio title" }, |
| 228 | + "url": { |
| 229 | + "oneOf": [ |
| 230 | + { "type": "string", "format": "uri" }, |
| 231 | + { |
| 232 | + "type": "array", |
| 233 | + "minItems": 1, |
| 234 | + "items": { |
| 235 | + "type": "object", |
| 236 | + "required": ["href", "mediaType"], |
| 237 | + "properties": { |
| 238 | + "href": { "type": "string", "format": "uri" }, |
| 239 | + "mediaType": { "type": "string" } |
| 240 | + } |
| 241 | + } |
232 | 242 | } |
233 | | - } |
| 243 | + ], |
| 244 | + "description": "Audio URL(s) - ActivityStreams 2.0 format" |
234 | 245 | }, |
235 | | - "title": { "type": "string" }, |
236 | | - "description": { "type": "string" }, |
237 | | - "artist": { "type": "string" }, |
238 | | - "album": { "type": "string" }, |
239 | | - "duration": { "type": "integer", "minimum": 0 }, |
240 | | - "coverArt": { "type": "string", "format": "uri" }, |
241 | | - "transcript": { "type": "string" }, |
| 246 | + "duration": { |
| 247 | + "type": "string", |
| 248 | + "pattern": "^PT(?=.*[HMS])(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?$", |
| 249 | + "description": "ISO 8601 duration (e.g., PT1H for 1 hour)" |
| 250 | + }, |
| 251 | + "icon": { |
| 252 | + "type": "object", |
| 253 | + "properties": { |
| 254 | + "type": { "const": "Image" }, |
| 255 | + "url": { "type": "string", "format": "uri" } |
| 256 | + }, |
| 257 | + "description": "Cover art/thumbnail image" |
| 258 | + }, |
| 259 | + "summary": { "type": "string", "description": "Audio description" }, |
| 260 | + "attributedTo": { "type": "string", "description": "Artist/creator name or Person object" }, |
| 261 | + "partOf": { "type": "string", "description": "Album/series name or Collection object" }, |
242 | 262 | "chapters": { |
243 | 263 | "type": "array", |
244 | 264 | "items": { |
|
249 | 269 | "title": { "type": "string" } |
250 | 270 | } |
251 | 271 | } |
252 | | - } |
| 272 | + }, |
| 273 | + "transcript": { "type": "string" } |
253 | 274 | }, |
254 | 275 | "additionalProperties": false |
255 | 276 | }, |
|
0 commit comments