@portpowered/reference-data 0.4.5 → 0.4.7

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.
Files changed (54) hide show
  1. package/generated/capabilities.json +135 -4
  2. package/generated/guides.json +2 -2
  3. package/generated/openapi.json +225 -14
  4. package/generated/public/docs/for-ai/api-catalog.md +123 -0
  5. package/generated/public/docs/for-ai/capability-interfaces/brightness/1.0.md +1 -0
  6. package/generated/public/docs/for-ai/capability-interfaces/media-player/1.0.md +2 -1
  7. package/generated/public/docs/for-ai/guides/lighting.md +18 -2
  8. package/generated/public/docs/for-ai/guides/using-the-api.md +19 -1
  9. package/generated/public/docs/for-ai/index.md +1 -0
  10. package/generated/public/docs/for-ai/operations/endpointQuery.md +52 -7
  11. package/generated/public/docs/for-ai/schemas/b-1.md +1 -0
  12. package/generated/public/docs/for-ai/schemas/m-1.md +2 -2
  13. package/generated/public/docs/for-ai/schemas/m-2.md +2 -0
  14. package/generated/public/docs/for-ai/schemas.md +3 -3
  15. package/generated/public/docs/references/authorization.json +6 -1
  16. package/generated/public/docs/references/authorization.yaml +3 -0
  17. package/generated/public/docs/references/capability-interfaces/brightness/1.0/messages/adjust-brightness.yaml +12 -0
  18. package/generated/public/docs/references/capability-interfaces/brightness/1.0.yaml +18 -0
  19. package/generated/public/docs/references/capability-interfaces/brightness.yaml +18 -0
  20. package/generated/public/docs/references/capability-interfaces/keypad-input/1.0/configuration.yaml +1 -0
  21. package/generated/public/docs/references/capability-interfaces/keypad-input/1.0/messages/send-key.yaml +1 -0
  22. package/generated/public/docs/references/capability-interfaces/keypad-input/1.0.yaml +2 -0
  23. package/generated/public/docs/references/capability-interfaces/keypad-input.yaml +2 -0
  24. package/generated/public/docs/references/capability-interfaces/media-player/1.0/configuration.yaml +40 -0
  25. package/generated/public/docs/references/capability-interfaces/media-player/1.0/messages/fast-forward.yaml +5 -0
  26. package/generated/public/docs/references/capability-interfaces/media-player/1.0/messages/search-and-play.yaml +39 -1
  27. package/generated/public/docs/references/capability-interfaces/media-player/1.0.yaml +89 -2
  28. package/generated/public/docs/references/capability-interfaces/media-player.yaml +89 -2
  29. package/generated/public/docs/references/capability-interfaces/speech-synthesizer/1.0/configuration.yaml +14 -0
  30. package/generated/public/docs/references/capability-interfaces/speech-synthesizer/1.0/messages/speak.yaml +7 -0
  31. package/generated/public/docs/references/capability-interfaces/speech-synthesizer/1.0.yaml +22 -1
  32. package/generated/public/docs/references/capability-interfaces/speech-synthesizer.yaml +22 -1
  33. package/generated/public/docs/references/manifest.json +253 -77
  34. package/generated/public/docs/references/openapi.yaml +215 -9
  35. package/generated/public/docs/references/schemas/BrightnessInterfaceAdjustBrightnessMessage.json +21 -0
  36. package/generated/public/docs/references/schemas/EndpointQueryRequest.json +32 -4
  37. package/generated/public/docs/references/schemas/KeypadInputInterfaceConfiguration.json +1 -0
  38. package/generated/public/docs/references/schemas/KeypadInputInterfaceSendKeyMessage.json +1 -0
  39. package/generated/public/docs/references/schemas/MediaPlayerInterfaceConfiguration.json +24 -0
  40. package/generated/public/docs/references/schemas/MediaPlayerInterfaceFastForwardMessage.json +11 -0
  41. package/generated/public/docs/references/schemas/MediaPlayerInterfaceSearchAndPlayMessage.json +23 -1
  42. package/generated/public/docs/references/schemas/MediaProvider.json +37 -0
  43. package/generated/public/docs/references/schemas/SpeechInput.json +7 -1
  44. package/generated/public/docs/references/schemas/SpeechSynthesizerInterfaceConfiguration.json +13 -0
  45. package/generated/public/docs/references/schemas/index.json +18 -0
  46. package/generated/resources/brightness/message-adjust-brightness.json +15 -0
  47. package/generated/resources/keypad-input/configuration.json +1 -0
  48. package/generated/resources/keypad-input/message-send-key.json +1 -0
  49. package/generated/resources/media-player/configuration.json +41 -0
  50. package/generated/resources/media-player/message-fast-forward.json +5 -0
  51. package/generated/resources/media-player/message-search-and-play.json +36 -1
  52. package/generated/resources/speech-synthesizer/configuration.json +18 -1
  53. package/generated/resources/speech-synthesizer/message-speak.json +7 -1
  54. package/package.json +1 -1
