@seamapi/types 1.360.0 → 1.360.1

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 (31) hide show
  1. package/dist/connect.cjs +899 -569
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +3626 -2951
  4. package/lib/seam/connect/models/acs/acs-credential.js +94 -51
  5. package/lib/seam/connect/models/acs/acs-credential.js.map +1 -1
  6. package/lib/seam/connect/models/acs/acs-encoder.js +12 -7
  7. package/lib/seam/connect/models/acs/acs-encoder.js.map +1 -1
  8. package/lib/seam/connect/models/acs/acs-entrance.js +37 -14
  9. package/lib/seam/connect/models/acs/acs-entrance.js.map +1 -1
  10. package/lib/seam/connect/models/acs/acs-system.js +48 -41
  11. package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
  12. package/lib/seam/connect/models/acs/acs-user.js +45 -32
  13. package/lib/seam/connect/models/acs/acs-user.js.map +1 -1
  14. package/lib/seam/connect/models/thermostats/climate-preset.js +12 -10
  15. package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -1
  16. package/lib/seam/connect/models/thermostats/thermostat-schedule.js +19 -12
  17. package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -1
  18. package/lib/seam/connect/openapi.d.ts +45 -23
  19. package/lib/seam/connect/openapi.js +557 -401
  20. package/lib/seam/connect/openapi.js.map +1 -1
  21. package/lib/seam/connect/route-types.d.ts +3581 -2928
  22. package/package.json +1 -1
  23. package/src/lib/seam/connect/models/acs/acs-credential.ts +162 -51
  24. package/src/lib/seam/connect/models/acs/acs-encoder.ts +22 -7
  25. package/src/lib/seam/connect/models/acs/acs-entrance.ts +65 -18
  26. package/src/lib/seam/connect/models/acs/acs-system.ts +81 -52
  27. package/src/lib/seam/connect/models/acs/acs-user.ts +69 -32
  28. package/src/lib/seam/connect/models/thermostats/climate-preset.ts +28 -10
  29. package/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +31 -12
  30. package/src/lib/seam/connect/openapi.ts +698 -401
  31. package/src/lib/seam/connect/route-types.ts +3581 -2928
@@ -5,25 +5,25 @@ export const acs_system_capability_flags = z.object({
5
5
  .boolean()
6
6
  .optional()
7
7
  .describe(
8
- 'Indicates whether it is possible to [launch enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the `acs_system`.',
8
+ 'Indicates whether it is possible to [launch enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access/issuing-mobile-credentials-from-an-access-control-system#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
9
9
  ),
10
10
  can_create_acs_access_groups: z
11
11
  .boolean()
12
12
  .optional()
13
13
  .describe(
14
- 'Indicates whether the `acs_system` supports creating [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).',
14
+ 'Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports creating [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).',
15
15
  ),
16
16
  can_remove_acs_users_from_acs_access_groups: z
17
17
  .boolean()
18
18
  .optional()
19
19
  .describe(
20
- 'Indicates whether the `acs_system` supports [removing users from access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#remove-an-acs-user-from-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).',
20
+ 'Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports [removing users from access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#remove-an-acs-user-from-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).',
21
21
  ),
22
22
  can_add_acs_users_to_acs_access_groups: z
23
23
  .boolean()
24
24
  .optional()
25
25
  .describe(
26
- 'Indicates whether the `acs_system` supports [adding users to access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#add-an-acs-user-to-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).',
26
+ 'Indicates whether the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) supports [adding users to access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups#add-an-acs-user-to-an-access-group). See also [Access Group-based Access Control Systems](https://docs.seam.co/latest/capability-guides/access-systems/understanding-access-control-system-differences#access-group-based-access-control-systems).',
27
27
  ),
28
28
  })
29
29
 
