@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.
Files changed (113) hide show
  1. package/dist/connect.cjs +938 -540
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +1928 -1071
  4. package/dist/index.cjs +938 -540
  5. package/dist/index.cjs.map +1 -1
  6. package/lib/seam/connect/models/acs/acs-access-group.js +6 -4
  7. package/lib/seam/connect/models/acs/acs-access-group.js.map +1 -1
  8. package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js +1 -1
  9. package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js.map +1 -1
  10. package/lib/seam/connect/models/acs/acs-credential.js +13 -4
  11. package/lib/seam/connect/models/acs/acs-credential.js.map +1 -1
  12. package/lib/seam/connect/models/acs/acs-encoder.js +2 -2
  13. package/lib/seam/connect/models/acs/acs-encoder.js.map +1 -1
  14. package/lib/seam/connect/models/acs/acs-system.js +17 -7
  15. package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
  16. package/lib/seam/connect/models/acs/acs-users/acs-user.js +10 -4
  17. package/lib/seam/connect/models/acs/acs-users/acs-user.js.map +1 -1
  18. package/lib/seam/connect/models/bridges/bridge-connected-system.js +1 -1
  19. package/lib/seam/connect/models/bridges/bridge-connected-system.js.map +1 -1
  20. package/lib/seam/connect/models/bridges/bridge.js +1 -1
  21. package/lib/seam/connect/models/bridges/bridge.js.map +1 -1
  22. package/lib/seam/connect/models/client-sessions/client-session.js +2 -5
  23. package/lib/seam/connect/models/client-sessions/client-session.js.map +1 -1
  24. package/lib/seam/connect/models/connect-webviews/connect-webview.js +3 -3
  25. package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -1
  26. package/lib/seam/connect/models/customer/customer.js +1 -1
  27. package/lib/seam/connect/models/customer/customer.js.map +1 -1
  28. package/lib/seam/connect/models/devices/device-provider.js +8 -4
  29. package/lib/seam/connect/models/devices/device-provider.js.map +1 -1
  30. package/lib/seam/connect/models/devices/device.js +60 -20
  31. package/lib/seam/connect/models/devices/device.js.map +1 -1
  32. package/lib/seam/connect/models/devices/phone.js +11 -7
  33. package/lib/seam/connect/models/devices/phone.js.map +1 -1
  34. package/lib/seam/connect/models/devices/unmanaged-device.js +3 -1
  35. package/lib/seam/connect/models/devices/unmanaged-device.js.map +1 -1
  36. package/lib/seam/connect/models/events/access-codes.js +8 -4
  37. package/lib/seam/connect/models/events/access-codes.js.map +1 -1
  38. package/lib/seam/connect/models/events/acs/entrances.js +3 -5
  39. package/lib/seam/connect/models/events/acs/entrances.js.map +1 -1
  40. package/lib/seam/connect/models/events/acs/users.js +6 -5
  41. package/lib/seam/connect/models/events/acs/users.js.map +1 -1
  42. package/lib/seam/connect/models/events/action-attempts.js +8 -8
  43. package/lib/seam/connect/models/events/client-sessions.js +1 -1
  44. package/lib/seam/connect/models/events/common.js +9 -5
  45. package/lib/seam/connect/models/events/common.js.map +1 -1
  46. package/lib/seam/connect/models/events/connect-webviews.js +4 -4
  47. package/lib/seam/connect/models/events/connect-webviews.js.map +1 -1
  48. package/lib/seam/connect/models/events/connected-accounts.js +10 -10
  49. package/lib/seam/connect/models/events/connected-accounts.js.map +1 -1
  50. package/lib/seam/connect/models/events/devices.js +20 -20
  51. package/lib/seam/connect/models/events/devices.js.map +1 -1
  52. package/lib/seam/connect/models/events/seam-event.js +1 -1
  53. package/lib/seam/connect/models/instant-keys/instant-key.js +2 -2
  54. package/lib/seam/connect/models/instant-keys/instant-key.js.map +1 -1
  55. package/lib/seam/connect/models/partner/customer-portal.js +1 -1
  56. package/lib/seam/connect/models/partner/customer-portal.js.map +1 -1
  57. package/lib/seam/connect/models/partner/magic-link.js +1 -1
  58. package/lib/seam/connect/models/partner/magic-link.js.map +1 -1
  59. package/lib/seam/connect/models/spaces/space.js +1 -1
  60. package/lib/seam/connect/models/spaces/space.js.map +1 -1
  61. package/lib/seam/connect/models/thermostats/modes.js +9 -16
  62. package/lib/seam/connect/models/thermostats/modes.js.map +1 -1
  63. package/lib/seam/connect/models/thermostats/thermostat-program.js +1 -1
  64. package/lib/seam/connect/models/thermostats/thermostat-program.js.map +1 -1
  65. package/lib/seam/connect/models/thermostats/thermostat-schedule.js +1 -1
  66. package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -1
  67. package/lib/seam/connect/models/user-identities/user-identity.js +10 -3
  68. package/lib/seam/connect/models/user-identities/user-identity.js.map +1 -1
  69. package/lib/seam/connect/models/webhooks/webhook.js +1 -3
  70. package/lib/seam/connect/models/webhooks/webhook.js.map +1 -1
  71. package/lib/seam/connect/models/workspaces/workspace.js +2 -5
  72. package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
  73. package/lib/seam/connect/openapi.js +758 -363
  74. package/lib/seam/connect/openapi.js.map +1 -1
  75. package/lib/seam/connect/route-types.d.ts +1928 -1071
  76. package/package.json +1 -1
  77. package/src/lib/seam/connect/models/acs/acs-access-group.ts +6 -8
  78. package/src/lib/seam/connect/models/acs/acs-credential-provisioning-automation.ts +1 -3
  79. package/src/lib/seam/connect/models/acs/acs-credential.ts +15 -4
  80. package/src/lib/seam/connect/models/acs/acs-encoder.ts +2 -2
  81. package/src/lib/seam/connect/models/acs/acs-system.ts +27 -7
  82. package/src/lib/seam/connect/models/acs/acs-users/acs-user.ts +12 -4
  83. package/src/lib/seam/connect/models/bridges/bridge-connected-system.ts +1 -3
  84. package/src/lib/seam/connect/models/bridges/bridge.ts +1 -3
  85. package/src/lib/seam/connect/models/client-sessions/client-session.ts +2 -9
  86. package/src/lib/seam/connect/models/connect-webviews/connect-webview.ts +5 -5
  87. package/src/lib/seam/connect/models/customer/customer.ts +1 -3
  88. package/src/lib/seam/connect/models/devices/device-provider.ts +10 -4
  89. package/src/lib/seam/connect/models/devices/device.ts +90 -20
  90. package/src/lib/seam/connect/models/devices/phone.ts +13 -7
  91. package/src/lib/seam/connect/models/devices/unmanaged-device.ts +3 -1
  92. package/src/lib/seam/connect/models/events/access-codes.ts +19 -15
  93. package/src/lib/seam/connect/models/events/acs/entrances.ts +3 -5
  94. package/src/lib/seam/connect/models/events/acs/users.ts +6 -5
  95. package/src/lib/seam/connect/models/events/action-attempts.ts +8 -8
  96. package/src/lib/seam/connect/models/events/client-sessions.ts +1 -1
  97. package/src/lib/seam/connect/models/events/common.ts +33 -27
  98. package/src/lib/seam/connect/models/events/connect-webviews.ts +4 -8
  99. package/src/lib/seam/connect/models/events/connected-accounts.ts +10 -14
  100. package/src/lib/seam/connect/models/events/devices.ts +20 -22
  101. package/src/lib/seam/connect/models/events/seam-event.ts +1 -1
  102. package/src/lib/seam/connect/models/instant-keys/instant-key.ts +2 -6
  103. package/src/lib/seam/connect/models/partner/customer-portal.ts +1 -3
  104. package/src/lib/seam/connect/models/partner/magic-link.ts +1 -3
  105. package/src/lib/seam/connect/models/spaces/space.ts +1 -3
  106. package/src/lib/seam/connect/models/thermostats/modes.ts +15 -16
  107. package/src/lib/seam/connect/models/thermostats/thermostat-program.ts +1 -1
  108. package/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +1 -3
  109. package/src/lib/seam/connect/models/user-identities/user-identity.ts +10 -5
  110. package/src/lib/seam/connect/models/webhooks/webhook.ts +1 -5
  111. package/src/lib/seam/connect/models/workspaces/workspace.ts +2 -7
  112. package/src/lib/seam/connect/openapi.ts +905 -507
  113. package/src/lib/seam/connect/route-types.ts +1928 -1071
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.915.0",
3
+ "version": "1.917.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -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.literal(true),
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.string().uuid().optional(),
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 [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the [credential](https://docs.seam.co/low-level-apis/access-systems/managing-credentials).',
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.literal(true),
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.boolean().nullable(),
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 [connected account](https://docs.seam.co/core-concepts/connected-accounts) that contains the [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).',
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 [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the [encoder](https://docs.seam.co/low-level-apis/access-systems/working-with-card-encoders-and-scanners).',
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.boolean().optional(),
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.number().optional(),
255
- acs_access_group_count: z.number().optional(),
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 [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
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 [connected account](https://docs.seam.co/core-concepts/connected-accounts) associated with the [access control system](https://docs.seam.co/low-level-apis/access-systems).',
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.string().uuid().optional(),
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 [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).',
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 [connected account](https://docs.seam.co/core-concepts/connected-accounts) that is associated with the [access system user](https://docs.seam.co/low-level-apis/access-systems/user-management).
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.literal(true),
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 [connected account](https://docs.seam.co/core-concepts/connected-accounts) associated with the Connect Webview.',
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.enum(ALL_DEVICE_PROVIDERS),
179
- display_name: z.string(),
180
- image_url: z.string(),
181
- provider_categories: z.array(z.enum(PUBLIC_PROVIDER_CATEGORIES)),
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.boolean(),
14
- can_remotely_lock: z.boolean(),
15
- can_program_offline_access_codes: z.boolean(),
16
- can_program_online_access_codes: z.boolean(),
17
- can_hvac_heat: z.boolean(),
18
- can_hvac_cool: z.boolean(),
19
- can_hvac_heat_cool: z.boolean(),
20
- can_turn_off_hvac: z.boolean(),
21
- can_simulate_removal: z.boolean(),
22
- can_simulate_connection: z.boolean(),
23
- can_simulate_disconnection: z.boolean(),
24
- can_unlock_with_code: z.boolean(),
25
- can_run_thermostat_programs: z.boolean(),
26
- can_program_thermostat_programs_as_weekday_weekend: z.boolean(),
27
- can_program_thermostat_programs_as_different_each_day: z.boolean(),
28
- can_program_thermostat_programs_as_same_each_day: z.boolean(),
29
- can_simulate_hub_connection: z.boolean(),
30
- can_simulate_hub_disconnection: z.boolean(),
31
- can_simulate_paid_subscription: z.boolean(),
32
- can_configure_auto_lock: z.boolean(),
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 [workspace](https://docs.seam.co/core-concepts/workspaces) that contains the phone.
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.string(),
41
- message: z.string(),
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.string(),
49
- message: z.string(),
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
- properties: phone_specific_properties,
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.literal(false),
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 [connected account](https://docs.seam.co/core-concepts/connected-accounts) associated with the affected access code.',
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.object({
73
- property: z
74
- .string()
75
- .describe('Name of the property that changed (e.g. `code`).'),
76
- from: z
77
- .string()
78
- .nullable()
79
- .describe('Previous value of the property, or null if not set.'),
80
- to: z
81
- .string()
82
- .nullable()
83
- .describe('New value of the property, or null if cleared.'),
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.string(),
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
- .extend({
7
- acs_entrance_id: z.string().uuid(),
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
- .extend({
7
- acs_user_id: z.string().uuid(),
8
- })
9
- .describe('ID of the affected access system user.')
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'),