@@ -858,7 +858,19 @@ paths:
858
858
  operationId: endpointQuery
859
859
  tags:
860
860
  - Endpoints
861
- description: Query for endpoints
861
+ description: >-
862
+ Return a bounded page of authorized endpoints matching the shared Query expression,
863
+ including endpoints shared by other owners. Read permission is evaluated before filtering,
864
+ pagination and state expansion. See the request schema for supported fields and operators.
865
+ Use groupId to select members of a readable room/group, then intersect type or declared
866
+ interfaces to select lights. Group predicates additionally require group:read for delegated
867
+ OAuth. Repeat the complete query settings and grant when following nextToken; cursors expire
868
+ after fifteen minutes. Device attributes are returned only when expanded. Report per-target
869
+ command acceptance and observed state separately; querying a group does not grant permission
870
+ to control its members.
871
+ x-portos-conditional-scopes:
872
+ groupId:
873
+ - group:read
862
874
  requestBody:
863
875
  required: true
864
876
  content:
@@ -868,8 +880,10 @@ paths:
868
880
  example:
869
881
  query:
870
882
  match:
871
- key: name
872
- value: test
883
+ key: type
884
+ value: LIGHT
885
+ paginationContext:
886
+ maxResults: 10
873
887
  responses:
874
888
  '200':
875
889
  description: Endpoints retrieved successfully
@@ -879,10 +893,8 @@ paths:
879
893
  $ref: '#/components/schemas/EndpointQueryResponse'
880
894
  example:
881
895
  results: []
882
- paginationContext:
883
- nextToken: abc123
884
896
  '400':
885
- description: Bad request - missing required parameters
897
+ description: Invalid query, unsupported expansion, or invalid/expired/mismatched cursor.
886
898
  content:
887
899
  application/json:
888
900
  schema:
@@ -901,6 +913,36 @@ paths:
901
913
  message: Unauthorized - invalid or missing authentication token
902
914
  code: UNAUTHORIZED
903
915
  family: AUTHENTICATION
916
+ '403':
917
+ description: Missing conditional OAuth scope or permission to read a referenced group.
918
+ content:
919
+ application/json:
920
+ schema:
921
+ $ref: '#/components/schemas/Error'
922
+ example:
923
+ message: Permission to read the requested group is required.
924
+ code: FORBIDDEN
925
+ family: FORBIDDEN
926
+ '404':
927
+ description: A referenced group does not exist.
928
+ content:
929
+ application/json:
930
+ schema:
931
+ $ref: '#/components/schemas/Error'
932
+ example:
933
+ message: Requested group was not found.
934
+ code: NOT_FOUND
935
+ family: NOT_FOUND
936
+ '409':
937
+ description: A selected disabled endpoint cannot be forcibly refreshed.
938
+ content:
939
+ application/json:
940
+ schema:
941
+ $ref: '#/components/schemas/Error'
942
+ example:
943
+ message: endpoint messaging is disabled
944
+ code: ENDPOINT_DISABLED
945
+ family: CONFLICT
904
946
  '500':
