@seamapi/types 1.1126.0 → 1.1128.0

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 (50) hide show
  1. package/lib/seam/connect/models/action-attempts/pause-speaker-playback.js +26 -14
  2. package/lib/seam/connect/models/action-attempts/pause-speaker-playback.js.map +1 -1
  3. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.js +26 -14
  4. package/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.js.map +1 -1
  5. package/lib/seam/connect/models/action-attempts/play-speaker-chime.js +26 -14
  6. package/lib/seam/connect/models/action-attempts/play-speaker-chime.js.map +1 -1
  7. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.js +26 -14
  8. package/lib/seam/connect/models/action-attempts/play-speaker-favorite.js.map +1 -1
  9. package/lib/seam/connect/models/action-attempts/resume-speaker-playback.js +26 -14
  10. package/lib/seam/connect/models/action-attempts/resume-speaker-playback.js.map +1 -1
  11. package/lib/seam/connect/models/action-attempts/set-speaker-mute.js +26 -14
  12. package/lib/seam/connect/models/action-attempts/set-speaker-mute.js.map +1 -1
  13. package/lib/seam/connect/models/action-attempts/set-speaker-volume.js +26 -14
  14. package/lib/seam/connect/models/action-attempts/set-speaker-volume.js.map +1 -1
  15. package/lib/seam/connect/models/customer/access-grant-resources.d.ts +14 -14
  16. package/lib/seam/connect/models/customer/customer-data.d.ts +24 -24
  17. package/lib/seam/connect/models/customer/customer-delete-data.d.ts +2 -2
  18. package/lib/seam/connect/models/customer/customer-portal.d.ts +214 -24
  19. package/lib/seam/connect/models/customer/customer-portal.js +23 -0
  20. package/lib/seam/connect/models/customer/customer-portal.js.map +1 -1
  21. package/lib/seam/connect/models/customization-profiles/customization-profile.d.ts +266 -0
  22. package/lib/seam/connect/models/customization-profiles/customization-profile.js +4 -0
  23. package/lib/seam/connect/models/customization-profiles/customization-profile.js.map +1 -1
  24. package/lib/seam/connect/models/devices/capability-properties/speaker.js +1 -0
  25. package/lib/seam/connect/models/devices/capability-properties/speaker.js.map +1 -1
  26. package/lib/seam/connect/models/devices/device-metadata.js +6 -2
  27. package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
  28. package/lib/seam/connect/models/devices/device.js +48 -24
  29. package/lib/seam/connect/models/devices/device.js.map +1 -1
  30. package/lib/seam/connect/models/events/seam-event.d.ts +12 -12
  31. package/lib/seam/connect/models/events/spaces.d.ts +24 -24
  32. package/lib/seam/connect/openapi.js +649 -38
  33. package/lib/seam/connect/openapi.js.map +1 -1
  34. package/lib/seam/connect/route-types.d.ts +693 -144
  35. package/package.json +1 -1
  36. package/src/lib/seam/connect/internal/schemas.ts +1 -0
  37. package/src/lib/seam/connect/models/action-attempts/pause-speaker-playback.ts +29 -19
  38. package/src/lib/seam/connect/models/action-attempts/play-speaker-audio-clip.ts +29 -19
  39. package/src/lib/seam/connect/models/action-attempts/play-speaker-chime.ts +29 -19
  40. package/src/lib/seam/connect/models/action-attempts/play-speaker-favorite.ts +29 -19
  41. package/src/lib/seam/connect/models/action-attempts/resume-speaker-playback.ts +29 -19
  42. package/src/lib/seam/connect/models/action-attempts/set-speaker-mute.ts +29 -19
  43. package/src/lib/seam/connect/models/action-attempts/set-speaker-volume.ts +29 -19
  44. package/src/lib/seam/connect/models/customer/customer-portal.ts +24 -0
  45. package/src/lib/seam/connect/models/customization-profiles/customization-profile.ts +6 -0
  46. package/src/lib/seam/connect/models/devices/capability-properties/speaker.ts +1 -0
  47. package/src/lib/seam/connect/models/devices/device-metadata.ts +6 -2
  48. package/src/lib/seam/connect/models/devices/device.ts +48 -28
  49. package/src/lib/seam/connect/openapi.ts +732 -38
  50. package/src/lib/seam/connect/route-types.ts +941 -154
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.1126.0",
3
+ "version": "1.1128.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -44,6 +44,7 @@ export {
44
44
  customer,
45
45
  customer_data,
46
46
  customer_portal,
