@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.
- package/dist/connect.cjs +899 -569
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +3626 -2951
- package/lib/seam/connect/models/acs/acs-credential.js +94 -51
- package/lib/seam/connect/models/acs/acs-credential.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-encoder.js +12 -7
- package/lib/seam/connect/models/acs/acs-encoder.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-entrance.js +37 -14
- package/lib/seam/connect/models/acs/acs-entrance.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-system.js +48 -41
- package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-user.js +45 -32
- package/lib/seam/connect/models/acs/acs-user.js.map +1 -1
- package/lib/seam/connect/models/thermostats/climate-preset.js +12 -10
- package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -1
- package/lib/seam/connect/models/thermostats/thermostat-schedule.js +19 -12
- package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -1
- package/lib/seam/connect/openapi.d.ts +45 -23
- package/lib/seam/connect/openapi.js +557 -401
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +3581 -2928
- package/package.json +1 -1
- package/src/lib/seam/connect/models/acs/acs-credential.ts +162 -51
- package/src/lib/seam/connect/models/acs/acs-encoder.ts +22 -7
- package/src/lib/seam/connect/models/acs/acs-entrance.ts +65 -18
- package/src/lib/seam/connect/models/acs/acs-system.ts +81 -52
- package/src/lib/seam/connect/models/acs/acs-user.ts +69 -32
- package/src/lib/seam/connect/models/thermostats/climate-preset.ts +28 -10
- package/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +31 -12
- package/src/lib/seam/connect/openapi.ts +698 -401
- 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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
77
|
-
This error might also occur if
|
|
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
|
|
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 [
|
|
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
|
|
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
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
),
|
|
181
|
-
|
|
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(
|
|
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
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
99
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
221
|
-
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
21
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|