905
947
  description: Internal server error
906
948
  content:
@@ -9795,12 +9837,31 @@ components:
9795
9837
  x-version: '1.0'
9796
9838
  x-type: message
9797
9839
  x-directionality: in
9840
+ description: >-
9841
+ Search for and play media by title or query using a service advertised by the endpoint.
9842
+ Omitting mediaType retains audio search behavior; video-only endpoints may default to video.
9798
9843
  type: object
9799
9844
  properties:
9800
9845
  query:
9801
9846
  type: string
9802
- description: Query to search for audio content
9847
+ description: Query to search for media content
9803
9848
  minLength: 1
9849
+ provider:
9850
+ $ref: '#/components/schemas/MediaProvider'
9851
+ mediaType:
9852
+ type: string
9853
+ enum:
9854
+ - AUDIO
9855
+ - VIDEO
9856
+ description: Media search domain. The endpoint must advertise support for the selected type.
9857
+ x-enum-varnames:
9858
+ - MediaSearchTypeAudio
9859
+ - MediaSearchTypeVideo
9860
+ timerSeconds:
9861
+ type: integer
9862
+ minimum: 1
9863
+ maximum: 86400
9864
+ description: Optional provider playback timer in seconds.
9804
9865
  required:
9805
9866
  - query
9806
9867
  additionalProperties: false
@@ -10774,6 +10835,7 @@ components:
10774
10835
  - LEFT
10775
10836
  - RIGHT
10776
10837
  - SELECT
10838
+ - HOME
10777
10839
  - BACK
10778
10840
  - EXIT
10779
10841
  - MENU
@@ -10868,6 +10930,17 @@ components:
10868
10930
  x-directionality: in
10869
10931
  type: object
10870
10932
  additionalProperties: false
10933
+ MediaPlayerInterfaceFastForwardMessage:
10934
+ x-namespace: port1/systems/zero/capability-interfaces/media-player
10935
+ x-name: fast-forward
10936
+ x-version: '1.0'
10937
+ x-type: message
10938
+ x-directionality: in
10939
+ description: >-
10940
+ Begin provider-defined fast-forward playback. This does not seek by a specific duration; use
10941
+ skip-forward or seek for a known position change.
10942
+ type: object
10943
+ additionalProperties: false
10871
10944
  MediaPlayerInterfaceStartOverMessage:
10872
10945
  x-namespace: port1/systems/zero/capability-interfaces/media-player
10873
10946
  x-name: start-over
@@ -11229,6 +11302,24 @@ components:
11229
11302
  maximum: 100
11230
11303
  required:
11231
11304
  - brightness
11305
+ BrightnessInterfaceAdjustBrightnessMessage:
11306
+ x-namespace: port1/systems/zero/capability-interfaces/brightness
11307
+ x-name: adjust-brightness
11308
+ x-version: '1.0'
11309
+ x-type: message
11310
+ x-directionality: in
11311
+ description: >-
11312
+ Adjust brightness by a signed number of percentage points. The endpoint must advertise this
11313
+ message separately from set-brightness.
11314
+ type: object
11315
+ properties:
11316
+ brightnessDelta:
11317
+ type: integer
11318
+ minimum: -100
11319
+ maximum: 100
11320
+ required:
11321
+ - brightnessDelta
11322
+ additionalProperties: false
11232
11323
  MediaSearchInterfaceAudioMediaResultsMessage:
11233
11324
  x-namespace: port1/systems/zero/capability-interfaces/media-search
11234
11325
  x-name: audio-media-results
@@ -17245,6 +17336,7 @@ components:
17245
17336
  - LEFT
17246
17337
  - RIGHT
17247
17338
  - SELECT
17339
+ - HOME
17248
17340
  - BACK
17249
17341
  - EXIT
17250
17342
  - MENU
@@ -17331,6 +17423,28 @@ components:
17331
17423
  implemented by this endpoint.
17332
17424
  type: object
17333
17425
  properties:
17426
+ supportedAudioProviders:
17427
+ type: array
17428
+ uniqueItems: true
17429
+ description: >-
17430
+ Audio services accepted by search-and-play on this endpoint. These describe command
17431
+ support, not active subscriptions.
17432
+ items:
17433
+ $ref: '#/components/schemas/MediaProvider'
17434
+ supportedVideoProviders:
17435
+ type: array
17436
+ uniqueItems: true
17437
+ description: >-
17438
+ Video services accepted by search-and-play on this endpoint. These describe command
17439
+ support, not installed applications or active subscriptions.
17440
+ items:
17441
+ $ref: '#/components/schemas/MediaProvider'
17442
+ defaultAudioProvider:
17443
+ $ref: '#/components/schemas/MediaProvider'
17444
+ description: Default service for an audio search. Must be in supportedAudioProviders.
17445
+ defaultVideoProvider:
17446
+ $ref: '#/components/schemas/MediaProvider'
17447
+ description: Default service for a video search. Must be in supportedVideoProviders.
17334
17448
  supportedPlaybackStates:
17335
17449
  type: array
17336
17450
  items:
@@ -17921,6 +18035,15 @@ components:
17921
18035
  x-version: '1.0'
17922
18036
  x-type: configuration
17923
18037
  type: object
18038
+ properties:
18039
+ supportedInputTypes:
18040
+ type: array
18041
+ uniqueItems: true
18042
+ items:
18043
+ type: string
18044
+ enum:
18045
+ - SSML
18046
+ - CANNED_TTS
17924
18047
  additionalProperties: false
17925
18048
  TemperatureSensorInterfaceConfiguration:
17926
18049
  x-namespace: port1/systems/zero/capability-interfaces/temperature-sensor
@@ -18543,18 +18666,59 @@ components:
18543
18666
  description: The value to match on
18544
18667
  EndpointQueryRequest:
18545
18668
  type: object
18669
+ additionalProperties: false
18546
18670
  required:
18547
18671
  - query
18548
18672
  properties:
18549
18673
  query:
18550
18674
  $ref: '#/components/schemas/Query'
18675
+ description: >-
18676
+ A bounded shared Query expression. An empty object selects unfiltered readable
18677
+ inventory. This endpoint supports match, and, or, and not. Scalar match keys are id,
18678
+ name, type, ownerId, manufacturer, model, and enablement. interfaces matches membership
18679
+ in the endpoint's declared interface names; groupId matches membership in a readable
18680
+ endpoint group. Comparisons, patterns, freeform search, unknown keys, ambiguous nodes,
18681
+ expressions deeper than eight levels, or more than 64 nodes return 400. Values are exact
18682
+ strings. Collections hide disabled endpoints unless the expression explicitly filters
18683
+ enablement. Results include readable shared endpoints, regardless of their owner. A
18684
+ groupId predicate additionally requires group:read for delegated OAuth and read
18685
+ permission on that group.
18551
18686
  paginationContext:
18552
- $ref: '#/components/schemas/PaginationContext'
18687
+ type: object
18688
+ additionalProperties: false
18689
+ properties:
18690
+ maxResults:
18691
+ type: integer
18692
+ minimum: 1
18693
+ maximum: 100
18694
+ default: 10
18695
+ description: Maximum authorized matching endpoints in this page.
18696
+ nextToken:
18697
+ type: string
18698
+ minLength: 1
18699
+ description: >-
18700
+ Opaque server-issued continuation token. Repeat the same query, page size,
18701
+ expansions, forceDeviceQuery setting, and authenticated grant. Modified, expired, or
18702
+ differently bound tokens return 400; restart without nextToken. Follow nextToken
18703
+ until absent, including empty pages.
18553
18704
  expand:
18554
18705
  type: array
18555
- description: Expansion tokens that request related or computed endpoint fields.
18706
+ uniqueItems: true
18707
+ maxItems: 1
18708
+ description: Optional reported state expansion; only interfaces.attributes is supported.
18556
18709
  items:
18557
18710
  type: string
18711
+ enum:
18712
+ - interfaces.attributes
18713
+ x-enum-exempt: Existing published REST expansion token shared with GET /endpoints.
18714
+ forceDeviceQuery:
18715
+ type: boolean
18716
+ default: false
18717
+ description: >-
18718
+ Refresh reported device attributes for the selected page. Requires expand to contain
18719
+ interfaces.attributes. An accepted command is not proof of device state; inspect the
18720
+ returned sample times and partial errors. Disabled endpoints cannot be forcibly
18721
+ refreshed.
18558
18722
  Simulator:
18559
18723
  description: Legacy string-name application/json projection; default representation remains unchanged.
18560
18724
  allOf:
@@ -21043,6 +21207,41 @@ components:
21043
21207
  type: string
21044
21208
  description: The ID of the view that was created or updated
21045
21209
  additionalProperties: false
21210
+ MediaProvider:
21211
+ type: string
21212
+ description: >-
21213
+ Media service identifier. A provider enum value does not imply that every endpoint supports
21214
+ that service; use the endpoint's advertised provider lists.
21215
+ enum:
21216
+ - SPOTIFY
21217
+ - AMAZON_MUSIC
21218
+ - APPLE_MUSIC
21219
+ - AUDIBLE
21220
+ - TUNE_IN
21221
+ - PANDORA
21222
+ - IHEART_RADIO
21223
+ - SIRIUSXM
21224
+ - DEEZER
21225
+ - TIDAL
21226
+ - YOUTUBE
21227
+ - NETFLIX
21228
+ - PRIME_VIDEO
21229
+ - DAILYMOTION
21230
+ x-enum-varnames:
21231
+ - MediaProviderSpotify
21232
+ - MediaProviderAmazonMusic
21233
+ - MediaProviderAppleMusic
21234
+ - MediaProviderAudible
21235
+ - MediaProviderTuneIn
21236
+ - MediaProviderPandora
21237
+ - MediaProviderIHeartRadio
21238
+ - MediaProviderSiriusXM
21239
+ - MediaProviderDeezer
21240
+ - MediaProviderTidal
21241
+ - MediaProviderYouTube
21242
+ - MediaProviderNetflix
21243
+ - MediaProviderPrimeVideo
21244
+ - MediaProviderDailymotion
21046
21245
  NotificationPayload:
21047
21246
  type: object
21048
21247
  description: Notification payload information
@@ -21529,8 +21728,15 @@ components:
21529
21728
  type: string
21530
21729
  enum:
21531
21730
  - SSML
21731
+ - CANNED_TTS
21532
21732
  ssml:
21533
21733
  type: string
21734
+ cannedTtsStringId:
21735
+ type: string
21736
+ minLength: 1
21737
+ description: >-
21738
+ Provider-defined canned speech identifier; supported only by integrations advertising
21739
+ canned speech.
21534
21740
  AttributeSchema:
21535
21741
  type: object
21536
21742
  properties:
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "x-namespace": "port1/systems/zero/capability-interfaces/brightness",
4
+ "x-name": "adjust-brightness",
5
+ "x-version": "1.0",
6
+ "x-type": "message",
7
+ "x-directionality": "in",
8
+ "description": "Adjust brightness by a signed number of percentage points. The endpoint must advertise this message separately from set-brightness.",
9
+ "type": "object",
10
+ "properties": {
11
+ "brightnessDelta": {
12
+ "type": "integer",
13
+ "minimum": -100,
14
+ "maximum": 100
15
+ }
16
+ },
17
+ "required": [
18
+ "brightnessDelta"
19
+ ],
20
+ "additionalProperties": false
21
+ }
@@ -1,22 +1,50 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "type": "object",
4
+ "additionalProperties": false,
4
5
  "required": [
5
6
  "query"
6
7
  ],