47
+ customer_portal_features,
47
48
  customer_portal_theme,
48
49
  datetime,
49
50
  device_capability_flags,
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('PAUSE_SPEAKER_PLAYBACK')
11
- .describe(
12
- 'Action attempt to track the status of pausing playback on a speaker.',
13
- )
9
+ const action_type = z.literal('PAUSE_SPEAKER_PLAYBACK').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of pausing playback on a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -36,19 +37,28 @@ const result = z
36
37
  export const pause_speaker_playback_action_attempt = z.discriminatedUnion(
37
38
  'status',
38
39
  [
39
- common_pending_action_attempt
40
- .extend({
41
- action_type,
42
- })
43
- .describe('Pausing playback on the speaker is pending.'),
44
- common_succeeded_action_attempt
45
- .extend({
46
- action_type,
47
- result,
48
- })
49
- .describe('Pausing playback on the speaker succeeded.'),
50
- common_failed_action_attempt
51
- .extend({ action_type, error })
52
- .describe('Pausing playback on the speaker failed.'),
40
+ common_pending_action_attempt.extend({
41
+ action_type,
42
+ }).describe(`
43
+ ---
44
+ undocumented: Unreleased.
45
+ ---
46
+ Pausing playback on the speaker is pending.
47
+ `),
48
+ common_succeeded_action_attempt.extend({
49
+ action_type,
50
+ result,
51
+ }).describe(`
52
+ ---
53
+ undocumented: Unreleased.
54
+ ---
55
+ Pausing playback on the speaker succeeded.
56
+ `),
57
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
58
+ ---
59
+ undocumented: Unreleased.
60
+ ---
61
+ Pausing playback on the speaker failed.
62
+ `),
53
63
  ],
54
64
  )
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('PLAY_SPEAKER_AUDIO_CLIP')
11
- .describe(
12
- 'Action attempt to track the status of playing an audio clip on a speaker.',
13
- )
9
+ const action_type = z.literal('PLAY_SPEAKER_AUDIO_CLIP').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of playing an audio clip on a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -28,19 +29,28 @@ const result = z.object({}).describe('Result of the action.')
28
29
  export const play_speaker_audio_clip_action_attempt = z.discriminatedUnion(
29
30
  'status',
30
31
  [
31
- common_pending_action_attempt
32
- .extend({
33
- action_type,
34
- })
35
- .describe('Playing an audio clip on the speaker is pending.'),
36
- common_succeeded_action_attempt
37
- .extend({
38
- action_type,
39
- result,
40
- })
41
- .describe('Playing an audio clip on the speaker succeeded.'),
42
- common_failed_action_attempt
43
- .extend({ action_type, error })
44
- .describe('Playing an audio clip on the speaker failed.'),
32
+ common_pending_action_attempt.extend({
33
+ action_type,
34
+ }).describe(`
35
+ ---
36
+ undocumented: Unreleased.
37
+ ---
38
+ Playing an audio clip on the speaker is pending.
39
+ `),
40
+ common_succeeded_action_attempt.extend({
41
+ action_type,
42
+ result,
43
+ }).describe(`
44
+ ---
45
+ undocumented: Unreleased.
46
+ ---
47
+ Playing an audio clip on the speaker succeeded.
48
+ `),
49
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
50
+ ---
51
+ undocumented: Unreleased.
52
+ ---
53
+ Playing an audio clip on the speaker failed.
54
+ `),
45
55
  ],