@@ -31,7 +31,9 @@ export const location = z.object({
31
31
  time_zone: z
32
32
  .string()
33
33
  .nullable()
34
- .describe('Time zone in which the `acs_system` is located.'),
34
+ .describe(
35
+ 'Time zone in which the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) is located.',
36
+ ),
35
37
  })
36
38
 
37
39
  // If changed, update seam.acs_system.external_type generated column
@@ -67,14 +69,16 @@ const common_acs_system_error = z.object({
67
69
 
68
70
  const error_code_description =
69
71
  'Unique identifier of the type of error. Enables quick recognition and categorization of the issue.'
72
+ const warning_code_description =
73
+ 'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.'
70
74
 
71
75
  const seam_bridge_disconnected = common_acs_system_error.extend({
72
76
  error_code: z
73
77
  .literal('seam_bridge_disconnected')
74
78
  .describe(error_code_description),
75
79
  })
76
- .describe(`Indicates that the Seam API cannot communicate with the [Seam Bridge](https://docs.seam.co/latest/capability-guides/seam-bridge), for example, if the Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline.
77
- This error might also occur if the Seam Bridge is connected to the wrong [workspace](https://docs.seam.co/latest/core-concepts/workspaces).
80
+ .describe(`Indicates that the Seam API cannot communicate with [Seam Bridge](https://docs.seam.co/latest/capability-guides/seam-bridge), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline.
81
+ This error might also occur if Seam Bridge is connected to the wrong [workspace](https://docs.seam.co/latest/core-concepts/workspaces).
78
82
  See also [Troubleshooting Your Access Control System](https://docs.seam.co/latest/capability-guides/capability-guides/access-systems/troubleshooting-your-access-control-system#acs_system.errors.seam_bridge_disconnected).`)
79
83
 
80
84
  const visionline_instance_unreachable = common_acs_system_error.extend({
@@ -82,7 +86,7 @@ const visionline_instance_unreachable = common_acs_system_error.extend({
82
86
  .literal('visionline_instance_unreachable')
83
87
  .describe(error_code_description),
84
88
  })
85
- .describe(`Indicates that the Seam Bridge is functioning correctly and the Seam API can communicate with the Seam Bridge, but the Seam API cannot connect to the on-premises [Visionline access control system](https://docs.seam.co/latest/device-and-system-integration-guides/assa-abloy-visionline-access-control-system).
89
+ .describe(`Indicates that [Seam Bridge](https://docs.seam.co/latest/capability-guides/seam-bridge) is functioning correctly and the Seam API can communicate with Seam Bridge, but the Seam API cannot connect to the on-premises [Visionline access control system](https://docs.seam.co/latest/device-and-system-integration-guides/assa-abloy-visionline-access-control-system).
86
90
  For example, the IP address of the on-premises access control system may be set incorrectly within the Seam [workspace](https://docs.seam.co/latest/core-concepts/workspaces).
87
91
  See also [Troubleshooting Your Access Control System](https://docs.seam.co/latest/capability-guides/capability-guides/access-systems/troubleshooting-your-access-control-system#acs_system.errors.visionline_instance_unreachable).`)
88
92
 
@@ -103,7 +107,7 @@ const acs_system_disconnected = common_acs_system_error
103
107
  .describe(error_code_description),
104
108
  })
105
109
  .describe(
106
- 'Indicates that the access system has been disconnected. See [this guide](https://docs.seam.co/latest/capability-guides/access-systems/troubleshooting-your-access-control-system guide) to resolve the issue.',
110
+ 'Indicates that the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) has been disconnected. See [Troubleshooting Your Access Control System](https://docs.seam.co/latest/capability-guides/access-systems/troubleshooting-your-access-control-system) to resolve the issue.',
107
111
  )
108
112
 
109
113
  const account_disconnected = common_acs_system_error
@@ -113,16 +117,18 @@ const account_disconnected = common_acs_system_error
113
117
  .describe(error_code_description),
114
118
  })
115
119
  .describe(
116
- 'Indicates that the login credentials are invalid. Reconnect the account using the Connect Webview to restore access.',
120
+ 'Indicates that the login credentials are invalid. Reconnect the account using a [Connect Webview](https://docs.seam.co/latest/ui-components/connect-webviews) to restore access.',
117
121
  )
118
122
 
119
- const salto_ks_certification_expired = common_acs_system_error.extend({
120
- error_code: z
121
- .literal('salto_ks_certification_expired')
122
- .describe(
123
- 'Indicates that the access system has lost its Salto KS certification. Please contact support to regain access.',
124
- ),
125
- })
123
+ const salto_ks_certification_expired = common_acs_system_error
124
+ .extend({
125
+ error_code: z
126
+ .literal('salto_ks_certification_expired')
127
+ .describe(error_code_description),
128
+ })
129
+ .describe(
130
+ 'Indicates that the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) has lost its Salto KS certification. Contact [support](mailto:support@seam.co) to regain access.',
131
+ )
126
132
  const acs_system_error = z
127
133
  .discriminatedUnion('error_code', [
128
134
  seam_bridge_disconnected,
@@ -132,7 +138,9 @@ const acs_system_error = z
132
138
  account_disconnected,
133
139
  salto_ks_certification_expired,
134
140
  ])
135
- .describe('Error associated with the `acs_system`.')
141
+ .describe(
142
+ 'Error associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
143
+ )
136
144
 
137
145
  export const acs_system_error_map = z.object({
138
146
  seam_bridge_disconnected: seam_bridge_disconnected.optional().nullable(),
@@ -163,30 +171,35 @@ const common_acs_system_warning = z.object({
163
171
  ),
164
172
  })
165
173
 
166
- const salto_ks_subscription_limit_almost_reached =
167
- common_acs_system_warning.extend({
174
+ const salto_ks_subscription_limit_almost_reached = common_acs_system_warning
175
+ .extend({
168
176
  warning_code: z
169
177
  .literal('salto_ks_subscription_limit_almost_reached')
170
- .describe(
171
- 'Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this.',
172
- ),
178
+ .describe(warning_code_description),
173
179
  })
180
+ .describe(
181
+ 'Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Increase your subscription limit or delete some users from your site to rectify the issue.',
182
+ )
174
183
 
175
- const time_zone_does_not_match_location = common_acs_system_warning.extend({
176
- warning_code: z
177
- .literal('time_zone_does_not_match_location')
178
- .describe(
179
- 'Indicates the ACS system time zone could not be determined because the reported physical location does not match the time zone configured on the physical ACS entrances.',
180
- ),
181
- misconfigured_acs_entrance_ids: z.array(z.string().uuid()).optional(),
182
- })
184
+ const time_zone_does_not_match_location = common_acs_system_warning
185
+ .extend({
186
+ warning_code: z
187
+ .literal('time_zone_does_not_match_location')
188
+ .describe(warning_code_description),
189
+ misconfigured_acs_entrance_ids: z.array(z.string().uuid()).optional(),
190
+ })
191
+ .describe(
192
+ 'Indicates the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) time zone could not be determined because the reported physical location does not match the time zone configured on the physical [ACS entrances](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details).',
193
+ )
183
194
 
184
195
  const acs_system_warning = z
185
196
  .discriminatedUnion('warning_code', [
186
197
  salto_ks_subscription_limit_almost_reached,
187
198
  time_zone_does_not_match_location,
188
199
  ])
189
- .describe('Warning associated with the `acs_system`.')
200
+ .describe(
201
+ 'Warning associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
202
+ )
190
203
 
191
204
  export const acs_system_warning_map = z.object({
192
205
  salto_ks_subscription_limit_almost_reached:
@@ -206,26 +219,28 @@ export const acs_system = z
206
219
  .nullable()
207
220
  .optional()
208
221
  .describe(
209
- `
210
- ---
211
- draft: Needs review
212
- ---
213
- ID of the default credential manager acs_system for this access control system.
214
- `,
222
+ 'ID of the default credential manager `acs_system` for this [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
223
+ ),
224
+ acs_system_id: z
225
+ .string()
226
+ .uuid()
227
+ .describe(
228
+ 'ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
215
229
  ),
216
- acs_system_id: z.string().uuid().describe('ID of the `acs_system`.'),
217
230
  external_type: acs_system_external_type
218
- .describe('Brand-specific terminology for the `acs_system` type.')
231
+ .describe(
232
+ 'Brand-specific terminology for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) type.',
233
+ )
219
234
  .optional(),
220
235
  external_type_display_name: z
221
236
  .string()
222
237
  .describe(
223
- 'Display name that corresponds to the brand-specific terminology for the `acs_system` type.',
238
+ 'Display name that corresponds to the brand-specific terminology for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) type.',
224
239
  )
225
240
  .optional(),
226
241
  is_credential_manager: z
227
242
  .boolean()
228
- .describe('Indicates if the `acs_system` is a credential manager.'),
243
+ .describe('Indicates whether the `acs_system` is a credential manager.'),
229
244
  visionline_metadata: z
230
245
  .object({
231
246
  mobile_access_uuid: z
@@ -241,7 +256,7 @@ export const acs_system = z
241
256
  lan_address: z
242
257
  .string()
243
258
  .describe(
244
- 'IP address or hostname of the main Visionline server relative to the Seam Bridge on the local network.',
259
+ 'IP address or hostname of the main Visionline server relative to [Seam Bridge](https://docs.seam.co/latest/capability-guides/seam-bridge) on the local network.',
245
260
  ),
246
261
  })
247
262
  .optional(),
@@ -260,41 +275,55 @@ export const acs_system = z
260
275
  ---
261
276
  `),
262
277
  location,
263
- name: z.string().describe('Name of the `acs_system`.'),
278
+ name: z
279
+ .string()
280
+ .describe(
281
+ 'Name of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
282
+ ),
264
283
  created_at: z
265
284
  .string()
266
285
  .datetime()
267
- .describe('Date and time at which the `acs_system` was created.'),
286
+ .describe(
287
+ 'Date and time at which the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) was created.',
288
+ ),
268
289
  workspace_id: z
269
290
  .string()
270
291
  .uuid()
271
292
  .describe(
272
- 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the `acs_system`.',
293
+ 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
273
294
  ),
274
295
  connected_account_ids: z.array(z.string().uuid()).describe(`
275
296
  ---
276
297
  deprecated: Use \`connected_account_id\`.
277
298
  ---
278
- IDs of the [connected accounts](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the \`acs_system\`.
299
+ IDs of the [connected accounts](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).
279
300
  `),
280
301
  connected_account_id: z
281
302
  .string()
282
303
  .uuid()
283
304
  .describe(
284
- 'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the `acs_system`.',
305
+ 'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
285
306
  ),
286
307
  image_url: z
287
308
  .string()
288
- .describe('URL for the image that represents the `acs_system`.'),
309
+ .describe(
310
+ 'URL for the image that represents the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
311
+ ),
289
312
  image_alt_text: z
290
313
  .string()
291
- .describe('Alternative text for the `acs_system` image.'),
314
+ .describe(
315
+ 'Alternative text for the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) image.',
316
+ ),
292
317
  errors: z
293
318
  .array(acs_system_error)
294
- .describe('Errors associated with the `acs_system`.'),
319
+ .describe(
320
+ 'Errors associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
321
+ ),
295
322
  warnings: z
296
323
  .array(acs_system_warning)
297
- .describe('Warnings associated with the `acs_system`.'),
324
+ .describe(
325
+ 'Warnings associated with the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).',
326
+ ),
298
327
  })
299
328
  .merge(acs_system_capability_flags).describe(`
300
329
  ---
@@ -32,7 +32,7 @@ const acs_users_deleted_externally = common_acs_user_error
32
32
  error_code: z.literal('deleted_externally'),
33
33
  })
34
34
  .describe(
35
- `Indicates that the ACS user was deleted from the ACS system outside of Seam.`,
35
+ `Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was deleted from the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) outside of Seam.`,
36
36
  )
37
37
 
38
38
  const acs_users_salto_ks_subscription_limit_exceeded = common_acs_user_error
@@ -40,7 +40,7 @@ const acs_users_salto_ks_subscription_limit_exceeded = common_acs_user_error
40
40
  error_code: z.literal('salto_ks_subscription_limit_exceeded'),
41
41
  })
42
42
  .describe(
43
- `Indicates that the user could not be subscribed on Salto KS because the subscription limit has been exceeded.`,
43
+ `Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) could not be subscribed on Salto KS because the subscription limit has been exceeded.`,
44
44
  )
45
45
 
46
46
  const acs_users_failed_to_create_on_acs_system = common_acs_user_error
@@ -48,7 +48,7 @@ const acs_users_failed_to_create_on_acs_system = common_acs_user_error
48
48
  error_code: z.literal('failed_to_create_on_acs_system'),
49
49
  })
50
50
  .describe(
51
- `Indicates that the user was not created on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.`,
51
+ `Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was not created on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is likely due to an internal unexpected error. Contact Seam [support](mailto:support@seam.co).`,
52
52
  )
53
53
 
54
54
  const acs_users_failed_to_update_on_acs_system = common_acs_user_error
@@ -56,7 +56,7 @@ const acs_users_failed_to_update_on_acs_system = common_acs_user_error
56
56
  error_code: z.literal('failed_to_update_on_acs_system'),
57
57
  })
58
58
  .describe(
59
- `Indicates that the user was not updated on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.`,
59
+ `Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was not updated on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is likely due to an internal unexpected error. Contact Seam [support](mailto:support@seam.co).`,
60
60
  )
61
61
 
62
62
  const acs_users_failed_to_delete_on_acs_system = common_acs_user_error
@@ -64,7 +64,7 @@ const acs_users_failed_to_delete_on_acs_system = common_acs_user_error
64
64
  error_code: z.literal('failed_to_delete_on_acs_system'),
65
65
  })
66
66
  .describe(
67
- `Indicates that the user was not deleted on the ACS system. This is likely due to an internal unexpected error. Please contact Seam's support if you encounter this.`,
67
+ `Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was not deleted on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is likely due to an internal unexpected error. Contact Seam [support](mailto:support@seam.co).`,
68
68
  )
69
69
 
70
70
  const acs_user_errors = z
@@ -75,7 +75,9 @@ const acs_user_errors = z
75
75
  acs_users_failed_to_update_on_acs_system,
76
76
  acs_users_failed_to_delete_on_acs_system,
77
77
  ])
78
- .describe('Error associated with the `acs_user`.')
78
+ .describe(
79
+ 'Errors associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
80
+ )
79
81
 
80
82
  export const acs_users_error_map = z.object({
81
83
  deleted_externally: acs_users_deleted_externally.optional().nullable(),
@@ -95,8 +97,15 @@ export const acs_users_error_map = z.object({
95
97
  export type AcsUsersErrorMap = z.infer<typeof acs_users_error_map>
96
98
 
97
99
  const common_acs_user_warning = z.object({
98
- created_at: z.string().datetime(),
99
- message: z.string(),
100
+ created_at: z
101
+ .string()
102
+ .datetime()
103
+ .describe('Date and time at which Seam created the warning.'),
104
+ message: z
105
+ .string()
106
+ .describe(
107
+ 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
108
+ ),
100
109
  })
101
110
 
102
111
  const acs_users_being_deleted = common_acs_user_warning
@@ -104,7 +113,7 @@ const acs_users_being_deleted = common_acs_user_warning
104
113
  warning_code: z.literal('being_deleted'),
105
114
  })
106
115
  .describe(
107
- `Indicates that the user is being deleted from the ACS system. This is a temporary state, and the user will be deleted shortly.`,
116
+ 'Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is being deleted from the [access control system](https://docs.seam.co/latest/capability-guides/access-systems). This is a temporary state, and the ACS user will be deleted shortly.',
108
117
  )
109
118
 
110
119
  const acs_users_salto_ks_user_not_subscribed = common_acs_user_warning
@@ -112,7 +121,7 @@ const acs_users_salto_ks_user_not_subscribed = common_acs_user_warning
112
121
  warning_code: z.literal('salto_ks_user_not_subscribed'),
113
122
  })
114
123
  .describe(
115
- `Indicates that the user is not subscribed on the Salto KS, so they cannot unlock doors or perform any actions. This occur when the their access schedule hasn’t started yet, or if their access schedule has ended, or if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.`,
124
+ 'Indicates that the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is not subscribed on Salto KS, so they cannot unlock doors or perform any actions. This occurs when the their access schedule hasn’t started yet, if their access schedule has ended, if the site has reached its limit for active users (subscription slots), or if they have been manually unsubscribed.',
116
125
  )
117
126
 
118
127
  export const unknown_issue_with_acs_user = common_acs_user_warning
@@ -120,7 +129,7 @@ export const unknown_issue_with_acs_user = common_acs_user_warning
120
129
  warning_code: z.literal('unknown_issue_with_acs_user'),
121
130
  })
122
131
  .describe(
123
- 'An unknown issue occurred while syncing the state of this user with the provider. ' +
132
+ 'An unknown issue occurred while syncing the state of this [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) with the provider. ' +
124
133
  'This issue may affect the proper functioning of this user.',
125
134
  )
126
135
 
@@ -140,7 +149,9 @@ export const acs_users_warnings = z
140
149
  acs_users_salto_ks_user_not_subscribed,
141
150
  unknown_issue_with_acs_user,
142
151
  ])
143
- .describe('Warning associated with the `acs_user`.')
152
+ .describe(
153
+ 'Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
154
+ )
144
155
 
145
156
  export type AcsUsersWarningMap = z.infer<typeof acs_users_warning_map>
146
157
 
@@ -157,7 +168,7 @@ const acs_user_suspension_state_modification = common_acs_user_modification
157
168
  modification_code: z.literal('suspension_state'),
158
169
  })