7
8
  "properties": {
8
9
  "query": {
9
- "$ref": "/docs/references/schemas/Query.json"
10
+ "$ref": "/docs/references/schemas/Query.json",
11
+ "description": "A bounded shared Query expression. An empty object selects unfiltered readable inventory. This endpoint supports match, and, or, and not. Scalar match keys are id, name, type, ownerId, manufacturer, model, and enablement. interfaces matches membership in the endpoint's declared interface names; groupId matches membership in a readable endpoint group. Comparisons, patterns, freeform search, unknown keys, ambiguous nodes, expressions deeper than eight levels, or more than 64 nodes return 400. Values are exact strings. Collections hide disabled endpoints unless the expression explicitly filters enablement. Results include readable shared endpoints, regardless of their owner. A groupId predicate additionally requires group:read for delegated OAuth and read permission on that group."
10
12
  },
11
13
  "paginationContext": {
12
- "$ref": "/docs/references/schemas/PaginationContext.json"
14
+ "type": "object",
15
+ "additionalProperties": false,
16
+ "properties": {
17
+ "maxResults": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "maximum": 100,
21
+ "default": 10,
22
+ "description": "Maximum authorized matching endpoints in this page."
23
+ },
24
+ "nextToken": {
25
+ "type": "string",
26
+ "minLength": 1,
27
+ "description": "Opaque server-issued continuation token. Repeat the same query, page size, expansions, forceDeviceQuery setting, and authenticated grant. Modified, expired, or differently bound tokens return 400; restart without nextToken. Follow nextToken until absent, including empty pages."
28
+ }
29
+ }
13
30
  },
14
31
  "expand": {
15
32
  "type": "array",
16
- "description": "Expansion tokens that request related or computed endpoint fields.",
33
+ "uniqueItems": true,
34
+ "maxItems": 1,
35
+ "description": "Optional reported state expansion; only interfaces.attributes is supported.",
17
36
  "items": {
18
- "type": "string"
37
+ "type": "string",
38
+ "enum": [
39
+ "interfaces.attributes"
40
+ ],
41
+ "x-enum-exempt": "Existing published REST expansion token shared with GET /endpoints."
19
42
  }
43
+ },
44
+ "forceDeviceQuery": {
45
+ "type": "boolean",
46
+ "default": false,
47
+ "description": "Refresh reported device attributes for the selected page. Requires expand to contain interfaces.attributes. An accepted command is not proof of device state; inspect the returned sample times and partial errors. Disabled endpoints cannot be forcibly refreshed."
20
48
  }
21
49
  }
22
50
  }
@@ -27,6 +27,7 @@
27
27
  "LEFT",
28
28
  "RIGHT",
29
29
  "SELECT",
30
+ "HOME",
30
31
  "BACK",
31
32
  "EXIT",
32
33
  "MENU",
@@ -26,6 +26,7 @@
26
26
  "LEFT",
27
27
  "RIGHT",
28
28
  "SELECT",
29
+ "HOME",
29
30
  "BACK",
30
31
  "EXIT",
31
32
  "MENU",
@@ -7,6 +7,30 @@
7
7
  "description": "Configure media playback, media selection and audio playback. Advertise only the messages implemented by this endpoint.",
8
8
  "type": "object",