46
56
  )
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('PLAY_SPEAKER_CHIME')
11
- .describe(
12
- 'Action attempt to track the status of playing a chime on a speaker.',
13
- )
9
+ const action_type = z.literal('PLAY_SPEAKER_CHIME').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of playing a chime on a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -28,19 +29,28 @@ const result = z.object({}).describe('Result of the action.')
28
29
  export const play_speaker_chime_action_attempt = z.discriminatedUnion(
29
30
  'status',
30
31
  [
31
- common_pending_action_attempt
32
- .extend({
33
- action_type,
34
- })
35
- .describe('Playing a chime on the speaker is pending.'),
36
- common_succeeded_action_attempt
37
- .extend({
38
- action_type,
39
- result,
40
- })
41
- .describe('Playing a chime on the speaker succeeded.'),
42
- common_failed_action_attempt
43
- .extend({ action_type, error })
44
- .describe('Playing a chime on the speaker failed.'),
32
+ common_pending_action_attempt.extend({
33
+ action_type,
34
+ }).describe(`
35
+ ---
36
+ undocumented: Unreleased.
37
+ ---
38
+ Playing a chime on the speaker is pending.
39
+ `),
40
+ common_succeeded_action_attempt.extend({
41
+ action_type,
42
+ result,
43
+ }).describe(`
44
+ ---
45
+ undocumented: Unreleased.
46
+ ---
47
+ Playing a chime on the speaker succeeded.
48
+ `),
49
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
50
+ ---
51
+ undocumented: Unreleased.
52
+ ---
53
+ Playing a chime on the speaker failed.
54
+ `),
45
55
  ],
46
56
  )
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('PLAY_SPEAKER_FAVORITE')
11
- .describe(
12
- 'Action attempt to track the status of playing a favorite on a speaker.',
13
- )
9
+ const action_type = z.literal('PLAY_SPEAKER_FAVORITE').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of playing a favorite on a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -36,19 +37,28 @@ const result = z
36
37
  export const play_speaker_favorite_action_attempt = z.discriminatedUnion(
37
38
  'status',
38
39
  [
39
- common_pending_action_attempt
40
- .extend({
41
- action_type,
42
- })
43
- .describe('Playing a favorite on the speaker is pending.'),
44
- common_succeeded_action_attempt
45
- .extend({
46
- action_type,
47
- result,
48
- })
49
- .describe('Playing a favorite on the speaker succeeded.'),
50
- common_failed_action_attempt
51
- .extend({ action_type, error })
52
- .describe('Playing a favorite on the speaker failed.'),
40
+ common_pending_action_attempt.extend({
41
+ action_type,
42
+ }).describe(`
43
+ ---
44
+ undocumented: Unreleased.
45
+ ---
46
+ Playing a favorite on the speaker is pending.
47
+ `),
48
+ common_succeeded_action_attempt.extend({
49
+ action_type,
50
+ result,
51
+ }).describe(`
52
+ ---
53
+ undocumented: Unreleased.
54
+ ---
55
+ Playing a favorite on the speaker succeeded.
56
+ `),
57
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
58
+ ---
59
+ undocumented: Unreleased.
60
+ ---
61
+ Playing a favorite on the speaker failed.
62
+ `),
53
63
  ],
54
64
  )
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('RESUME_SPEAKER_PLAYBACK')
11
- .describe(
12
- 'Action attempt to track the status of resuming playback on a speaker.',
13
- )
9
+ const action_type = z.literal('RESUME_SPEAKER_PLAYBACK').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of resuming playback on a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -36,19 +37,28 @@ const result = z
36
37
  export const resume_speaker_playback_action_attempt = z.discriminatedUnion(
37
38
  'status',
38
39
  [
39
- common_pending_action_attempt
40
- .extend({
41
- action_type,
42
- })
43
- .describe('Resuming playback on the speaker is pending.'),
44
- common_succeeded_action_attempt
45
- .extend({
46
- action_type,
47
- result,
48
- })
49
- .describe('Resuming playback on the speaker succeeded.'),
50
- common_failed_action_attempt
51
- .extend({ action_type, error })
52
- .describe('Resuming playback on the speaker failed.'),
40
+ common_pending_action_attempt.extend({
41
+ action_type,
42
+ }).describe(`
43
+ ---
44
+ undocumented: Unreleased.
45
+ ---
46
+ Resuming playback on the speaker is pending.
47
+ `),
48
+ common_succeeded_action_attempt.extend({
49
+ action_type,
50
+ result,
51
+ }).describe(`
52
+ ---
53
+ undocumented: Unreleased.
54
+ ---
55
+ Resuming playback on the speaker succeeded.
56
+ `),
57
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
58
+ ---
59
+ undocumented: Unreleased.
60
+ ---
61
+ Resuming playback on the speaker failed.
62
+ `),
53
63
  ],
54
64
  )
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('SET_SPEAKER_MUTE')
11
- .describe(
12
- 'Action attempt to track the status of muting or unmuting a speaker.',
13
- )
9
+ const action_type = z.literal('SET_SPEAKER_MUTE').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of muting or unmuting a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -26,18 +27,27 @@ const error = z
26
27
  const result = z.object({}).describe('Result of the action.')
27
28
 
28
29
  export const set_speaker_mute_action_attempt = z.discriminatedUnion('status', [
29
- common_pending_action_attempt
30
- .extend({
31
- action_type,
32
- })
33
- .describe('Muting or unmuting the speaker is pending.'),
34
- common_succeeded_action_attempt
35
- .extend({
36
- action_type,
37
- result,
38
- })
39
- .describe('Muting or unmuting the speaker succeeded.'),
40
- common_failed_action_attempt
41
- .extend({ action_type, error })
42
- .describe('Muting or unmuting the speaker failed.'),
30
+ common_pending_action_attempt.extend({
31
+ action_type,
32
+ }).describe(`
33
+ ---
34
+ undocumented: Unreleased.
35
+ ---
36
+ Muting or unmuting the speaker is pending.
37
+ `),
38
+ common_succeeded_action_attempt.extend({
39
+ action_type,
40
+ result,
41
+ }).describe(`
42
+ ---
43
+ undocumented: Unreleased.
44
+ ---
45
+ Muting or unmuting the speaker succeeded.
46
+ `),
47
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
48
+ ---
49
+ undocumented: Unreleased.
50
+ ---
51
+ Muting or unmuting the speaker failed.
52
+ `),
43
53
  ])
