@portpowered/reference-data 0.4.7 → 0.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generated/capabilities.json +579 -4
- package/generated/openapi.json +369 -40
- package/generated/public/docs/for-ai/capability-interfaces/media-player/1.0.md +1 -0
- package/generated/public/docs/for-ai/capability-interfaces/media-playlist/1.0.md +3 -0
- package/generated/public/docs/for-ai/capability-interfaces/media-search/1.0.md +2 -0
- package/generated/public/docs/for-ai/capability-interfaces/route-discovery/1.0.md +1 -1
- package/generated/public/docs/for-ai/schemas/m-1.md +6 -6
- package/generated/public/docs/for-ai/schemas/m-2.md +6 -0
- package/generated/public/docs/for-ai/schemas/p-2.md +2 -0
- package/generated/public/docs/for-ai/schemas/s-3.md +1 -0
- package/generated/public/docs/for-ai/schemas.md +4 -4
- package/generated/public/docs/references/capability-interfaces/media-player/1.0/attributes/now-playing.yaml +30 -0
- package/generated/public/docs/references/capability-interfaces/media-player/1.0/configuration.yaml +30 -0
- package/generated/public/docs/references/capability-interfaces/media-player/1.0/messages/play-media.yaml +11 -5
- package/generated/public/docs/references/capability-interfaces/media-player/1.0.yaml +73 -4
- package/generated/public/docs/references/capability-interfaces/media-player.yaml +73 -4
- package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/get-playlist.yaml +9 -0
- package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/list-playlists.yaml +15 -0
- package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/playlist-contents.yaml +114 -0
- package/generated/public/docs/references/capability-interfaces/media-playlist/1.0/messages/playlists.yaml +35 -0
- package/generated/public/docs/references/capability-interfaces/media-playlist/1.0.yaml +184 -0
- package/generated/public/docs/references/capability-interfaces/media-playlist.yaml +184 -0
- package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/audio-media-results.yaml +67 -0
- package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/get-media.yaml +32 -0
- package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/media-details.yaml +118 -0
- package/generated/public/docs/references/capability-interfaces/media-search/1.0/messages/search-media.yaml +15 -1
- package/generated/public/docs/references/capability-interfaces/media-search/1.0.yaml +235 -1
- package/generated/public/docs/references/capability-interfaces/media-search.yaml +235 -1
- package/generated/public/docs/references/capability-interfaces/recordings/1.0/messages/list-recordings-response.yaml +11 -5
- package/generated/public/docs/references/capability-interfaces/recordings/1.0.yaml +10 -5
- package/generated/public/docs/references/capability-interfaces/recordings.yaml +10 -5
- package/generated/public/docs/references/capability-interfaces/route-discovery/1.0.yaml +1 -1
- package/generated/public/docs/references/capability-interfaces/route-discovery.yaml +1 -1
- package/generated/public/docs/references/manifest.json +203 -83
- package/generated/public/docs/references/openapi.yaml +304 -38
- package/generated/public/docs/references/schemas/CreateMessageTarget.json +4 -0
- package/generated/public/docs/references/schemas/MediaId.json +3 -1
- package/generated/public/docs/references/schemas/MediaPlayerInterfaceConfiguration.json +7 -0
- package/generated/public/docs/references/schemas/MediaPlayerInterfaceNowPlayingAttribute.json +27 -0
- package/generated/public/docs/references/schemas/MediaPlaylistInterfaceGetPlaylistMessage.json +11 -0
- package/generated/public/docs/references/schemas/MediaPlaylistInterfaceListPlaylistsMessage.json +24 -0
- package/generated/public/docs/references/schemas/MediaPlaylistInterfacePlaylistContentsMessage.json +37 -0
- package/generated/public/docs/references/schemas/MediaPlaylistInterfacePlaylistsMessage.json +26 -0
- package/generated/public/docs/references/schemas/MediaSearchInterfaceAudioMediaResultsMessage.json +17 -0
- package/generated/public/docs/references/schemas/MediaSearchInterfaceGetMediaMessage.json +30 -0
- package/generated/public/docs/references/schemas/MediaSearchInterfaceMediaDetailsMessage.json +43 -0
- package/generated/public/docs/references/schemas/MediaSearchInterfaceSearchMediaMessage.json +13 -1
- package/generated/public/docs/references/schemas/Playlist.json +8 -0
- package/generated/public/docs/references/schemas/PodcastEpisode.json +30 -0
- package/generated/public/docs/references/schemas/PodcastShow.json +22 -0
- package/generated/public/docs/references/schemas/RouteDiscoveryInterfaceDiscoverRoutesMessage.json +1 -1
- package/generated/public/docs/references/schemas/SupportedMediaResource.json +34 -0
- package/generated/public/docs/references/schemas/configuration-6.json +6 -2
- package/generated/public/docs/references/schemas/index.json +54 -0
- package/generated/resources/media-player/configuration.json +37 -0
- package/generated/resources/media-player/message-play-media.json +3 -1
- package/generated/resources/media-player/state-now-playing.json +27 -0
- package/generated/resources/media-playlist/message-get-playlist.json +11 -0
- package/generated/resources/media-playlist/message-list-playlists.json +18 -0
- package/generated/resources/media-playlist/message-playlist-contents.json +140 -0
- package/generated/resources/media-playlist/message-playlists.json +46 -0
- package/generated/resources/media-search/message-audio-media-results.json +76 -0
- package/generated/resources/media-search/message-get-media.json +29 -0
- package/generated/resources/media-search/message-media-details.json +146 -0
- package/generated/resources/media-search/message-search-media.json +13 -1
- package/generated/resources/recordings/message-list-recordings-response.json +3 -1
- package/package.json +8 -3
package/generated/openapi.json
CHANGED
|
@@ -14852,6 +14852,90 @@
|
|
|
14852
14852
|
],
|
|
14853
14853
|
"additionalProperties": false
|
|
14854
14854
|
},
|
|
14855
|
+
"MediaPlaylistInterfaceListPlaylistsMessage": {
|
|
14856
|
+
"x-namespace": "port1/systems/zero/capability-interfaces/media-playlist",
|
|
14857
|
+
"x-name": "list-playlists",
|
|
14858
|
+
"x-version": "1.0",
|
|
14859
|
+
"x-type": "message",
|
|
14860
|
+
"x-directionality": "in",
|
|
14861
|
+
"description": "List the connected customer's owned or followed playlists; use search-media for catalog search.",
|
|
14862
|
+
"type": "object",
|
|
14863
|
+
"properties": {
|
|
14864
|
+
"maxResults": {
|
|
14865
|
+
"type": "integer",
|
|
14866
|
+
"minimum": 1,
|
|
14867
|
+
"maximum": 50,
|
|
14868
|
+
"default": 20
|
|
14869
|
+
},
|
|
14870
|
+
"nextToken": {
|
|
14871
|
+
"type": "string",
|
|
14872
|
+
"minLength": 1
|
|
14873
|
+
}
|
|
14874
|
+
},
|
|
14875
|
+
"required": [],
|
|
14876
|
+
"additionalProperties": false
|
|
14877
|
+
},
|
|
14878
|
+
"MediaPlaylistInterfacePlaylistsMessage": {
|
|
14879
|
+
"x-namespace": "port1/systems/zero/capability-interfaces/media-playlist",
|
|
14880
|
+
"x-name": "playlists",
|
|
14881
|
+
"x-version": "1.0",
|
|
14882
|
+
"x-type": "message",
|
|
14883
|
+
"x-directionality": "out",
|
|
14884
|
+
"description": "A page of the connected customer's playlists with exact resource IDs.",
|
|
14885
|
+
"type": "object",
|
|
14886
|
+
"properties": {
|
|
14887
|
+
"playlists": {
|
|
14888
|
+
"type": "array",
|
|
14889
|
+
"items": {
|
|
14890
|
+
"$ref": "#/components/schemas/Playlist"
|
|
14891
|
+
}
|
|
14892
|
+
},
|
|
14893
|
+
"nextToken": {
|
|
14894
|
+
"type": "string",
|
|
14895
|
+
"minLength": 1
|
|
14896
|
+
}
|
|
14897
|
+
},
|
|
14898
|
+
"required": [
|
|
14899
|
+
"playlists"
|
|
14900
|
+
],
|
|
14901
|
+
"additionalProperties": false
|
|
14902
|
+
},
|
|
14903
|
+
"MediaPlaylistInterfacePlaylistContentsMessage": {
|
|
14904
|
+
"x-namespace": "port1/systems/zero/capability-interfaces/media-playlist",
|
|
14905
|
+
"x-name": "playlist-contents",
|
|
14906
|
+
"x-version": "1.0",
|
|
14907
|
+
"x-type": "message",
|
|
14908
|
+
"x-directionality": "out",
|
|
14909
|
+
"description": "A bounded playlist page containing playable tracks or episodes.",
|
|
14910
|
+
"type": "object",
|
|
14911
|
+
"properties": {
|
|
14912
|
+
"playlistId": {
|
|
14913
|
+
"$ref": "#/components/schemas/MediaId"
|
|
14914
|
+
},
|
|
14915
|
+
"tracks": {
|
|
14916
|
+
"type": "array",
|
|
14917
|
+
"items": {
|
|
14918
|
+
"$ref": "#/components/schemas/Track"
|
|
14919
|
+
}
|
|
14920
|
+
},
|
|
14921
|
+
"episodes": {
|
|
14922
|
+
"type": "array",
|
|
14923
|
+
"items": {
|
|
14924
|
+
"$ref": "#/components/schemas/PodcastEpisode"
|
|
14925
|
+
}
|
|
14926
|
+
},
|
|
14927
|
+
"nextToken": {
|
|
14928
|
+
"type": "string",
|
|
14929
|
+
"minLength": 1
|
|
14930
|
+
}
|
|
14931
|
+
},
|
|
14932
|
+
"required": [
|
|
14933
|
+
"playlistId",
|
|
14934
|
+
"tracks",
|
|
14935
|
+
"episodes"
|
|
14936
|
+
],
|
|
14937
|
+
"additionalProperties": false
|
|
14938
|
+
},
|
|
14855
14939
|
"MediaPlaylistInterfaceGetPlaylistMessage": {
|
|
14856
14940
|
"x-namespace": "port1/systems/zero/capability-interfaces/media-playlist",
|
|
14857
14941
|
"x-name": "get-playlist",
|
|
@@ -14864,6 +14948,17 @@
|
|
|
14864
14948
|
"type": "string",
|
|
14865
14949
|
"description": "ID of the playlist to retrieve",
|
|
14866
14950
|
"minLength": 1
|
|
14951
|
+
},
|
|
14952
|
+
"maxResults": {
|
|
14953
|
+
"type": "integer",
|
|
14954
|
+
"minimum": 1,
|
|
14955
|
+
"maximum": 50,
|
|
14956
|
+
"default": 20
|
|
14957
|
+
},
|
|
14958
|
+
"nextToken": {
|
|
14959
|
+
"type": "string",
|
|
14960
|
+
"minLength": 1,
|
|
14961
|
+
"description": "Opaque continuation for the same playlist."
|
|
14867
14962
|
}
|
|
14868
14963
|
},
|
|
14869
14964
|
"required": [
|
|
@@ -15216,6 +15311,23 @@
|
|
|
15216
15311
|
"$ref": "#/components/schemas/Playlist"
|
|
15217
15312
|
},
|
|
15218
15313
|
"description": "Playlist results"
|
|
15314
|
+
},
|
|
15315
|
+
"shows": {
|
|
15316
|
+
"type": "array",
|
|
15317
|
+
"items": {
|
|
15318
|
+
"$ref": "#/components/schemas/PodcastShow"
|
|
15319
|
+
}
|
|
15320
|
+
},
|
|
15321
|
+
"episodes": {
|
|
15322
|
+
"type": "array",
|
|
15323
|
+
"items": {
|
|
15324
|
+
"$ref": "#/components/schemas/PodcastEpisode"
|
|
15325
|
+
}
|
|
15326
|
+
},
|
|
15327
|
+
"nextToken": {
|
|
15328
|
+
"type": "string",
|
|
15329
|
+
"minLength": 1,
|
|
15330
|
+
"description": "Opaque continuation for the same search; omit when exhausted."
|
|
15219
15331
|
}
|
|
15220
15332
|
},
|
|
15221
15333
|
"required": [
|
|
@@ -15243,6 +15355,77 @@
|
|
|
15243
15355
|
],
|
|
15244
15356
|
"additionalProperties": false
|
|
15245
15357
|
},
|
|
15358
|
+
"MediaSearchInterfaceMediaDetailsMessage": {
|
|
15359
|
+
"x-namespace": "port1/systems/zero/capability-interfaces/media-search",
|
|
15360
|
+
"x-name": "media-details",
|
|
15361
|
+
"x-version": "1.0",
|
|
15362
|
+
"x-type": "message",
|
|
15363
|
+
"x-directionality": "out",
|
|
15364
|
+
"description": "Exact media resource details and a bounded page of its children.",
|
|
15365
|
+
"type": "object",
|
|
15366
|
+
"properties": {
|
|
15367
|
+
"mediaId": {
|
|
15368
|
+
"$ref": "#/components/schemas/MediaId"
|
|
15369
|
+
},
|
|
15370
|
+
"name": {
|
|
15371
|
+
"type": "string"
|
|
15372
|
+
},
|
|
15373
|
+
"resourceKind": {
|
|
15374
|
+
"type": "string",
|
|
15375
|
+
"description": "Provider resource kind from the media URI."
|
|
15376
|
+
},
|
|
15377
|
+
"tracks": {
|
|
15378
|
+
"type": "array",
|
|
15379
|
+
"items": {
|
|
15380
|
+
"$ref": "#/components/schemas/Track"
|
|
15381
|
+
}
|
|
15382
|
+
},
|
|
15383
|
+
"episodes": {
|
|
15384
|
+
"type": "array",
|
|
15385
|
+
"items": {
|
|
15386
|
+
"$ref": "#/components/schemas/PodcastEpisode"
|
|
15387
|
+
}
|
|
15388
|
+
},
|
|
15389
|
+
"nextToken": {
|
|
15390
|
+
"type": "string",
|
|
15391
|
+
"minLength": 1
|
|
15392
|
+
}
|
|
15393
|
+
},
|
|
15394
|
+
"required": [
|
|
15395
|
+
"mediaId",
|
|
15396
|
+
"resourceKind"
|
|
15397
|
+
],
|
|
15398
|
+
"additionalProperties": false
|
|
15399
|
+
},
|
|
15400
|
+
"MediaSearchInterfaceGetMediaMessage": {
|
|
15401
|
+
"x-namespace": "port1/systems/zero/capability-interfaces/media-search",
|
|
15402
|
+
"x-name": "get-media",
|
|
15403
|
+
"x-version": "1.0",
|
|
15404
|
+
"x-type": "message",
|
|
15405
|
+
"x-directionality": "in",
|
|
15406
|
+
"description": "Inspect an exact media resource or traverse an album/show. Use get-playlist for playlist contents.",
|
|
15407
|
+
"type": "object",
|
|
15408
|
+
"properties": {
|
|
15409
|
+
"mediaId": {
|
|
15410
|
+
"$ref": "#/components/schemas/MediaId"
|
|
15411
|
+
},
|
|
15412
|
+
"maxResults": {
|
|
15413
|
+
"type": "integer",
|
|
15414
|
+
"minimum": 1,
|
|
15415
|
+
"maximum": 50,
|
|
15416
|
+
"default": 20
|
|
15417
|
+
},
|
|
15418
|
+
"nextToken": {
|
|
15419
|
+
"type": "string",
|
|
15420
|
+
"minLength": 1,
|
|
15421
|
+
"description": "Opaque continuation for the same resource."
|
|
15422
|
+
}
|
|
15423
|
+
},
|
|
15424
|
+
"required": [
|
|
15425
|
+
"mediaId"
|
|
15426
|
+
],
|
|
15427
|
+
"additionalProperties": false
|
|
15428
|
+
},
|
|
15246
15429
|
"MediaSearchInterfaceSearchMediaMessage": {
|
|
15247
15430
|
"x-namespace": "port1/systems/zero/capability-interfaces/media-search",
|
|
15248
15431
|
"x-name": "search-media",
|
|
@@ -15257,7 +15440,7 @@
|
|
|
15257
15440
|
},
|
|
15258
15441
|
"type": {
|
|
15259
15442
|
"type": "string",
|
|
15260
|
-
"description": "
|
|
15443
|
+
"description": "Resource kind: track, album, artist, playlist, show or episode when advertised. Defaults to track",
|
|
15261
15444
|
"default": "track"
|
|
15262
15445
|
},
|
|
15263
15446
|
"album": {
|
|
@@ -15271,6 +15454,18 @@
|
|
|
15271
15454
|
"year": {
|
|
15272
15455
|
"type": "string",
|
|
15273
15456
|
"description": "Search by year, can only be used when searching albums, years, and tracks. You can pass a range like 1990-2000"
|
|
15457
|
+
},
|
|
15458
|
+
"maxResults": {
|
|
15459
|
+
"type": "integer",
|
|
15460
|
+
"minimum": 1,
|
|
15461
|
+
"maximum": 50,
|
|
15462
|
+
"default": 20,
|
|
15463
|
+
"description": "Maximum results on one page."
|
|
15464
|
+
},
|
|
15465
|
+
"nextToken": {
|
|
15466
|
+
"type": "string",
|
|
15467
|
+
"minLength": 1,
|
|
15468
|
+
"description": "Copy the opaque continuation from the previous result with the same query and filters."
|
|
15274
15469
|
}
|
|
15275
15470
|
},
|
|
15276
15471
|
"required": [
|
|
@@ -16586,7 +16781,7 @@
|
|
|
16586
16781
|
"x-name": "discover-routes",
|
|
16587
16782
|
"x-version": "1.0",
|
|
16588
16783
|
"x-type": "message",
|
|
16589
|
-
"x-directionality": "
|
|
16784
|
+
"x-directionality": "in",
|
|
16590
16785
|
"description": "Request to discover routes",
|
|
16591
16786
|
"type": "object",
|
|
16592
16787
|
"additionalProperties": false
|
|
@@ -17941,6 +18136,32 @@
|
|
|
17941
18136
|
],
|
|
17942
18137
|
"additionalProperties": false
|
|
17943
18138
|
},
|
|
18139
|
+
"MediaPlayerInterfaceNowPlayingAttribute": {
|
|
18140
|
+
"x-namespace": "port1/systems/zero/capability-interfaces/media-player",
|
|
18141
|
+
"x-name": "now-playing",
|
|
18142
|
+
"x-version": "1.0",
|
|
18143
|
+
"x-type": "attribute-definition",
|
|
18144
|
+
"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.",
|
|
18145
|
+
"type": "object",
|
|
18146
|
+
"properties": {
|
|
18147
|
+
"active": {
|
|
18148
|
+
"type": "boolean"
|
|
18149
|
+
},
|
|
18150
|
+
"mediaId": {
|
|
18151
|
+
"$ref": "#/components/schemas/MediaId"
|
|
18152
|
+
},
|
|
18153
|
+
"contextMediaId": {
|
|
18154
|
+
"$ref": "#/components/schemas/MediaId"
|
|
18155
|
+
},
|
|
18156
|
+
"name": {
|
|
18157
|
+
"type": "string"
|
|
18158
|
+
}
|
|
18159
|
+
},
|
|
18160
|
+
"required": [
|
|
18161
|
+
"active"
|
|
18162
|
+
],
|
|
18163
|
+
"additionalProperties": false
|
|
18164
|
+
},
|
|
17944
18165
|
"MediaPlayerInterfacePlaybackStateAttribute": {
|
|
17945
18166
|
"x-namespace": "port1/systems/zero/capability-interfaces/media-player",
|
|
17946
18167
|
"x-name": "playback-state",
|
|
@@ -22276,6 +22497,13 @@
|
|
|
22276
22497
|
"description": "Configure media playback, media selection and audio playback. Advertise only the messages implemented by this endpoint.",
|
|
22277
22498
|
"type": "object",
|
|
22278
22499
|
"properties": {
|
|
22500
|
+
"supportedMediaResources": {
|
|
22501
|
+
"type": "array",
|
|
22502
|
+
"description": "Exact play-media URI combinations accepted by this route. Member or endpoint unions do not imply support by every route.",
|
|
22503
|
+
"items": {
|
|
22504
|
+
"$ref": "#/components/schemas/SupportedMediaResource"
|
|
22505
|
+
}
|
|
22506
|
+
},
|
|
22279
22507
|
"supportedAudioProviders": {
|
|
22280
22508
|
"type": "array",
|
|
22281
22509
|
"uniqueItems": true,
|
|
@@ -23114,7 +23342,9 @@
|
|
|
23114
23342
|
"title": "MediaId",
|
|
23115
23343
|
"type": "string",
|
|
23116
23344
|
"minLength": 1,
|
|
23117
|
-
"
|
|
23345
|
+
"example": "portos-media://portpowered.com/spotify/audio/track/Ab123",
|
|
23346
|
+
"pattern": "^(portos-media://portpowered[.]com/[a-z][a-z0-9_-]*/(audio|video|image)/[a-z][a-z0-9_-]*/([^/?#\\s]|%[0-9A-Fa-f]{2})+|https?://[^\\s]+|portos://[^\\s]+|youtube:video:[A-Za-z0-9_-]+)$",
|
|
23347
|
+
"description": "Exact provider resource identity. The canonical form is portos-media://portpowered.com/provider/media-type/resource-kind/resource-id, with no URI version. Spotify emits audio track, playlist, album, artist, show and episode identities. Copy an ID returned by search or library discovery; do not send a search phrase as an ID. Legacy providers retain their own input contracts until explicitly migrated. See https://portpowered.com/docs/media.\n"
|
|
23118
23348
|
},
|
|
23119
23349
|
"PlayableAudio": {
|
|
23120
23350
|
"type": "object",
|
|
@@ -26888,6 +27118,10 @@
|
|
|
26888
27118
|
"id": {
|
|
26889
27119
|
"type": "string",
|
|
26890
27120
|
"description": "The ID of the target"
|
|
27121
|
+
},
|
|
27122
|
+
"routeId": {
|
|
27123
|
+
"type": "string",
|
|
27124
|
+
"description": "Optional full route or group-route ID belonging to this target. Selects one advertised provider route and preserves that provider for follow-up transport or volume commands."
|
|
26891
27125
|
}
|
|
26892
27126
|
}
|
|
26893
27127
|
},
|
|
@@ -27501,48 +27735,34 @@
|
|
|
27501
27735
|
},
|
|
27502
27736
|
"additionalProperties": false
|
|
27503
27737
|
},
|
|
27504
|
-
"
|
|
27738
|
+
"Playlist": {
|
|
27505
27739
|
"type": "object",
|
|
27506
|
-
"description": "A movement instruction for remote control",
|
|
27507
27740
|
"properties": {
|
|
27508
|
-
"
|
|
27509
|
-
"type": "
|
|
27510
|
-
"description": "
|
|
27741
|
+
"id": {
|
|
27742
|
+
"type": "string",
|
|
27743
|
+
"description": "Unique identifier for the playlist",
|
|
27744
|
+
"minLength": 1
|
|
27511
27745
|
},
|
|
27512
|
-
"
|
|
27513
|
-
"type": "
|
|
27514
|
-
"description": "
|
|
27746
|
+
"name": {
|
|
27747
|
+
"type": "string",
|
|
27748
|
+
"description": "Playlist name",
|
|
27749
|
+
"minLength": 1
|
|
27515
27750
|
},
|
|
27516
|
-
"
|
|
27517
|
-
"type": "
|
|
27518
|
-
"description": "
|
|
27751
|
+
"ownerId": {
|
|
27752
|
+
"type": "string",
|
|
27753
|
+
"description": "Provider-scoped owner identity, when supplied by the provider."
|
|
27754
|
+
},
|
|
27755
|
+
"ownerName": {
|
|
27756
|
+
"type": "string",
|
|
27757
|
+
"description": "Owner display name, useful for distinguishing owned and followed playlists."
|
|
27519
27758
|
}
|
|
27520
27759
|
},
|
|
27521
27760
|
"required": [
|
|
27522
|
-
"
|
|
27523
|
-
"
|
|
27524
|
-
"duration"
|
|
27761
|
+
"id",
|
|
27762
|
+
"name"
|
|
27525
27763
|
],
|
|
27526
27764
|
"additionalProperties": false
|
|
27527
27765
|
},
|
|
27528
|
-
"CleaningMode": {
|
|
27529
|
-
"type": "string",
|
|
27530
|
-
"description": "Robot vacuum cleaning mode",
|
|
27531
|
-
"enum": [
|
|
27532
|
-
"AUTO",
|
|
27533
|
-
"SPOT",
|
|
27534
|
-
"EDGE",
|
|
27535
|
-
"SINGLE_ROOM",
|
|
27536
|
-
"CUSTOM"
|
|
27537
|
-
],
|
|
27538
|
-
"x-enum-varnames": [
|
|
27539
|
-
"CleaningModeAuto",
|
|
27540
|
-
"CleaningModeSpot",
|
|
27541
|
-
"CleaningModeEdge",
|
|
27542
|
-
"CleaningModeSingleRoom",
|
|
27543
|
-
"CleaningModeCustom"
|
|
27544
|
-
]
|
|
27545
|
-
},
|
|
27546
27766
|
"Artist": {
|
|
27547
27767
|
"type": "object",
|
|
27548
27768
|
"description": "Artist information",
|
|
@@ -27627,18 +27847,90 @@
|
|
|
27627
27847
|
],
|
|
27628
27848
|
"additionalProperties": false
|
|
27629
27849
|
},
|
|
27630
|
-
"
|
|
27850
|
+
"PodcastEpisode": {
|
|
27631
27851
|
"type": "object",
|
|
27852
|
+
"description": "Provider-qualified podcast episode with selection metadata.",
|
|
27632
27853
|
"properties": {
|
|
27633
27854
|
"id": {
|
|
27855
|
+
"$ref": "#/components/schemas/MediaId"
|
|
27856
|
+
},
|
|
27857
|
+
"name": {
|
|
27634
27858
|
"type": "string",
|
|
27635
|
-
"description": "Unique identifier for the playlist",
|
|
27636
27859
|
"minLength": 1
|
|
27637
27860
|
},
|
|
27861
|
+
"showId": {
|
|
27862
|
+
"$ref": "#/components/schemas/MediaId"
|
|
27863
|
+
},
|
|
27864
|
+
"releaseDate": {
|
|
27865
|
+
"type": "string",
|
|
27866
|
+
"description": "Provider release date; precision can be year, month or day."
|
|
27867
|
+
},
|
|
27868
|
+
"releaseDatePrecision": {
|
|
27869
|
+
"type": "string",
|
|
27870
|
+
"description": "Provider date precision."
|
|
27871
|
+
}
|
|
27872
|
+
},
|
|
27873
|
+
"required": [
|
|
27874
|
+
"id",
|
|
27875
|
+
"name"
|
|
27876
|
+
],
|
|
27877
|
+
"additionalProperties": false
|
|
27878
|
+
},
|
|
27879
|
+
"MovementInstruction": {
|
|
27880
|
+
"type": "object",
|
|
27881
|
+
"description": "A movement instruction for remote control",
|
|
27882
|
+
"properties": {
|
|
27883
|
+
"velocity": {
|
|
27884
|
+
"type": "number",
|
|
27885
|
+
"description": "Forward/backward speed"
|
|
27886
|
+
},
|
|
27887
|
+
"omega": {
|
|
27888
|
+
"type": "number",
|
|
27889
|
+
"description": "Angular velocity for turning"
|
|
27890
|
+
},
|
|
27891
|
+
"duration": {
|
|
27892
|
+
"type": "integer",
|
|
27893
|
+
"description": "Duration in milliseconds"
|
|
27894
|
+
}
|
|
27895
|
+
},
|
|
27896
|
+
"required": [
|
|
27897
|
+
"velocity",
|
|
27898
|
+
"omega",
|
|
27899
|
+
"duration"
|
|
27900
|
+
],
|
|
27901
|
+
"additionalProperties": false
|
|
27902
|
+
},
|
|
27903
|
+
"CleaningMode": {
|
|
27904
|
+
"type": "string",
|
|
27905
|
+
"description": "Robot vacuum cleaning mode",
|
|
27906
|
+
"enum": [
|
|
27907
|
+
"AUTO",
|
|
27908
|
+
"SPOT",
|
|
27909
|
+
"EDGE",
|
|
27910
|
+
"SINGLE_ROOM",
|
|
27911
|
+
"CUSTOM"
|
|
27912
|
+
],
|
|
27913
|
+
"x-enum-varnames": [
|
|
27914
|
+
"CleaningModeAuto",
|
|
27915
|
+
"CleaningModeSpot",
|
|
27916
|
+
"CleaningModeEdge",
|
|
27917
|
+
"CleaningModeSingleRoom",
|
|
27918
|
+
"CleaningModeCustom"
|
|
27919
|
+
]
|
|
27920
|
+
},
|
|
27921
|
+
"PodcastShow": {
|
|
27922
|
+
"type": "object",
|
|
27923
|
+
"description": "Provider-qualified podcast series; read episodes before playback.",
|
|
27924
|
+
"properties": {
|
|
27925
|
+
"id": {
|
|
27926
|
+
"$ref": "#/components/schemas/MediaId"
|
|
27927
|
+
},
|
|
27638
27928
|
"name": {
|
|
27639
27929
|
"type": "string",
|
|
27640
|
-
"description": "Playlist name",
|
|
27641
27930
|
"minLength": 1
|
|
27931
|
+
},
|
|
27932
|
+
"publisher": {
|
|
27933
|
+
"type": "string"
|
|
27642
27934
|
}
|
|
27643
27935
|
},
|
|
27644
27936
|
"required": [
|
|
@@ -28727,6 +29019,39 @@
|
|
|
28727
29019
|
],
|
|
28728
29020
|
"additionalProperties": false
|
|
28729
29021
|
},
|
|
29022
|
+
"SupportedMediaResource": {
|
|
29023
|
+
"title": "SupportedMediaResource",
|
|
29024
|
+
"description": "A provider, media type and resource-kind combination accepted by a control route.",
|
|
29025
|
+
"type": "object",
|
|
29026
|
+
"properties": {
|
|
29027
|
+
"provider": {
|
|
29028
|
+
"$ref": "#/components/schemas/MediaProvider"
|
|
29029
|
+
},
|
|
29030
|
+
"mediaType": {
|
|
29031
|
+
"type": "string",
|
|
29032
|
+
"enum": [
|
|
29033
|
+
"AUDIO",
|
|
29034
|
+
"VIDEO",
|
|
29035
|
+
"IMAGE"
|
|
29036
|
+
]
|
|
29037
|
+
},
|
|
29038
|
+
"resourceKinds": {
|
|
29039
|
+
"type": "array",
|
|
29040
|
+
"minItems": 1,
|
|
29041
|
+
"uniqueItems": true,
|
|
29042
|
+
"items": {
|
|
29043
|
+
"type": "string",
|
|
29044
|
+
"description": "Lowercase resource-kind segment from the provider URI."
|
|
29045
|
+
}
|
|
29046
|
+
}
|
|
29047
|
+
},
|
|
29048
|
+
"required": [
|
|
29049
|
+
"provider",
|
|
29050
|
+
"mediaType",
|
|
29051
|
+
"resourceKinds"
|
|
29052
|
+
],
|
|
29053
|
+
"additionalProperties": false
|
|
29054
|
+
},
|
|
28730
29055
|
"MeasurementRange": {
|
|
28731
29056
|
"type": "object",
|
|
28732
29057
|
"description": "Range of measurement values (min and max)",
|
|
@@ -28765,7 +29090,9 @@
|
|
|
28765
29090
|
"ARTIST",
|
|
28766
29091
|
"PLAYLIST",
|
|
28767
29092
|
"GENRE",
|
|
28768
|
-
"YEAR"
|
|
29093
|
+
"YEAR",
|
|
29094
|
+
"SHOW",
|
|
29095
|
+
"EPISODE"
|
|
28769
29096
|
],
|
|
28770
29097
|
"x-enum-varnames": [
|
|
28771
29098
|
"Configuration6SupportedSearchTypesTrack",
|
|
@@ -28773,7 +29100,9 @@
|
|
|
28773
29100
|
"Configuration6SupportedSearchTypesArtist",
|
|
28774
29101
|
"Configuration6SupportedSearchTypesPlaylist",
|
|
28775
29102
|
"Configuration6SupportedSearchTypesGenre",
|
|
28776
|
-
"Configuration6SupportedSearchTypesYear"
|
|
29103
|
+
"Configuration6SupportedSearchTypesYear",
|
|
29104
|
+
"Configuration6SupportedSearchTypesShow",
|
|
29105
|
+
"Configuration6SupportedSearchTypesEpisode"
|
|
28777
29106
|
]
|
|
28778
29107
|
},
|
|
28779
29108
|
"description": "List of supported search types"
|
|
@@ -30,5 +30,6 @@ Read scopes: endpoint:read. Inbound control scope: message:send. Resource permis
|
|
|
30
30
|
|
|
31
31
|
## State attributes
|
|
32
32
|
|
|
33
|
+
- [now-playing](/docs/references/capability-interfaces/media-player/1.0/attributes/now-playing.yaml)
|
|
33
34
|
- [playback-speed](/docs/references/capability-interfaces/media-player/1.0/attributes/playback-speed.yaml)
|
|
34
35
|
- [playback-state](/docs/references/capability-interfaces/media-player/1.0/attributes/playback-state.yaml)
|
|
@@ -13,7 +13,10 @@ Read scopes: endpoint:read. Inbound control scope: message:send. Resource permis
|
|
|
13
13
|
- [add-to-playlist](/docs/references/capability-interfaces/media-playlist/1.0/messages/add-to-playlist.yaml) (in): Use this exact payload schema.
|
|
14
14
|
- [create-playlist](/docs/references/capability-interfaces/media-playlist/1.0/messages/create-playlist.yaml) (in): Use this exact payload schema.
|
|
15
15
|
- [get-playlist](/docs/references/capability-interfaces/media-playlist/1.0/messages/get-playlist.yaml) (in): Use this exact payload schema.
|
|
16
|
+
- [list-playlists](/docs/references/capability-interfaces/media-playlist/1.0/messages/list-playlists.yaml) (in): List the connected customer's owned or followed playlists; use search-media for catalog search.
|
|
16
17
|
- [play-playlist](/docs/references/capability-interfaces/media-playlist/1.0/messages/play-playlist.yaml) (in): Use this exact payload schema.
|
|
18
|
+
- [playlist-contents](/docs/references/capability-interfaces/media-playlist/1.0/messages/playlist-contents.yaml) (out): A bounded playlist page containing playable tracks or episodes.
|
|
19
|
+
- [playlists](/docs/references/capability-interfaces/media-playlist/1.0/messages/playlists.yaml) (out): A page of the connected customer's playlists with exact resource IDs.
|
|
17
20
|
- [remove-from-playlist](/docs/references/capability-interfaces/media-playlist/1.0/messages/remove-from-playlist.yaml) (in): Use this exact payload schema.
|
|
18
21
|
- [shuffle-playlist](/docs/references/capability-interfaces/media-playlist/1.0/messages/shuffle-playlist.yaml) (in): Use this exact payload schema.
|
|
19
22
|
|
|
@@ -11,6 +11,8 @@ Read scopes: endpoint:read. Inbound control scope: message:send. Resource permis
|
|
|
11
11
|
## Messages
|
|
12
12
|
|
|
13
13
|
- [audio-media-results](/docs/references/capability-interfaces/media-search/1.0/messages/audio-media-results.yaml) (out): Use this exact payload schema.
|
|
14
|
+
- [get-media](/docs/references/capability-interfaces/media-search/1.0/messages/get-media.yaml) (in): Inspect an exact media resource or traverse an album/show. Use get-playlist for playlist contents.
|
|
15
|
+
- [media-details](/docs/references/capability-interfaces/media-search/1.0/messages/media-details.yaml) (out): Exact media resource details and a bounded page of its children.
|
|
14
16
|
- [search-media](/docs/references/capability-interfaces/media-search/1.0/messages/search-media.yaml) (in): Use this exact payload schema.
|
|
15
17
|
|
|
16
18
|
## State attributes
|
|
@@ -11,7 +11,7 @@ Read scopes: endpoint:read. Inbound control scope: message:send. Resource permis
|
|
|
11
11
|
## Messages
|
|
12
12
|
|
|
13
13
|
- [add-group-route-members](/docs/references/capability-interfaces/route-discovery/1.0/messages/add-group-route-members.yaml) (in): Request to add members to a group route
|
|
14
|
-
- [discover-routes](/docs/references/capability-interfaces/route-discovery/1.0/messages/discover-routes.yaml) (
|
|
14
|
+
- [discover-routes](/docs/references/capability-interfaces/route-discovery/1.0/messages/discover-routes.yaml) (in): Request to discover routes
|
|
15
15
|
- [remove-group-route-members](/docs/references/capability-interfaces/route-discovery/1.0/messages/remove-group-route-members.yaml) (in): Request to remove members from a group route
|
|
16
16
|
- [route-discovery-report](/docs/references/capability-interfaces/route-discovery/1.0/messages/route-discovery-report.yaml) (out): Report of discovered routes, group routes and their relationships. Decodes to the same model as SynchronizationRequest.
|
|
17
17
|
- [set-group-route-name](/docs/references/capability-interfaces/route-discovery/1.0/messages/set-group-route-name.yaml) (in): Request to set the name of a group route
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
- [MediaPlayerInterfaceConfiguration](/docs/references/schemas/MediaPlayerInterfaceConfiguration.json) (schemas)
|
|
12
12
|
- [MediaPlayerInterfaceFastForwardMessage](/docs/references/schemas/MediaPlayerInterfaceFastForwardMessage.json) (schemas)
|
|
13
13
|
- [MediaPlayerInterfaceNextMessage](/docs/references/schemas/MediaPlayerInterfaceNextMessage.json) (schemas)
|
|
14
|
+
- [MediaPlayerInterfaceNowPlayingAttribute](/docs/references/schemas/MediaPlayerInterfaceNowPlayingAttribute.json) (schemas)
|
|
14
15
|
- [MediaPlayerInterfacePauseMessage](/docs/references/schemas/MediaPlayerInterfacePauseMessage.json) (schemas)
|
|
15
16
|
- [MediaPlayerInterfacePlayAudioMessage](/docs/references/schemas/MediaPlayerInterfacePlayAudioMessage.json) (schemas)
|
|
16
17
|
- [MediaPlayerInterfacePlaybackSpeedAttribute](/docs/references/schemas/MediaPlayerInterfacePlaybackSpeedAttribute.json) (schemas)
|
|
@@ -30,15 +31,14 @@
|
|
|
30
31
|
- [MediaPlaylistInterfaceConfiguration](/docs/references/schemas/MediaPlaylistInterfaceConfiguration.json) (schemas)
|
|
31
32
|
- [MediaPlaylistInterfaceCreatePlaylistMessage](/docs/references/schemas/MediaPlaylistInterfaceCreatePlaylistMessage.json) (schemas)
|
|
32
33
|
- [MediaPlaylistInterfaceGetPlaylistMessage](/docs/references/schemas/MediaPlaylistInterfaceGetPlaylistMessage.json) (schemas)
|
|
34
|
+
- [MediaPlaylistInterfaceListPlaylistsMessage](/docs/references/schemas/MediaPlaylistInterfaceListPlaylistsMessage.json) (schemas)
|
|
35
|
+
- [MediaPlaylistInterfacePlaylistContentsMessage](/docs/references/schemas/MediaPlaylistInterfacePlaylistContentsMessage.json) (schemas)
|
|
36
|
+
- [MediaPlaylistInterfacePlaylistsMessage](/docs/references/schemas/MediaPlaylistInterfacePlaylistsMessage.json) (schemas)
|
|
33
37
|
- [MediaPlaylistInterfacePlayPlaylistMessage](/docs/references/schemas/MediaPlaylistInterfacePlayPlaylistMessage.json) (schemas)
|
|
34
38
|
- [MediaPlaylistInterfaceRemoveFromPlaylistMessage](/docs/references/schemas/MediaPlaylistInterfaceRemoveFromPlaylistMessage.json) (schemas)
|
|
35
39
|
- [MediaPlaylistInterfaceShufflePlaylistMessage](/docs/references/schemas/MediaPlaylistInterfaceShufflePlaylistMessage.json) (schemas)
|
|
36
40
|
- [MediaProvider](/docs/references/schemas/MediaProvider.json) (schemas)
|
|
37
41
|
- [MediaSearchCapabilityInterfaceConfiguration](/docs/references/schemas/MediaSearchCapabilityInterfaceConfiguration.json) (schemas)
|
|
38
42
|
- [MediaSearchInterfaceAudioMediaResultsMessage](/docs/references/schemas/MediaSearchInterfaceAudioMediaResultsMessage.json) (schemas)
|
|
39
|
-
- [
|
|
40
|
-
- [
|
|
41
|
-
- [MessageAuthorizationContext](/docs/references/schemas/MessageAuthorizationContext.json) (schemas)
|
|
42
|
-
- [MessageContext](/docs/references/schemas/MessageContext.json) (schemas)
|
|
43
|
-
- [MessageEndpoint](/docs/references/schemas/MessageEndpoint.json) (schemas)
|
|
44
|
-
- [MessageHeader](/docs/references/schemas/MessageHeader.json) (schemas)
|
|
43
|
+
- [MediaSearchInterfaceGetMediaMessage](/docs/references/schemas/MediaSearchInterfaceGetMediaMessage.json) (schemas)
|
|
44
|
+
- [MediaSearchInterfaceMediaDetailsMessage](/docs/references/schemas/MediaSearchInterfaceMediaDetailsMessage.json) (schemas)
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
[Schema directory](/docs/for-ai/schemas.md). Follow only the components linked by your operation.
|
|
4
4
|
|
|
5
|
+
- [MediaSearchInterfaceSearchMediaMessage](/docs/references/schemas/MediaSearchInterfaceSearchMediaMessage.json) (schemas)
|
|
6
|
+
- [Message](/docs/references/schemas/Message.json) (schemas)
|
|
7
|
+
- [MessageAuthorizationContext](/docs/references/schemas/MessageAuthorizationContext.json) (schemas)
|
|
8
|
+
- [MessageContext](/docs/references/schemas/MessageContext.json) (schemas)
|
|
9
|
+
- [MessageEndpoint](/docs/references/schemas/MessageEndpoint.json) (schemas)
|
|
10
|
+
- [MessageHeader](/docs/references/schemas/MessageHeader.json) (schemas)
|
|
5
11
|
- [MessageInterfaceConfiguration](/docs/references/schemas/MessageInterfaceConfiguration.json) (schemas)
|
|
6
12
|
- [MessageSourceNodeConfiguration](/docs/references/schemas/MessageSourceNodeConfiguration.json) (schemas)
|
|
7
13
|
- [MessageTarget](/docs/references/schemas/MessageTarget.json) (schemas)
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
- [PM10ConcentrationMeasurementInterfaceMeasuredValueAttribute](/docs/references/schemas/PM10ConcentrationMeasurementInterfaceMeasuredValueAttribute.json) (schemas)
|
|
7
7
|
- [PM25ConcentrationMeasurementInterfaceConfiguration](/docs/references/schemas/PM25ConcentrationMeasurementInterfaceConfiguration.json) (schemas)
|
|
8
8
|
- [PM25ConcentrationMeasurementInterfaceMeasuredValueAttribute](/docs/references/schemas/PM25ConcentrationMeasurementInterfaceMeasuredValueAttribute.json) (schemas)
|
|
9
|
+
- [PodcastEpisode](/docs/references/schemas/PodcastEpisode.json) (schemas)
|
|
10
|
+
- [PodcastShow](/docs/references/schemas/PodcastShow.json) (schemas)
|
|
9
11
|
- [Position](/docs/references/schemas/Position.json) (schemas)
|
|
10
12
|
- [PowerInterfaceConfiguration](/docs/references/schemas/PowerInterfaceConfiguration.json) (schemas)
|
|
11
13
|
- [PowerInterfacePowerAttribute](/docs/references/schemas/PowerInterfacePowerAttribute.json) (schemas)
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- [SupportedEvent](/docs/references/schemas/SupportedEvent.json) (schemas)
|
|
6
6
|
- [SupportedInput](/docs/references/schemas/SupportedInput.json) (schemas)
|
|
7
|
+
- [SupportedMediaResource](/docs/references/schemas/SupportedMediaResource.json) (schemas)
|
|
7
8
|
- [SynchronizationItemError](/docs/references/schemas/SynchronizationItemError.json) (schemas)
|
|
8
9
|
- [SynchronizationRequest](/docs/references/schemas/SynchronizationRequest.json) (schemas)
|
|
9
10
|
- [SyntheticEventAccepted](/docs/references/schemas/SyntheticEventAccepted.json) (schemas)
|