9
9
  "properties": {
10
+ "supportedAudioProviders": {
11
+ "type": "array",
12
+ "uniqueItems": true,
13
+ "description": "Audio services accepted by search-and-play on this endpoint. These describe command support, not active subscriptions.",
14
+ "items": {
15
+ "$ref": "/docs/references/schemas/MediaProvider.json"
16
+ }
17
+ },
18
+ "supportedVideoProviders": {
19
+ "type": "array",
20
+ "uniqueItems": true,
21
+ "description": "Video services accepted by search-and-play on this endpoint. These describe command support, not installed applications or active subscriptions.",
22
+ "items": {
23
+ "$ref": "/docs/references/schemas/MediaProvider.json"
24
+ }
25
+ },
26
+ "defaultAudioProvider": {
27
+ "$ref": "/docs/references/schemas/MediaProvider.json",
28
+ "description": "Default service for an audio search. Must be in supportedAudioProviders."
29
+ },
30
+ "defaultVideoProvider": {
31
+ "$ref": "/docs/references/schemas/MediaProvider.json",
32
+ "description": "Default service for a video search. Must be in supportedVideoProviders."
33
+ },
10
34
  "supportedPlaybackStates": {
11
35
  "type": "array",
12
36
  "items": {
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "x-namespace": "port1/systems/zero/capability-interfaces/media-player",
4
+ "x-name": "fast-forward",
5
+ "x-version": "1.0",
6
+ "x-type": "message",
7
+ "x-directionality": "in",
8
+ "description": "Begin provider-defined fast-forward playback. This does not seek by a specific duration; use skip-forward or seek for a known position change.",
9
+ "type": "object",
10
+ "additionalProperties": false
11
+ }
@@ -5,12 +5,34 @@
5
5
  "x-version": "1.0",
6
6
  "x-type": "message",
7
7
  "x-directionality": "in",
8
+ "description": "Search for and play media by title or query using a service advertised by the endpoint. Omitting mediaType retains audio search behavior; video-only endpoints may default to video.",
8
9
  "type": "object",
9
10
  "properties": {
10
11
  "query": {
11
12
  "type": "string",
12
- "description": "Query to search for audio content",
13
+ "description": "Query to search for media content",
13
14
  "minLength": 1
15
+ },
16
+ "provider": {
17
+ "$ref": "/docs/references/schemas/MediaProvider.json"
18
+ },
19
+ "mediaType": {
20
+ "type": "string",
21
+ "enum": [
22
+ "AUDIO",
23
+ "VIDEO"
24
+ ],
25
+ "description": "Media search domain. The endpoint must advertise support for the selected type.",
26
+ "x-enum-varnames": [
27
+ "MediaSearchTypeAudio",
28
+ "MediaSearchTypeVideo"
29
+ ]
30
+ },
31
+ "timerSeconds": {
32
+ "type": "integer",
33
+ "minimum": 1,
34
+ "maximum": 86400,
35
+ "description": "Optional provider playback timer in seconds."
14
36
  }
15
37
  },
16
38
  "required": [
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "string",
4
+ "description": "Media service identifier. A provider enum value does not imply that every endpoint supports that service; use the endpoint's advertised provider lists.",
5
+ "enum": [
6
+ "SPOTIFY",
7
+ "AMAZON_MUSIC",
8
+ "APPLE_MUSIC",
9
+ "AUDIBLE",
10
+ "TUNE_IN",
11
+ "PANDORA",
12
+ "IHEART_RADIO",
13
+ "SIRIUSXM",
14
+ "DEEZER",
15
+ "TIDAL",
16
+ "YOUTUBE",
17
+ "NETFLIX",
18
+ "PRIME_VIDEO",
19
+ "DAILYMOTION"
20
+ ],
21
+ "x-enum-varnames": [
22
+ "MediaProviderSpotify",
23
+ "MediaProviderAmazonMusic",
24
+ "MediaProviderAppleMusic",
25
+ "MediaProviderAudible",
26
+ "MediaProviderTuneIn",
27
+ "MediaProviderPandora",
28
+ "MediaProviderIHeartRadio",
29
+ "MediaProviderSiriusXM",
30
+ "MediaProviderDeezer",
31
+ "MediaProviderTidal",
32
+ "MediaProviderYouTube",
33
+ "MediaProviderNetflix",
34
+ "MediaProviderPrimeVideo",
35
+ "MediaProviderDailymotion"
36
+ ]
37
+ }
@@ -9,11 +9,17 @@
9
9
  "type": {
10
10
  "type": "string",
11
11
  "enum": [
12
- "SSML"
12
+ "SSML",
13
+ "CANNED_TTS"
13
14
  ]
14
15
  },
15
16
  "ssml": {
16
17
  "type": "string"
18
+ },
19
+ "cannedTtsStringId": {
20
+ "type": "string",
21
+ "minLength": 1,
22
+ "description": "Provider-defined canned speech identifier; supported only by integrations advertising canned speech."
17
23
  }
18
24
  }
19
25
  }