@@ -6,11 +6,12 @@ import {
6
6
  common_succeeded_action_attempt,
7
7
  } from './common.js'
8
8
 
9
- const action_type = z
10
- .literal('SET_SPEAKER_VOLUME')
11
- .describe(
12
- 'Action attempt to track the status of setting the volume on a speaker.',
13
- )
9
+ const action_type = z.literal('SET_SPEAKER_VOLUME').describe(`
10
+ ---
11
+ undocumented: Unreleased.
12
+ ---
13
+ Action attempt to track the status of setting the volume on a speaker.
14
+ `)
14
15
 
15
16
  const error = z
16
17
  .object({
@@ -28,19 +29,28 @@ const result = z.object({}).describe('Result of the action.')
28
29
  export const set_speaker_volume_action_attempt = z.discriminatedUnion(
29
30
  'status',
30
31
  [
31
- common_pending_action_attempt
32
- .extend({
33
- action_type,
34
- })
35
- .describe('Setting the speaker volume is pending.'),
36
- common_succeeded_action_attempt
37
- .extend({
38
- action_type,
39
- result,
40
- })
41
- .describe('Setting the speaker volume succeeded.'),
42
- common_failed_action_attempt
43
- .extend({ action_type, error })
44
- .describe('Setting the speaker volume failed.'),
32
+ common_pending_action_attempt.extend({
33
+ action_type,
34
+ }).describe(`
35
+ ---
36
+ undocumented: Unreleased.
37
+ ---
38
+ Setting the speaker volume is pending.
39
+ `),
40
+ common_succeeded_action_attempt.extend({
41
+ action_type,
42
+ result,
43
+ }).describe(`
44
+ ---
45
+ undocumented: Unreleased.
46
+ ---
47
+ Setting the speaker volume succeeded.
48
+ `),
49
+ common_failed_action_attempt.extend({ action_type, error }).describe(`
50
+ ---
51
+ undocumented: Unreleased.
52
+ ---
53
+ Setting the speaker volume failed.
54
+ `),
45
55
  ],
46
56
  )
@@ -150,6 +150,30 @@ const base_features = z.object({
150
150
  .describe('Configuration for the configure feature.'),
151
151
  })
152
152
 
153
+ export const customer_portal_features = z
154
+ .object({
155
+ connect: base_connect_feature
156
+ .partial()
157
+ .describe('Configuration for the connect accounts feature.'),
158
+ manage: base_manage_feature
159
+ .partial()
160
+ .describe('Configuration for the manage feature.'),
161
+ manage_devices: base_manage_devices_feature.partial().describe(`
162
+ Configuration for the manage devices feature.
163
+ ---
164
+ deprecated: Use \`manage\` instead.
165
+ ---
166
+ `),
167
+ organize: base_organize_feature
168
+ .partial()
169
+ .describe('Configuration for the organize feature.'),
170
+ configure: base_configure_feature
171
+ .partial()
172
+ .describe('Configuration for the configure feature.'),
173
+ })
174
+ .partial()
175
+ .describe('Customer portal features. Settings you omit use the Seam default.')
176
+
153
177
  export const portal_configuration_base = z.object({
154
178
  features: base_features.default({}),
155
179
  is_embedded: z
@@ -1,6 +1,7 @@
1
1
  import * as z from 'zod/v3'
2
2
 
3
3
  import { css_color, hex_color_code } from '../colors.js'
4
+ import { customer_portal_features } from '../customer/customer-portal.js'
4
5
  import { datetime } from '../datetime.js'
5
6
 
6
7
  export const customer_portal_theme = z.object({
@@ -133,6 +134,11 @@ export const customization_profile = z.object({
133
134
  .optional()
134
135
  .describe('Theme for the Instant Keys apps.'),
135
136
  message_overrides: message_overrides.optional(),
137
+ customer_portal_features: customer_portal_features
138
+ .optional()
139
+ .describe(
140
+ "Features for customer portals that use this profile. A setting passed when creating the portal takes precedence over the profile's. Changes apply to existing portals the next time they load.",
141
+ ),
136
142
  }).describe(`
137
143
  ---
138
144
  title: Customization Profile
@@ -72,6 +72,7 @@ export const speaker_capability_properties = z.object({
72
72
  .optional().describe(`
73
73
  ---
74
74
  property_group_key: speakers
75
+ undocumented: Unreleased.
75
76
  ---
76
77
  Audio state and capabilities of the speaker.
77
78
  `),
@@ -1357,8 +1357,12 @@ export const device_metadata = z
1357
1357
  ),
1358
1358
  })
1359
1359
  .partial()
1360
- .optional()
1361
- .describe('Metadata for a Sonos speaker.'),
1360
+ .optional().describe(`
1361
+ ---
1362
+ undocumented: Unreleased.
1363
+ ---
1364
+ Metadata for a Sonos speaker.
1365
+ `),
1362
1366
  })
1363
1367
  .partial().describe(`
1364
1368
  ---
@@ -111,34 +111,54 @@ export const device_capability_flags = z
111
111
  .describe(
112
112
  'Indicates whether the camera supports streaming live video through a camera live view session.',
113
113
  ),
114
- can_set_speaker_volume: z
115
- .boolean()
116
- .describe('Indicates whether the speaker supports setting its volume.'),
117
- can_mute_speaker: z
118
- .boolean()
119
- .describe('Indicates whether the speaker supports muting.'),
120
- can_unmute_speaker: z
121
- .boolean()
122
- .describe('Indicates whether the speaker supports unmuting.'),
123
- can_pause_speaker_playback: z
124
- .boolean()
125
- .describe('Indicates whether the speaker supports pausing playback.'),
126
- can_resume_speaker_playback: z
127
- .boolean()
128
- .describe('Indicates whether the speaker supports resuming playback.'),
129
- can_play_speaker_chime: z
130
- .boolean()
131
- .describe('Indicates whether the speaker supports playing a chime.'),
132
- can_play_speaker_favorite: z
133
- .boolean()
134
- .describe(
135
- "Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.",
136
- ),
137
- can_play_speaker_audio_clip: z
138
- .boolean()
139
- .describe(
140
- 'Indicates whether the speaker supports playing an audio clip from a URL.',
141
- ),
114
+ can_set_speaker_volume: z.boolean().describe(`
115
+ ---
116
+ undocumented: Unreleased.
117
+ ---
118
+ Indicates whether the speaker supports setting its volume.
119
+ `),
120
+ can_mute_speaker: z.boolean().describe(`
121
+ ---
122
+ undocumented: Unreleased.
123
+ ---
124
+ Indicates whether the speaker supports muting.
125
+ `),
126
+ can_unmute_speaker: z.boolean().describe(`
127
+ ---
128
+ undocumented: Unreleased.
129
+ ---
130
+ Indicates whether the speaker supports unmuting.
131
+ `),
132
+ can_pause_speaker_playback: z.boolean().describe(`
133
+ ---
134
+ undocumented: Unreleased.
135
+ ---
136
+ Indicates whether the speaker supports pausing playback.
137
+ `),
138
+ can_resume_speaker_playback: z.boolean().describe(`
139
+ ---
140
+ undocumented: Unreleased.
141
+ ---
142
+ Indicates whether the speaker supports resuming playback.
143
+ `),
144
+ can_play_speaker_chime: z.boolean().describe(`
145
+ ---
146
+ undocumented: Unreleased.
147
+ ---
148
+ Indicates whether the speaker supports playing a chime.
149
+ `),
150
+ can_play_speaker_favorite: z.boolean().describe(`
151
+ ---
152
+ undocumented: Unreleased.
153
+ ---
154
+ Indicates whether the speaker supports listing and playing the favorites saved in the speaker manufacturer's app, such as playlists and radio stations.
155
+ `),
156
+ can_play_speaker_audio_clip: z.boolean().describe(`
157
+ ---
158
+ undocumented: Unreleased.
159
+ ---
160
+ Indicates whether the speaker supports playing an audio clip from a URL.
161
+ `),
142
162
  })
143
163
  .partial()
144
164