159
170
  .describe(
160
- "Indicates that the acs_user's is_suspended state was updated on Seam and will soon be applied on the user on the ACS System",
171
+ "Indicates that the [ACS user's](https://docs.seam.co/latest/capability-guides/access-systems/user-management) `is_suspended` state was updated on Seam and will soon be applied to the ACS user on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).",
161
172
  )
162
173
 
163
174
  const acs_user_profile_modification = common_acs_user_modification
@@ -165,7 +176,7 @@ const acs_user_profile_modification = common_acs_user_modification
165
176
  modification_code: z.literal('profile'),
166
177
  })
167
178
  .describe(
168
- "Indicates that the acs_user's profile details (name, email, phone) were updated on Seam and will soon be applied on the user on the ACS System",
179
+ "Indicates that the [ACS user's](https://docs.seam.co/latest/capability-guides/access-systems/user-management) profile details (name, email, phone) were updated on Seam and will soon be applied to the ACS user on the [access control system](https://docs.seam.co/latest/capability-guides/access-systems).",
169
180
  )
170
181
 
171
182
  export const acs_user_unapplied_modification_map = z.object({
@@ -180,7 +191,12 @@ export type AcsUserUnappliedModificationMap = z.infer<
180
191
  >
181
192
 
182
193
  const user_fields = z.object({
183
- full_name: z.string().optional().describe('Full name of the `acs_user`.'),
194
+ full_name: z
195
+ .string()
196
+ .optional()
197
+ .describe(
198
+ 'Full name of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
199
+ ),
184
200
  email: z.string().email().optional().describe(`
185
201
  ---
186
202
  deprecated: use email_address.
@@ -190,79 +206,96 @@ const user_fields = z.object({
190
206
  .string()
191
207
  .email()
192
208
  .optional()
193
- .describe('Email address of the `acs_user`.'),
209
+ .describe(
210
+ 'Email address of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
211
+ ),
194
212
  phone_number: phone_number
195
213
  .optional()
196
214
  .describe(
197
- 'Phone number of the `acs_user` in E.164 format (for example, `+15555550100`).',
215
+ 'Phone number of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`).',
198
216
  ),
199
217
  })
200
218
 
201
219
  const common_acs_user = z
202
220
  .object({
203
- acs_user_id: z.string().uuid().describe('ID of the `acs_user`.'),
221
+ acs_user_id: z
222
+ .string()
223
+ .uuid()
224
+ .describe(
225
+ 'ID of the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
226
+ ),
204
227
  acs_system_id: z
205
228
  .string()
206
229
  .uuid()
207
230
  .describe(
208
- 'ID of the access control system that contains the `acs_user`.',
231
+ 'ID of the [access control system](https://docs.seam.co/latest/capability-guides/access-systems) that contains the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
209
232
  ),
210
233
  hid_acs_system_id: z.string().uuid().optional(),
211
234
  workspace_id: z
212
235
  .string()
213
236
  .uuid()
214
237
  .describe(
215
- 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the `acs_user`.',
238
+ 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
216
239
  ),
217
240
  created_at: z
218
241
  .string()
219
242
  .datetime()
220
- .describe('Date and time at which the `acs_user` was created.'),
221
- display_name: z.string().describe('Display name for the `acs_user`.'),
243
+ .describe(
244
+ 'Date and time at which the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) was created.',
245
+ ),
246
+ display_name: z
247
+ .string()
248
+ .describe(
249
+ 'Display name for the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
250
+ ),
222
251
  external_type: acs_user_external_type
223
252
  .optional()
224
- .describe('Brand-specific terminology for the `acs_user` type.'),
253
+ .describe(
254
+ 'Brand-specific terminology for the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) type.',
255
+ ),
225
256
  external_type_display_name: z
226
257
  .string()
227
258
  .optional()
228
259
  .describe(
229
- 'Display name that corresponds to the brand-specific terminology for the `acs_user` type.',
260
+ 'Display name that corresponds to the brand-specific terminology for the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) type.',
230
261
  ),
231
262
  is_suspended: z
232
263
  .boolean()
233
264
  .optional()
234
265
  .describe(
235
- 'Indicates whether the `acs_user` is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users).',
266
+ 'Indicates whether the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) is currently [suspended](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users).',
236
267
  ),
237
268
  access_schedule: schedule
238
269
  .optional()
239
270
  .describe(
240
- "`starts_at` and `ends_at` timestamps for the `acs_user`'s access.",
271
+ "`starts_at` and `ends_at` timestamps for the [ACS user's](https://docs.seam.co/latest/capability-guides/access-systems/user-management) access.",
241
272
  ),
242
273
  user_identity_id: z
243
274
  .string()
244
275
  .optional()
245
- .describe('ID of the user identity associated with the `acs_user`.'),
276
+ .describe(
277
+ 'ID of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
278
+ ),
246
279
  user_identity_full_name: z
247
280
  .string()
248
281
  .nullable()
249
282
  .optional()
250
283
  .describe(
251
- 'Full name of the user identity associated with the `acs_user`.',
284
+ 'Full name of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
252
285
  ),
253
286
  user_identity_email_address: z
254
287
  .string()
255
288
  .nullable()
256
289
  .optional()
257
290
  .describe(
258
- 'Email address of the user identity associated with the `acs_user`.',
291
+ 'Email address of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
259
292
  ),
260
293
  user_identity_phone_number: z
261
294
  .string()
262
295
  .nullable()
263
296
  .optional()
264
297
  .describe(
265
- 'Phone number of the user identity associated with the `acs_user` in E.164 format (for example, `+15555550100`).',
298
+ 'Phone number of the user identity associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in E.164 format (for example, `+15555550100`).',
266
299
  ),
267
300
  latest_desired_state_synced_with_provider_at: z
268
301
  .string()
@@ -283,10 +316,14 @@ const common_acs_user = z
283
316
  `),
284
317
  warnings: z
285
318
  .array(acs_users_warnings)
286
- .describe('Warnings associated with the `acs_user`.'),
319
+ .describe(
320
+ 'Warnings associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
321
+ ),
287
322
  errors: z
288
323
  .array(acs_user_errors)
289
- .describe('Errors associated with the `acs_user`.'),
324
+ .describe(
325
+ 'Errors associated with the [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).',
326
+ ),
290
327
  })
291
328
  .merge(user_fields)
292
329
 
@@ -5,24 +5,36 @@ import { fan_mode_setting, hvac_mode_setting } from './modes.js'
5
5
  export const climate_preset = z.object({
6
6
  climate_preset_key: z
7
7
  .string()
8
- .describe('Unique key to identify the climate preset.'),
8
+ .describe(
9
+ 'Unique key to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets).',
10
+ ),
9
11
  can_edit: z
10
12
  .boolean()
11
- .describe('Indicates whether this climate preset key can be edited.'),
13
+ .describe(
14
+ 'Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be edited.',
15
+ ),
12
16
  can_delete: z
13
17
  .boolean()
14
- .describe('Indicates whether this climate preset key can be deleted.'),
18
+ .describe(
19
+ 'Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) key can be deleted.',
20
+ ),
15
21
  name: z
16
22
  .string()
17
23
  .nullable()
18
24
  .default(null)
19
25
  .optional()
20
- .describe('User-friendly name to identify the climate preset.'),
21
- display_name: z.string().describe('Display name for the climate preset.'),
26
+ .describe(
27
+ 'User-friendly name to identify the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets).',
28
+ ),
29
+ display_name: z
30
+ .string()
31
+ .describe(
32
+ 'Display name for the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets).',
33
+ ),
22
34
  fan_mode_setting: fan_mode_setting
23
35
  .optional()
24
36
  .describe(
25
- 'Desired fan mode setting, such as `on`, `auto`, or `circulate`.',
37
+ 'Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.',
26
38
  ),
27
39
  hvac_mode_setting: hvac_mode_setting
28
40
  .optional()
@@ -38,21 +50,27 @@ export const climate_preset = z.object({
38
50
  heating_set_point_celsius: z
39
51
  .number()
40
52
  .optional()
41
- .describe('Temperature to which the thermostat should heat (in °C).'),
53
+ .describe(
54
+ 'Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points).',
55
+ ),
42
56
  cooling_set_point_fahrenheit: z
43
57
  .number()
44
58
  .optional()
45
- .describe('Temperature to which the thermostat should cool (in °F).'),
59
+ .describe(
60
+ 'Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points).',
61
+ ),
46
62
  heating_set_point_fahrenheit: z
47
63
  .number()
48
64
  .optional()
49
- .describe('Temperature to which the thermostat should heat (in °F).'),
65
+ .describe(
66
+ 'Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/set-points).',
67
+ ),
50
68
  manual_override_allowed: z.boolean().describe(
51
69
  `
52
70
  ---
53
71
  deprecated: Use 'thermostat_schedule.is_override_allowed'
54
72
  ---
55
- Indicates whether a person at the thermostat can change the thermostat's settings.`,
73
+ Indicates whether a person at the thermostat can change the thermostat's settings. See [Specifying Manual Override Permissions](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).`,
56
74
  ),
57
75
  })
58
76