@@ -5,5 +5,18 @@
5
5
  "x-version": "1.0",
6
6
  "x-type": "configuration",
7
7
  "type": "object",
8
+ "properties": {
9
+ "supportedInputTypes": {
10
+ "type": "array",
11
+ "uniqueItems": true,
12
+ "items": {
13
+ "type": "string",
14
+ "enum": [
15
+ "SSML",
16
+ "CANNED_TTS"
17
+ ]
18
+ }
19
+ }
20
+ },
8
21
  "additionalProperties": false
9
22
  }
@@ -361,6 +361,12 @@
361
361
  "path": "/docs/references/schemas/BrandingInformation.json",
362
362
  "source": "/docs/references/openapi.yaml#/components/schemas/BrandingInformation"
363
363
  },
364
+ {
365
+ "kind": "schemas",
366
+ "name": "BrightnessInterfaceAdjustBrightnessMessage",
367
+ "path": "/docs/references/schemas/BrightnessInterfaceAdjustBrightnessMessage.json",
368
+ "source": "/docs/references/openapi.yaml#/components/schemas/BrightnessInterfaceAdjustBrightnessMessage"
369
+ },
364
370
  {
365
371
  "kind": "schemas",
366
372
  "name": "BrightnessInterfaceBrightnessAttribute",
@@ -2077,6 +2083,12 @@
2077
2083
  "path": "/docs/references/schemas/MediaPlayerInterfaceConfiguration.json",
2078
2084
  "source": "/docs/references/openapi.yaml#/components/schemas/MediaPlayerInterfaceConfiguration"
2079
2085
  },
2086
+ {
2087
+ "kind": "schemas",
2088
+ "name": "MediaPlayerInterfaceFastForwardMessage",
2089
+ "path": "/docs/references/schemas/MediaPlayerInterfaceFastForwardMessage.json",
2090
+ "source": "/docs/references/openapi.yaml#/components/schemas/MediaPlayerInterfaceFastForwardMessage"
2091
+ },
2080
2092
  {
2081
2093
  "kind": "schemas",
2082
2094
  "name": "MediaPlayerInterfaceNextMessage",
@@ -2215,6 +2227,12 @@
2215
2227
  "path": "/docs/references/schemas/MediaPlaylistInterfaceShufflePlaylistMessage.json",
2216
2228
  "source": "/docs/references/openapi.yaml#/components/schemas/MediaPlaylistInterfaceShufflePlaylistMessage"
2217
2229
  },
2230
+ {
2231
+ "kind": "schemas",
2232
+ "name": "MediaProvider",
2233
+ "path": "/docs/references/schemas/MediaProvider.json",
2234
+ "source": "/docs/references/openapi.yaml#/components/schemas/MediaProvider"
2235
+ },
2218
2236
  {
2219
2237
  "kind": "schemas",
2220
2238
  "name": "MediaSearchCapabilityInterfaceConfiguration",
@@ -0,0 +1,15 @@
1
+ {
2
+ "description": "Adjust brightness by a signed number of percentage points. The endpoint must advertise this message separately from set-brightness.",
3
+ "type": "object",
4
+ "properties": {
5
+ "brightnessDelta": {
6
+ "type": "integer",
7
+ "minimum": -100,
8
+ "maximum": 100
9
+ }
10
+ },
11
+ "required": [
12
+ "brightnessDelta"
13
+ ],
14
+ "additionalProperties": false
15
+ }
@@ -21,6 +21,7 @@
21
21
  "LEFT",
22
22
  "RIGHT",
23
23
  "SELECT",
24
+ "HOME",
24
25
  "BACK",
25
26
  "EXIT",
26
27
  "MENU",
@@ -19,6 +19,7 @@
19
19
  "LEFT",
20
20
  "RIGHT",
21
21
  "SELECT",
22
+ "HOME",
22
23
  "BACK",
23
24
  "EXIT",
24
25
  "MENU",