@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
|
@@ -114,6 +114,14 @@
|
|
|
114
114
|
"type": "string",
|
|
115
115
|
"description": "Playlist name",
|
|
116
116
|
"minLength": 1
|
|
117
|
+
},
|
|
118
|
+
"ownerId": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "Provider-scoped owner identity, when supplied by the provider."
|
|
121
|
+
},
|
|
122
|
+
"ownerName": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "Owner display name, useful for distinguishing owned and followed playlists."
|
|
117
125
|
}
|
|
118
126
|
},
|
|
119
127
|
"required": [
|
|
@@ -124,6 +132,74 @@
|
|
|
124
132
|
"title": "Playlist"
|
|
125
133
|
},
|
|
126
134
|
"description": "Playlist results"
|
|
135
|
+
},
|
|
136
|
+
"shows": {
|
|
137
|
+
"type": "array",
|
|
138
|
+
"items": {
|
|
139
|
+
"type": "object",
|
|
140
|
+
"description": "Provider-qualified podcast series; read episodes before playback.",
|
|
141
|
+
"properties": {
|
|
142
|
+
"id": {
|
|
143
|
+
"title": "MediaId",
|
|
144
|
+
"type": "string",
|
|
145
|
+
"minLength": 1,
|
|
146
|
+
"example": "portos-media://portpowered.com/spotify/audio/track/Ab123",
|
|
147
|
+
"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_-]+)$",
|
|
148
|
+
"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"
|
|
149
|
+
},
|
|
150
|
+
"name": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"minLength": 1
|
|
153
|
+
},
|
|
154
|
+
"publisher": {
|
|
155
|
+
"type": "string"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
"required": [
|
|
159
|
+
"id",
|
|
160
|
+
"name"
|
|
161
|
+
],
|
|
162
|
+
"additionalProperties": false,
|
|
163
|
+
"title": "PodcastShow"
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"episodes": {
|
|
167
|
+
"type": "array",
|
|
168
|
+
"items": {
|
|
169
|
+
"type": "object",
|
|
170
|
+
"description": "Provider-qualified podcast episode with selection metadata.",
|
|
171
|
+
"properties": {
|
|
172
|
+
"id": {
|
|
173
|
+
"$ref": "#/properties/shows/items/properties/id"
|
|
174
|
+
},
|
|
175
|
+
"name": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"minLength": 1
|
|
178
|
+
},
|
|
179
|
+
"showId": {
|
|
180
|
+
"$ref": "#/properties/shows/items/properties/id"
|
|
181
|
+
},
|
|
182
|
+
"releaseDate": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"description": "Provider release date; precision can be year, month or day."
|
|
185
|
+
},
|
|
186
|
+
"releaseDatePrecision": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "Provider date precision."
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"required": [
|
|
192
|
+
"id",
|
|
193
|
+
"name"
|
|
194
|
+
],
|
|
195
|
+
"additionalProperties": false,
|
|
196
|
+
"title": "PodcastEpisode"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"nextToken": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"minLength": 1,
|
|
202
|
+
"description": "Opaque continuation for the same search; omit when exhausted."
|
|
127
203
|
}
|
|
128
204
|
},
|
|
129
205
|
"required": [
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Inspect an exact media resource or traverse an album/show. Use get-playlist for playlist contents.",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"mediaId": {
|
|
6
|
+
"title": "MediaId",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"minLength": 1,
|
|
9
|
+
"example": "portos-media://portpowered.com/spotify/audio/track/Ab123",
|
|
10
|
+
"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_-]+)$",
|
|
11
|
+
"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"
|
|
12
|
+
},
|
|
13
|
+
"maxResults": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"minimum": 1,
|
|
16
|
+
"maximum": 50,
|
|
17
|
+
"default": 20
|
|
18
|
+
},
|
|
19
|
+
"nextToken": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1,
|
|
22
|
+
"description": "Opaque continuation for the same resource."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"mediaId"
|
|
27
|
+
],
|
|
28
|
+
"additionalProperties": false
|
|
29
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Exact media resource details and a bounded page of its children.",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"mediaId": {
|
|
6
|
+
"title": "MediaId",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"minLength": 1,
|
|
9
|
+
"example": "portos-media://portpowered.com/spotify/audio/track/Ab123",
|
|
10
|
+
"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_-]+)$",
|
|
11
|
+
"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"
|
|
12
|
+
},
|
|
13
|
+
"name": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"resourceKind": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "Provider resource kind from the media URI."
|
|
19
|
+
},
|
|
20
|
+
"tracks": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"description": "Track information",
|
|
25
|
+
"properties": {
|
|
26
|
+
"id": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "Unique identifier for the track",
|
|
29
|
+
"minLength": 1
|
|
30
|
+
},
|
|
31
|
+
"name": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Track name",
|
|
34
|
+
"minLength": 1
|
|
35
|
+
},
|
|
36
|
+
"artists": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "Artist information",
|
|
41
|
+
"properties": {
|
|
42
|
+
"id": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Unique identifier for the artist",
|
|
45
|
+
"minLength": 1
|
|
46
|
+
},
|
|
47
|
+
"name": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Artist name",
|
|
50
|
+
"minLength": 1
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": [
|
|
54
|
+
"id",
|
|
55
|
+
"name"
|
|
56
|
+
],
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"title": "Artist"
|
|
59
|
+
},
|
|
60
|
+
"description": "Track artists"
|
|
61
|
+
},
|
|
62
|
+
"album": {
|
|
63
|
+
"description": "Track album",
|
|
64
|
+
"type": "object",
|
|
65
|
+
"properties": {
|
|
66
|
+
"id": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "Unique identifier for the album",
|
|
69
|
+
"minLength": 1
|
|
70
|
+
},
|
|
71
|
+
"name": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "Album name",
|
|
74
|
+
"minLength": 1
|
|
75
|
+
},
|
|
76
|
+
"artists": {
|
|
77
|
+
"type": "array",
|
|
78
|
+
"items": {
|
|
79
|
+
"$ref": "#/properties/tracks/items/properties/artists/items"
|
|
80
|
+
},
|
|
81
|
+
"description": "Album artists"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": [
|
|
85
|
+
"id",
|
|
86
|
+
"name",
|
|
87
|
+
"artists"
|
|
88
|
+
],
|
|
89
|
+
"additionalProperties": false,
|
|
90
|
+
"title": "Album"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": [
|
|
94
|
+
"id",
|
|
95
|
+
"name",
|
|
96
|
+
"artists",
|
|
97
|
+
"album"
|
|
98
|
+
],
|
|
99
|
+
"additionalProperties": false,
|
|
100
|
+
"title": "Track"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"episodes": {
|
|
104
|
+
"type": "array",
|
|
105
|
+
"items": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"description": "Provider-qualified podcast episode with selection metadata.",
|
|
108
|
+
"properties": {
|
|
109
|
+
"id": {
|
|
110
|
+
"$ref": "#/properties/mediaId"
|
|
111
|
+
},
|
|
112
|
+
"name": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"minLength": 1
|
|
115
|
+
},
|
|
116
|
+
"showId": {
|
|
117
|
+
"$ref": "#/properties/mediaId"
|
|
118
|
+
},
|
|
119
|
+
"releaseDate": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"description": "Provider release date; precision can be year, month or day."
|
|
122
|
+
},
|
|
123
|
+
"releaseDatePrecision": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"description": "Provider date precision."
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"required": [
|
|
129
|
+
"id",
|
|
130
|
+
"name"
|
|
131
|
+
],
|
|
132
|
+
"additionalProperties": false,
|
|
133
|
+
"title": "PodcastEpisode"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"nextToken": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"minLength": 1
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"required": [
|
|
142
|
+
"mediaId",
|
|
143
|
+
"resourceKind"
|
|
144
|
+
],
|
|
145
|
+
"additionalProperties": false
|
|
146
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"type": {
|
|
9
9
|
"type": "string",
|
|
10
|
-
"description": "
|
|
10
|
+
"description": "Resource kind: track, album, artist, playlist, show or episode when advertised. Defaults to track",
|
|
11
11
|
"default": "track"
|
|
12
12
|
},
|
|
13
13
|
"album": {
|
|
@@ -21,6 +21,18 @@
|
|
|
21
21
|
"year": {
|
|
22
22
|
"type": "string",
|
|
23
23
|
"description": "Search by year, can only be used when searching albums, years, and tracks. You can pass a range like 1990-2000"
|
|
24
|
+
},
|
|
25
|
+
"maxResults": {
|
|
26
|
+
"type": "integer",
|
|
27
|
+
"minimum": 1,
|
|
28
|
+
"maximum": 50,
|
|
29
|
+
"default": 20,
|
|
30
|
+
"description": "Maximum results on one page."
|
|
31
|
+
},
|
|
32
|
+
"nextToken": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1,
|
|
35
|
+
"description": "Copy the opaque continuation from the previous result with the same query and filters."
|
|
24
36
|
}
|
|
25
37
|
},
|
|
26
38
|
"required": [
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
"title": "MediaId",
|
|
18
18
|
"type": "string",
|
|
19
19
|
"minLength": 1,
|
|
20
|
-
"
|
|
20
|
+
"example": "portos-media://portpowered.com/spotify/audio/track/Ab123",
|
|
21
|
+
"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_-]+)$",
|
|
22
|
+
"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"
|
|
21
23
|
},
|
|
22
24
|
"startedAt": {
|
|
23
25
|
"type": "string",
|
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@portpowered/reference-data",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.9",
|
|
4
4
|
"private": false,
|
|
5
|
-
"publishConfig": {
|
|
6
|
-
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/portpowered/portos-reference-data.git"
|
|
11
|
+
},
|
|
7
12
|
"type": "module",
|
|
8
13
|
"files": [
|
|
9
14
|
"generated",
|