@seamapi/types 1.915.0 → 1.917.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.
- package/dist/connect.cjs +938 -540
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +1928 -1071
- package/dist/index.cjs +938 -540
- package/dist/index.cjs.map +1 -1
- package/lib/seam/connect/models/acs/acs-access-group.js +6 -4
- package/lib/seam/connect/models/acs/acs-access-group.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js +1 -1
- package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-credential.js +13 -4
- package/lib/seam/connect/models/acs/acs-credential.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-encoder.js +2 -2
- package/lib/seam/connect/models/acs/acs-encoder.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-system.js +17 -7
- package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-users/acs-user.js +10 -4
- package/lib/seam/connect/models/acs/acs-users/acs-user.js.map +1 -1
- package/lib/seam/connect/models/bridges/bridge-connected-system.js +1 -1
- package/lib/seam/connect/models/bridges/bridge-connected-system.js.map +1 -1
- package/lib/seam/connect/models/bridges/bridge.js +1 -1
- package/lib/seam/connect/models/bridges/bridge.js.map +1 -1
- package/lib/seam/connect/models/client-sessions/client-session.js +2 -5
- package/lib/seam/connect/models/client-sessions/client-session.js.map +1 -1
- package/lib/seam/connect/models/connect-webviews/connect-webview.js +3 -3
- package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -1
- package/lib/seam/connect/models/customer/customer.js +1 -1
- package/lib/seam/connect/models/customer/customer.js.map +1 -1
- package/lib/seam/connect/models/devices/device-provider.js +8 -4
- package/lib/seam/connect/models/devices/device-provider.js.map +1 -1
- package/lib/seam/connect/models/devices/device.js +60 -20
- package/lib/seam/connect/models/devices/device.js.map +1 -1
- package/lib/seam/connect/models/devices/phone.js +11 -7
- package/lib/seam/connect/models/devices/phone.js.map +1 -1
- package/lib/seam/connect/models/devices/unmanaged-device.js +3 -1
- package/lib/seam/connect/models/devices/unmanaged-device.js.map +1 -1
- package/lib/seam/connect/models/events/access-codes.js +8 -4
- package/lib/seam/connect/models/events/access-codes.js.map +1 -1
- package/lib/seam/connect/models/events/acs/entrances.js +3 -5
- package/lib/seam/connect/models/events/acs/entrances.js.map +1 -1
- package/lib/seam/connect/models/events/acs/users.js +6 -5
- package/lib/seam/connect/models/events/acs/users.js.map +1 -1
- package/lib/seam/connect/models/events/action-attempts.js +8 -8
- package/lib/seam/connect/models/events/client-sessions.js +1 -1
- package/lib/seam/connect/models/events/common.js +9 -5
- package/lib/seam/connect/models/events/common.js.map +1 -1
- package/lib/seam/connect/models/events/connect-webviews.js +4 -4
- package/lib/seam/connect/models/events/connect-webviews.js.map +1 -1
- package/lib/seam/connect/models/events/connected-accounts.js +10 -10
- package/lib/seam/connect/models/events/connected-accounts.js.map +1 -1
- package/lib/seam/connect/models/events/devices.js +20 -20
- package/lib/seam/connect/models/events/devices.js.map +1 -1
- package/lib/seam/connect/models/events/seam-event.js +1 -1
- package/lib/seam/connect/models/instant-keys/instant-key.js +2 -2
- package/lib/seam/connect/models/instant-keys/instant-key.js.map +1 -1
- package/lib/seam/connect/models/partner/customer-portal.js +1 -1
- package/lib/seam/connect/models/partner/customer-portal.js.map +1 -1
- package/lib/seam/connect/models/partner/magic-link.js +1 -1
- package/lib/seam/connect/models/partner/magic-link.js.map +1 -1
- package/lib/seam/connect/models/spaces/space.js +1 -1
- package/lib/seam/connect/models/spaces/space.js.map +1 -1
- package/lib/seam/connect/models/thermostats/modes.js +9 -16
- package/lib/seam/connect/models/thermostats/modes.js.map +1 -1
- package/lib/seam/connect/models/thermostats/thermostat-program.js +1 -1
- package/lib/seam/connect/models/thermostats/thermostat-program.js.map +1 -1
- package/lib/seam/connect/models/thermostats/thermostat-schedule.js +1 -1
- package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -1
- package/lib/seam/connect/models/user-identities/user-identity.js +10 -3
- package/lib/seam/connect/models/user-identities/user-identity.js.map +1 -1
- package/lib/seam/connect/models/webhooks/webhook.js +1 -3
- package/lib/seam/connect/models/webhooks/webhook.js.map +1 -1
- package/lib/seam/connect/models/workspaces/workspace.js +2 -5
- package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
- package/lib/seam/connect/openapi.js +758 -363
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +1928 -1071
- package/package.json +1 -1
- package/src/lib/seam/connect/models/acs/acs-access-group.ts +6 -8
- package/src/lib/seam/connect/models/acs/acs-credential-provisioning-automation.ts +1 -3
- package/src/lib/seam/connect/models/acs/acs-credential.ts +15 -4
- package/src/lib/seam/connect/models/acs/acs-encoder.ts +2 -2
- package/src/lib/seam/connect/models/acs/acs-system.ts +27 -7
- package/src/lib/seam/connect/models/acs/acs-users/acs-user.ts +12 -4
- package/src/lib/seam/connect/models/bridges/bridge-connected-system.ts +1 -3
- package/src/lib/seam/connect/models/bridges/bridge.ts +1 -3
- package/src/lib/seam/connect/models/client-sessions/client-session.ts +2 -9
- package/src/lib/seam/connect/models/connect-webviews/connect-webview.ts +5 -5
- package/src/lib/seam/connect/models/customer/customer.ts +1 -3
- package/src/lib/seam/connect/models/devices/device-provider.ts +10 -4
- package/src/lib/seam/connect/models/devices/device.ts +90 -20
- package/src/lib/seam/connect/models/devices/phone.ts +13 -7
- package/src/lib/seam/connect/models/devices/unmanaged-device.ts +3 -1
- package/src/lib/seam/connect/models/events/access-codes.ts +19 -15
- package/src/lib/seam/connect/models/events/acs/entrances.ts +3 -5
- package/src/lib/seam/connect/models/events/acs/users.ts +6 -5
- package/src/lib/seam/connect/models/events/action-attempts.ts +8 -8
- package/src/lib/seam/connect/models/events/client-sessions.ts +1 -1
- package/src/lib/seam/connect/models/events/common.ts +33 -27
- package/src/lib/seam/connect/models/events/connect-webviews.ts +4 -8
- package/src/lib/seam/connect/models/events/connected-accounts.ts +10 -14
- package/src/lib/seam/connect/models/events/devices.ts +20 -22
- package/src/lib/seam/connect/models/events/seam-event.ts +1 -1
- package/src/lib/seam/connect/models/instant-keys/instant-key.ts +2 -6
- package/src/lib/seam/connect/models/partner/customer-portal.ts +1 -3
- package/src/lib/seam/connect/models/partner/magic-link.ts +1 -3
- package/src/lib/seam/connect/models/spaces/space.ts +1 -3
- package/src/lib/seam/connect/models/thermostats/modes.ts +15 -16
- package/src/lib/seam/connect/models/thermostats/thermostat-program.ts +1 -1
- package/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +1 -3
- package/src/lib/seam/connect/models/user-identities/user-identity.ts +10 -5
- package/src/lib/seam/connect/models/webhooks/webhook.ts +1 -5
- package/src/lib/seam/connect/models/workspaces/workspace.ts +2 -7
- package/src/lib/seam/connect/openapi.ts +905 -507
- package/src/lib/seam/connect/route-types.ts +1928 -1071
package/package.json
CHANGED
|
@@ -118,15 +118,11 @@ const common_acs_access_group = z.object({
|
|
|
118
118
|
workspace_id: z
|
|
119
119
|
.string()
|
|
120
120
|
.uuid()
|
|
121
|
-
.describe(
|
|
122
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the access group.',
|
|
123
|
-
),
|
|
121
|
+
.describe('ID of the workspace that contains the access group.'),
|
|
124
122
|
connected_account_id: z
|
|
125
123
|
.string()
|
|
126
124
|
.uuid()
|
|
127
|
-
.describe(
|
|
128
|
-
'ID of the [connected account](https://docs.seam.co/core-concepts/connected-accounts) that contains the access group.',
|
|
129
|
-
),
|
|
125
|
+
.describe('ID of the connected account that contains the access group.'),
|
|
130
126
|
name: z.string().describe('Name of the access group.'),
|
|
131
127
|
access_group_type: acs_access_group_external_type.describe(`
|
|
132
128
|
---
|
|
@@ -138,7 +134,7 @@ const common_acs_access_group = z.object({
|
|
|
138
134
|
deprecated: Use \`external_type_display_name\`.
|
|
139
135
|
---
|
|
140
136
|
`),
|
|
141
|
-
display_name: z.string(),
|
|
137
|
+
display_name: z.string().describe('Display name for the access group.'),
|
|
142
138
|
external_type: acs_access_group_external_type.describe(
|
|
143
139
|
'Brand-specific terminology for the access group type.',
|
|
144
140
|
),
|
|
@@ -170,7 +166,9 @@ const common_acs_access_group = z.object({
|
|
|
170
166
|
})
|
|
171
167
|
|
|
172
168
|
export const acs_access_group = common_acs_access_group.extend({
|
|
173
|
-
is_managed: z
|
|
169
|
+
is_managed: z
|
|
170
|
+
.literal(true)
|
|
171
|
+
.describe('Indicates whether Seam manages the access group.'),
|
|
174
172
|
}).describe(`
|
|
175
173
|
---
|
|
176
174
|
route_path: /acs/access_groups
|
|
@@ -38,9 +38,7 @@ export const enrollment_automation = z.object({
|
|
|
38
38
|
workspace_id: z
|
|
39
39
|
.string()
|
|
40
40
|
.uuid()
|
|
41
|
-
.describe(
|
|
42
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the enrollment automation.',
|
|
43
|
-
),
|
|
41
|
+
.describe('ID of the workspace that contains the enrollment automation.'),
|
|
44
42
|
}).describe(`
|
|
45
43
|
---
|
|
46
44
|
route_path: /user_identities/enrollment_automations
|
|
@@ -162,7 +162,11 @@ const common_acs_credential = z.object({
|
|
|
162
162
|
.describe(
|
|
163
163
|
'ID of the [connected account](https://docs.seam.co/low-level-apis/access-systems/managing-credentials#connected-accounts) to which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) belongs.',
|
|
164
164
|
),
|
|
165
|
-
acs_credential_pool_id: z
|
|
165
|
+
acs_credential_pool_id: z
|
|
166
|
+
.string()
|
|
167
|
+
.uuid()
|
|
168
|
+
.optional()
|
|
169
|
+
.describe('ID of the credential pool to which the credential belongs.'),
|
|
166
170
|
acs_system_id: z
|
|
167
171
|
.string()
|
|
168
172
|
.uuid()
|
|
@@ -240,7 +244,7 @@ const common_acs_credential = z.object({
|
|
|
240
244
|
.string()
|
|
241
245
|
.uuid()
|
|
242
246
|
.describe(
|
|
243
|
-
'ID of the
|
|
247
|
+
'ID of the workspace that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).',
|
|
244
248
|
),
|
|
245
249
|
starts_at: z
|
|
246
250
|
.string()
|
|
@@ -304,7 +308,9 @@ const common_acs_credential = z.object({
|
|
|
304
308
|
|
|
305
309
|
export const acs_credential = common_acs_credential.merge(
|
|
306
310
|
z.object({
|
|
307
|
-
is_managed: z
|
|
311
|
+
is_managed: z
|
|
312
|
+
.literal(true)
|
|
313
|
+
.describe('Indicates whether Seam manages the credential.'),
|
|
308
314
|
}),
|
|
309
315
|
).describe(`
|
|
310
316
|
---
|
|
@@ -340,7 +346,12 @@ export const acs_credential_on_encoder = z.object({
|
|
|
340
346
|
'Date and time at which the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials) was created.',
|
|
341
347
|
),
|
|
342
348
|
|
|
343
|
-
is_issued: z
|
|
349
|
+
is_issued: z
|
|
350
|
+
.boolean()
|
|
351
|
+
.nullable()
|
|
352
|
+
.describe(
|
|
353
|
+
'Indicates whether the credential has been issued (encoded onto a card).',
|
|
354
|
+
),
|
|
344
355
|
|
|
345
356
|
starts_at: z
|
|
346
357
|
.string()
|
|
@@ -50,13 +50,13 @@ export const acs_encoder = z.object({
|
|
|
50
50
|
.string()
|
|
51
51
|
.uuid()
|
|
52
52
|
.describe(
|
|
53
|
-
'ID of the
|
|
53
|
+
'ID of the connected account that contains the [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).',
|
|
54
54
|
),
|
|
55
55
|
workspace_id: z
|
|
56
56
|
.string()
|
|
57
57
|
.uuid()
|
|
58
58
|
.describe(
|
|
59
|
-
'ID of the
|
|
59
|
+
'ID of the workspace that contains the [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).',
|
|
60
60
|
),
|
|
61
61
|
errors: z
|
|
62
62
|
.array(acs_encoder_error)
|
|
@@ -63,7 +63,12 @@ const seam_bridge_disconnected = common_acs_system_error.extend({
|
|
|
63
63
|
|
|
64
64
|
const bridge_disconnected = common_acs_system_error.extend({
|
|
65
65
|
error_code: z.literal('bridge_disconnected').describe(error_code_description),
|
|
66
|
-
is_bridge_error: z
|
|
66
|
+
is_bridge_error: z
|
|
67
|
+
.boolean()
|
|
68
|
+
.optional()
|
|
69
|
+
.describe(
|
|
70
|
+
'Indicates whether the error is related to the [Seam Bridge](https://docs.seam.co/capability-guides/seam-bridge).',
|
|
71
|
+
),
|
|
67
72
|
})
|
|
68
73
|
.describe(`Indicates that the Seam API cannot communicate with [Seam Bridge](https://docs.seam.co/capability-guides/seam-bridge), for example, if Seam Bridge executable has stopped or if the computer running the Seam Bridge executable is offline.
|
|
69
74
|
See also [Troubleshooting Your Access Control System](https://docs.seam.co/low-level-apis/access-systems/troubleshooting-your-access-control-system#acs_system.errors.seam_bridge_disconnected).`)
|
|
@@ -251,8 +256,18 @@ export const acs_system = z
|
|
|
251
256
|
.describe(
|
|
252
257
|
'ID of the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
253
258
|
),
|
|
254
|
-
acs_user_count: z
|
|
255
|
-
|
|
259
|
+
acs_user_count: z
|
|
260
|
+
.number()
|
|
261
|
+
.optional()
|
|
262
|
+
.describe(
|
|
263
|
+
'Number of users in the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
264
|
+
),
|
|
265
|
+
acs_access_group_count: z
|
|
266
|
+
.number()
|
|
267
|
+
.optional()
|
|
268
|
+
.describe(
|
|
269
|
+
'Number of access groups in the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
270
|
+
),
|
|
256
271
|
external_type: acs_system_external_type
|
|
257
272
|
.describe(
|
|
258
273
|
'Brand-specific terminology for the [access control system](https://docs.seam.co/low-level-apis/access-systems) type.',
|
|
@@ -285,7 +300,10 @@ export const acs_system = z
|
|
|
285
300
|
'IP address or hostname of the main Visionline server relative to [Seam Bridge](https://docs.seam.co/capability-guides/seam-bridge) on the local network.',
|
|
286
301
|
),
|
|
287
302
|
})
|
|
288
|
-
.optional()
|
|
303
|
+
.optional()
|
|
304
|
+
.describe(
|
|
305
|
+
'Visionline-specific metadata for the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
306
|
+
),
|
|
289
307
|
system_type: acs_system_external_type
|
|
290
308
|
.describe(
|
|
291
309
|
`
|
|
@@ -300,7 +318,9 @@ export const acs_system = z
|
|
|
300
318
|
deprecated: Use \`external_type_display_name\`.
|
|
301
319
|
---
|
|
302
320
|
`),
|
|
303
|
-
location: acs_location
|
|
321
|
+
location: acs_location.describe(
|
|
322
|
+
'Location information for the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
323
|
+
),
|
|
304
324
|
name: z
|
|
305
325
|
.string()
|
|
306
326
|
.describe(
|
|
@@ -316,7 +336,7 @@ export const acs_system = z
|
|
|
316
336
|
.string()
|
|
317
337
|
.uuid()
|
|
318
338
|
.describe(
|
|
319
|
-
'ID of the
|
|
339
|
+
'ID of the workspace that contains the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
320
340
|
),
|
|
321
341
|
connected_account_ids: z.array(z.string().uuid()).describe(`
|
|
322
342
|
---
|
|
@@ -328,7 +348,7 @@ export const acs_system = z
|
|
|
328
348
|
.string()
|
|
329
349
|
.uuid()
|
|
330
350
|
.describe(
|
|
331
|
-
'ID of the
|
|
351
|
+
'ID of the connected account associated with the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
|
|
332
352
|
),
|
|
333
353
|
image_url: z
|
|
334
354
|
.string()
|
|
@@ -221,12 +221,18 @@ const common_acs_user = z
|
|
|
221
221
|
.describe(
|
|
222
222
|
'ID of the [access system](https://docs.seam.co/low-level-apis/access-systems) that contains the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).',
|
|
223
223
|
),
|
|
224
|
-
hid_acs_system_id: z
|
|
224
|
+
hid_acs_system_id: z
|
|
225
|
+
.string()
|
|
226
|
+
.uuid()
|
|
227
|
+
.optional()
|
|
228
|
+
.describe(
|
|
229
|
+
'ID of the HID access control system associated with the user.',
|
|
230
|
+
),
|
|
225
231
|
workspace_id: z
|
|
226
232
|
.string()
|
|
227
233
|
.uuid()
|
|
228
234
|
.describe(
|
|
229
|
-
'ID of the
|
|
235
|
+
'ID of the workspace that contains the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).',
|
|
230
236
|
),
|
|
231
237
|
created_at: z
|
|
232
238
|
.string()
|
|
@@ -311,7 +317,7 @@ const common_acs_user = z
|
|
|
311
317
|
The last time an internal sync job completed for this access system user.
|
|
312
318
|
`),
|
|
313
319
|
connected_account_id: z.string().uuid().describe(`
|
|
314
|
-
The ID of the
|
|
320
|
+
The ID of the connected account that is associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
|
|
315
321
|
`),
|
|
316
322
|
salto_space_metadata: acs_user_salto_space_metadata
|
|
317
323
|
.optional()
|
|
@@ -323,7 +329,9 @@ const common_acs_user = z
|
|
|
323
329
|
|
|
324
330
|
export const acs_user = common_acs_user.merge(
|
|
325
331
|
z.object({
|
|
326
|
-
is_managed: z
|
|
332
|
+
is_managed: z
|
|
333
|
+
.literal(true)
|
|
334
|
+
.describe('Indicates whether Seam manages the access system user.'),
|
|
327
335
|
}),
|
|
328
336
|
).describe(`
|
|
329
337
|
---
|
|
@@ -33,9 +33,7 @@ export const bridge_connected_system = z.object({
|
|
|
33
33
|
workspace_id: z
|
|
34
34
|
.string()
|
|
35
35
|
.uuid()
|
|
36
|
-
.describe(
|
|
37
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) with which Seam Bridge is paired.',
|
|
38
|
-
),
|
|
36
|
+
.describe('ID of the workspace with which Seam Bridge is paired.'),
|
|
39
37
|
workspace_display_name: z
|
|
40
38
|
.string()
|
|
41
39
|
.describe(
|
|
@@ -5,9 +5,7 @@ export const bridge = z.object({
|
|
|
5
5
|
workspace_id: z
|
|
6
6
|
.string()
|
|
7
7
|
.uuid()
|
|
8
|
-
.describe(
|
|
9
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) that contains Seam Bridge.',
|
|
10
|
-
),
|
|
8
|
+
.describe('ID of the workspace that contains Seam Bridge.'),
|
|
11
9
|
created_at: z
|
|
12
10
|
.string()
|
|
13
11
|
.datetime()
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
|
|
3
3
|
export const client_session = z.object({
|
|
4
|
-
client_session_id: z
|
|
5
|
-
.string()
|
|
6
|
-
.uuid()
|
|
7
|
-
.describe(
|
|
8
|
-
'ID of the [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens).',
|
|
9
|
-
),
|
|
4
|
+
client_session_id: z.string().uuid().describe('ID of the client session.'),
|
|
10
5
|
workspace_id: z
|
|
11
6
|
.string()
|
|
12
7
|
.uuid()
|
|
13
|
-
.describe(
|
|
14
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) associated with the [client session](https://docs.seam.co/core-concepts/authentication/client-session-tokens).',
|
|
15
|
-
),
|
|
8
|
+
.describe('ID of the workspace associated with the client session.'),
|
|
16
9
|
created_at: z
|
|
17
10
|
.string()
|
|
18
11
|
.datetime()
|
|
@@ -14,9 +14,7 @@ export const connect_webview = z.object({
|
|
|
14
14
|
workspace_id: z
|
|
15
15
|
.string()
|
|
16
16
|
.uuid()
|
|
17
|
-
.describe(
|
|
18
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the Connect Webview.',
|
|
19
|
-
),
|
|
17
|
+
.describe('ID of the workspace that contains the Connect Webview.'),
|
|
20
18
|
created_at: z
|
|
21
19
|
.string()
|
|
22
20
|
.datetime()
|
|
@@ -26,7 +24,7 @@ export const connect_webview = z.object({
|
|
|
26
24
|
.uuid()
|
|
27
25
|
.nullable()
|
|
28
26
|
.describe(
|
|
29
|
-
'ID of the
|
|
27
|
+
'ID of the connected account associated with the Connect Webview.',
|
|
30
28
|
),
|
|
31
29
|
url: z
|
|
32
30
|
.string()
|
|
@@ -34,7 +32,9 @@ export const connect_webview = z.object({
|
|
|
34
32
|
.describe(
|
|
35
33
|
'URL for the Connect Webview. You use the URL to display the Connect Webview flow to your user.',
|
|
36
34
|
),
|
|
37
|
-
device_selection_mode: connect_webview_device_selection_mode
|
|
35
|
+
device_selection_mode: connect_webview_device_selection_mode.describe(
|
|
36
|
+
'Device selection mode of the Connect Webview. Supported values: `none`, `single`, `multiple`.',
|
|
37
|
+
),
|
|
38
38
|
|
|
39
39
|
// TODO: Use enum value.
|
|
40
40
|
accepted_providers: z
|
|
@@ -7,9 +7,7 @@ export const customer = z.object({
|
|
|
7
7
|
workspace_id: z
|
|
8
8
|
.string()
|
|
9
9
|
.uuid()
|
|
10
|
-
.describe(
|
|
11
|
-
'ID of the [workspace](https://docs.seam.co/core-concepts/workspaces) associated with the customer.',
|
|
12
|
-
),
|
|
10
|
+
.describe('ID of the workspace associated with the customer.'),
|
|
13
11
|
created_at: z
|
|
14
12
|
.string()
|
|
15
13
|
.datetime()
|
|
@@ -175,10 +175,16 @@ export const PUBLIC_PROVIDER_CATEGORIES: typeof PROVIDER_CATEGORIES =
|
|
|
175
175
|
|
|
176
176
|
export const device_provider = z
|
|
177
177
|
.object({
|
|
178
|
-
device_provider_name: z
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
178
|
+
device_provider_name: z
|
|
179
|
+
.enum(ALL_DEVICE_PROVIDERS)
|
|
180
|
+
.describe('Name of the device provider.'),
|
|
181
|
+
display_name: z.string().describe('Display name for the device provider.'),
|
|
182
|
+
image_url: z.string().describe('Image URL for the device provider.'),
|
|
183
|
+
provider_categories: z
|
|
184
|
+
.array(z.enum(PUBLIC_PROVIDER_CATEGORIES))
|
|
185
|
+
.describe(
|
|
186
|
+
'List of provider categories to which the device provider belongs, such as `stable`, `consumer_smartlocks`, `thermostats`, and so on.',
|
|
187
|
+
),
|
|
182
188
|
})
|
|
183
189
|
.extend(device_capability_flags.shape).describe(`
|
|
184
190
|
---
|
|
@@ -10,26 +10,96 @@ import { phone_specific_properties } from './phone-properties.js'
|
|
|
10
10
|
|
|
11
11
|
export const device_capability_flags = z
|
|
12
12
|
.object({
|
|
13
|
-
can_remotely_unlock: z
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
13
|
+
can_remotely_unlock: z
|
|
14
|
+
.boolean()
|
|
15
|
+
.describe('Indicates whether the device supports remote unlocking.'),
|
|
16
|
+
can_remotely_lock: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.describe('Indicates whether the device supports remote locking.'),
|
|
19
|
+
can_program_offline_access_codes: z
|
|
20
|
+
.boolean()
|
|
21
|
+
.describe(
|
|
22
|
+
'Indicates whether the device supports programming offline access codes.',
|
|
23
|
+
),
|
|
24
|
+
can_program_online_access_codes: z
|
|
25
|
+
.boolean()
|
|
26
|
+
.describe(
|
|
27
|
+
'Indicates whether the device supports programming online access codes.',
|
|
28
|
+
),
|
|
29
|
+
can_hvac_heat: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.describe('Indicates whether the thermostat supports heating.'),
|
|
32
|
+
can_hvac_cool: z
|
|
33
|
+
.boolean()
|
|
34
|
+
.describe('Indicates whether the thermostat supports cooling.'),
|
|
35
|
+
can_hvac_heat_cool: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.describe(
|
|
38
|
+
'Indicates whether the thermostat supports simultaneous heating and cooling.',
|
|
39
|
+
),
|
|
40
|
+
can_turn_off_hvac: z
|
|
41
|
+
.boolean()
|
|
42
|
+
.describe('Indicates whether the thermostat can be turned off.'),
|
|
43
|
+
can_simulate_removal: z
|
|
44
|
+
.boolean()
|
|
45
|
+
.describe(
|
|
46
|
+
'Indicates whether the device supports simulating removal in a sandbox.',
|
|
47
|
+
),
|
|
48
|
+
can_simulate_connection: z
|
|
49
|
+
.boolean()
|
|
50
|
+
.describe(
|
|
51
|
+
'Indicates whether the device supports simulating connection in a sandbox.',
|
|
52
|
+
),
|
|
53
|
+
can_simulate_disconnection: z
|
|
54
|
+
.boolean()
|
|
55
|
+
.describe(
|
|
56
|
+
'Indicates whether the device supports simulating disconnection in a sandbox.',
|
|
57
|
+
),
|
|
58
|
+
can_unlock_with_code: z
|
|
59
|
+
.boolean()
|
|
60
|
+
.describe(
|
|
61
|
+
'Indicates whether the lock supports unlocking with an access code.',
|
|
62
|
+
),
|
|
63
|
+
can_run_thermostat_programs: z
|
|
64
|
+
.boolean()
|
|
65
|
+
.describe(
|
|
66
|
+
'Indicates whether the thermostat supports running climate programs.',
|
|
67
|
+
),
|
|
68
|
+
can_program_thermostat_programs_as_weekday_weekend: z
|
|
69
|
+
.boolean()
|
|
70
|
+
.describe(
|
|
71
|
+
'Indicates whether the thermostat supports weekday/weekend climate programs.',
|
|
72
|
+
),
|
|
73
|
+
can_program_thermostat_programs_as_different_each_day: z
|
|
74
|
+
.boolean()
|
|
75
|
+
.describe(
|
|
76
|
+
'Indicates whether the thermostat supports different climate programs for each day of the week.',
|
|
77
|
+
),
|
|
78
|
+
can_program_thermostat_programs_as_same_each_day: z
|
|
79
|
+
.boolean()
|
|
80
|
+
.describe(
|
|
81
|
+
'Indicates whether the thermostat supports a single climate program applied to every day.',
|
|
82
|
+
),
|
|
83
|
+
can_simulate_hub_connection: z
|
|
84
|
+
.boolean()
|
|
85
|
+
.describe(
|
|
86
|
+
'Indicates whether the hub supports simulating connection in a sandbox.',
|
|
87
|
+
),
|
|
88
|
+
can_simulate_hub_disconnection: z
|
|
89
|
+
.boolean()
|
|
90
|
+
.describe(
|
|
91
|
+
'Indicates whether the hub supports simulating disconnection in a sandbox.',
|
|
92
|
+
),
|
|
93
|
+
can_simulate_paid_subscription: z
|
|
94
|
+
.boolean()
|
|
95
|
+
.describe(
|
|
96
|
+
'Indicates whether the device supports simulating a paid subscription in a sandbox.',
|
|
97
|
+
),
|
|
98
|
+
can_configure_auto_lock: z
|
|
99
|
+
.boolean()
|
|
100
|
+
.describe(
|
|
101
|
+
'Indicates whether the lock supports configuring automatic locking.',
|
|
102
|
+
),
|
|
33
103
|
})
|
|
34
104
|
.partial()
|
|
35
105
|
|
|
@@ -25,7 +25,7 @@ export const phone = z.object({
|
|
|
25
25
|
.describe(`Display name of the phone. Defaults to \`nickname\` (if it is set) or \`properties.appearance.name\`, otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones.
|
|
26
26
|
`),
|
|
27
27
|
workspace_id: basePhoneDeviceSchema.shape.workspace_id
|
|
28
|
-
.describe(`ID of the
|
|
28
|
+
.describe(`ID of the workspace that contains the phone.
|
|
29
29
|
`),
|
|
30
30
|
created_at: basePhoneDeviceSchema.shape.created_at
|
|
31
31
|
.describe(`Date and time at which the phone was created.
|
|
@@ -37,21 +37,27 @@ export const phone = z.object({
|
|
|
37
37
|
errors: z
|
|
38
38
|
.array(
|
|
39
39
|
z.object({
|
|
40
|
-
error_code: z
|
|
41
|
-
|
|
40
|
+
error_code: z
|
|
41
|
+
.string()
|
|
42
|
+
.describe('Unique identifier of the type of error.'),
|
|
43
|
+
message: z.string().describe('Detailed description of the error.'),
|
|
42
44
|
}),
|
|
43
45
|
)
|
|
44
46
|
.describe('Errors associated with the phone.'),
|
|
45
47
|
warnings: z
|
|
46
48
|
.array(
|
|
47
49
|
z.object({
|
|
48
|
-
warning_code: z
|
|
49
|
-
|
|
50
|
+
warning_code: z
|
|
51
|
+
.string()
|
|
52
|
+
.describe('Unique identifier of the type of warning.'),
|
|
53
|
+
message: z.string().describe('Detailed description of the warning.'),
|
|
50
54
|
}),
|
|
51
55
|
)
|
|
52
56
|
.describe('Warnings associated with the phone.'),
|
|
53
|
-
device_type: phone_device_type
|
|
54
|
-
|
|
57
|
+
device_type: phone_device_type.describe(
|
|
58
|
+
'Type of the phone device, such as `ios_phone` or `android_phone`.',
|
|
59
|
+
),
|
|
60
|
+
properties: phone_specific_properties.describe('Properties of the phone.'),
|
|
55
61
|
}).describe(`
|
|
56
62
|
---
|
|
57
63
|
route_path: /phones
|
|
@@ -20,7 +20,9 @@ export const unmanaged_device = device
|
|
|
20
20
|
custom_metadata: true,
|
|
21
21
|
})
|
|
22
22
|
.extend({
|
|
23
|
-
is_managed: z
|
|
23
|
+
is_managed: z
|
|
24
|
+
.literal(false)
|
|
25
|
+
.describe('Indicates that Seam does not manage the device.'),
|
|
24
26
|
properties: common_device_properties.pick({
|
|
25
27
|
accessory_keypad: true,
|
|
26
28
|
name: true,
|
|
@@ -17,7 +17,7 @@ const access_code_event = common_event.extend({
|
|
|
17
17
|
.string()
|
|
18
18
|
.uuid()
|
|
19
19
|
.describe(
|
|
20
|
-
'ID of the
|
|
20
|
+
'ID of the connected account associated with the affected access code.',
|
|
21
21
|
),
|
|
22
22
|
device_custom_metadata: custom_metadata
|
|
23
23
|
.optional()
|
|
@@ -69,19 +69,21 @@ export const access_code_changed_event = access_code_event.extend({
|
|
|
69
69
|
event_type: z.literal('access_code.changed'),
|
|
70
70
|
changed_properties: z
|
|
71
71
|
.array(
|
|
72
|
-
z
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
72
|
+
z
|
|
73
|
+
.object({
|
|
74
|
+
property: z
|
|
75
|
+
.string()
|
|
76
|
+
.describe('Name of the property that changed (e.g. `code`).'),
|
|
77
|
+
from: z
|
|
78
|
+
.string()
|
|
79
|
+
.nullable()
|
|
80
|
+
.describe('Previous value of the property, or null if not set.'),
|
|
81
|
+
to: z
|
|
82
|
+
.string()
|
|
83
|
+
.nullable()
|
|
84
|
+
.describe('New value of the property, or null if cleared.'),
|
|
85
|
+
})
|
|
86
|
+
.describe('Record describing a single changed property.'),
|
|
85
87
|
)
|
|
86
88
|
.optional()
|
|
87
89
|
.describe('List of properties that changed on the access code.'),
|
|
@@ -324,7 +326,9 @@ export type AccessCodeDeletedExternalToSeamEvent = z.infer<
|
|
|
324
326
|
export const access_code_backup_access_code_pulled_event =
|
|
325
327
|
access_code_event.extend({
|
|
326
328
|
event_type: z.literal('access_code.backup_access_code_pulled'),
|
|
327
|
-
backup_access_code_id: z
|
|
329
|
+
backup_access_code_id: z
|
|
330
|
+
.string()
|
|
331
|
+
.describe('ID of the backup access code that was pulled from the pool.'),
|
|
328
332
|
}).describe(`
|
|
329
333
|
---
|
|
330
334
|
route_path: /access_codes
|
|
@@ -2,11 +2,9 @@ import { z } from 'zod'
|
|
|
2
2
|
|
|
3
3
|
import { common_acs_event } from './common.js'
|
|
4
4
|
|
|
5
|
-
const acs_entrance_event = common_acs_event
|
|
6
|
-
.
|
|
7
|
-
|
|
8
|
-
})
|
|
9
|
-
.describe('ID of the affected entrance.')
|
|
5
|
+
const acs_entrance_event = common_acs_event.extend({
|
|
6
|
+
acs_entrance_id: z.string().uuid().describe('ID of the affected entrance.'),
|
|
7
|
+
})
|
|
10
8
|
|
|
11
9
|
export const acs_entrance_added_event = acs_entrance_event.extend({
|
|
12
10
|
event_type: z.literal('acs_entrance.added'),
|
|
@@ -2,11 +2,12 @@ import { z } from 'zod'
|
|
|
2
2
|
|
|
3
3
|
import { common_acs_event } from './common.js'
|
|
4
4
|
|
|
5
|
-
const acs_user_event = common_acs_event
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
const acs_user_event = common_acs_event.extend({
|
|
6
|
+
acs_user_id: z
|
|
7
|
+
.string()
|
|
8
|
+
.uuid()
|
|
9
|
+
.describe('ID of the affected access system user.'),
|
|
10
|
+
})
|
|
10
11
|
|
|
11
12
|
export const acs_user_deleted_event = acs_user_event.extend({
|
|
12
13
|
event_type: z.literal('acs_user.deleted'),
|