@seamapi/types 1.416.1 → 1.417.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 (179) hide show
  1. package/dist/connect.cjs +4358 -2205
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +11496 -6206
  4. package/lib/seam/connect/models/access-codes/managed-access-code.js +1 -1
  5. package/lib/seam/connect/models/access-codes/managed-access-code.js.map +1 -1
  6. package/lib/seam/connect/models/access-grants/access-grant.js +6 -5
  7. package/lib/seam/connect/models/access-grants/access-grant.js.map +1 -1
  8. package/lib/seam/connect/models/access-grants/access-method.js +4 -3
  9. package/lib/seam/connect/models/access-grants/access-method.js.map +1 -1
  10. package/lib/seam/connect/models/access-grants/requested-access-method.js +2 -2
  11. package/lib/seam/connect/models/access-grants/requested-access-method.js.map +1 -1
  12. package/lib/seam/connect/models/acs/acs-credential-pool.js +2 -1
  13. package/lib/seam/connect/models/acs/acs-credential-pool.js.map +1 -1
  14. package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js +2 -1
  15. package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js.map +1 -1
  16. package/lib/seam/connect/models/acs/acs-entrance.d.ts +3 -0
  17. package/lib/seam/connect/models/acs/acs-entrance.js +4 -0
  18. package/lib/seam/connect/models/acs/acs-entrance.js.map +1 -1
  19. package/lib/seam/connect/models/acs/acs-users/acs-user.js +37 -37
  20. package/lib/seam/connect/models/acs/acs-users/acs-user.js.map +1 -1
  21. package/lib/seam/connect/models/acs/acs-users/pending-mutations.js +57 -19
  22. package/lib/seam/connect/models/acs/acs-users/pending-mutations.js.map +1 -1
  23. package/lib/seam/connect/models/acs/metadata/assa-abloy-vostio.js +52 -15
  24. package/lib/seam/connect/models/acs/metadata/assa-abloy-vostio.js.map +1 -1
  25. package/lib/seam/connect/models/acs/metadata/dormakaba-community.js +7 -3
  26. package/lib/seam/connect/models/acs/metadata/dormakaba-community.js.map +1 -1
  27. package/lib/seam/connect/models/acs/metadata/latch.js +16 -6
  28. package/lib/seam/connect/models/acs/metadata/latch.js.map +1 -1
  29. package/lib/seam/connect/models/acs/metadata/salto-space.js +14 -5
  30. package/lib/seam/connect/models/acs/metadata/salto-space.js.map +1 -1
  31. package/lib/seam/connect/models/acs/metadata/salto.js +32 -10
  32. package/lib/seam/connect/models/acs/metadata/salto.js.map +1 -1
  33. package/lib/seam/connect/models/acs/metadata/visionline.js +53 -23
  34. package/lib/seam/connect/models/acs/metadata/visionline.js.map +1 -1
  35. package/lib/seam/connect/models/action-attempts/action-attempt.js +5 -0
  36. package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
  37. package/lib/seam/connect/models/action-attempts/activate-climate-preset.js +15 -9
  38. package/lib/seam/connect/models/action-attempts/activate-climate-preset.js.map +1 -1
  39. package/lib/seam/connect/models/action-attempts/deprecated.js +120 -52
  40. package/lib/seam/connect/models/action-attempts/deprecated.js.map +1 -1
  41. package/lib/seam/connect/models/action-attempts/encode-access-method.js +35 -17
  42. package/lib/seam/connect/models/action-attempts/encode-access-method.js.map +1 -1
  43. package/lib/seam/connect/models/action-attempts/encode-credential.js +35 -17
  44. package/lib/seam/connect/models/action-attempts/encode-credential.js.map +1 -1
  45. package/lib/seam/connect/models/action-attempts/lock-door.js +15 -9
  46. package/lib/seam/connect/models/action-attempts/lock-door.js.map +1 -1
  47. package/lib/seam/connect/models/action-attempts/push-thermostat-programs.js +13 -7
  48. package/lib/seam/connect/models/action-attempts/push-thermostat-programs.js.map +1 -1
  49. package/lib/seam/connect/models/action-attempts/reset-sandbox-workspace.js +15 -9
  50. package/lib/seam/connect/models/action-attempts/reset-sandbox-workspace.js.map +1 -1
  51. package/lib/seam/connect/models/action-attempts/scan-credential.js +34 -16
  52. package/lib/seam/connect/models/action-attempts/scan-credential.js.map +1 -1
  53. package/lib/seam/connect/models/action-attempts/set-fan-mode.js +15 -9
  54. package/lib/seam/connect/models/action-attempts/set-fan-mode.js.map +1 -1
  55. package/lib/seam/connect/models/action-attempts/set-hvac-mode.js +15 -9
  56. package/lib/seam/connect/models/action-attempts/set-hvac-mode.js.map +1 -1
  57. package/lib/seam/connect/models/action-attempts/simulate-keypad-code-entry.js +15 -9
  58. package/lib/seam/connect/models/action-attempts/simulate-keypad-code-entry.js.map +1 -1
  59. package/lib/seam/connect/models/action-attempts/simulate-manual-lock-via-keypad.js +15 -9
  60. package/lib/seam/connect/models/action-attempts/simulate-manual-lock-via-keypad.js.map +1 -1
  61. package/lib/seam/connect/models/action-attempts/unlock-door.js +15 -9
  62. package/lib/seam/connect/models/action-attempts/unlock-door.js.map +1 -1
  63. package/lib/seam/connect/models/bridges/bridge-client-session.js +66 -25
  64. package/lib/seam/connect/models/bridges/bridge-client-session.js.map +1 -1
  65. package/lib/seam/connect/models/bridges/bridge-connected-system.js +32 -9
  66. package/lib/seam/connect/models/bridges/bridge-connected-system.js.map +1 -1
  67. package/lib/seam/connect/models/bridges/bridge.js +10 -3
  68. package/lib/seam/connect/models/bridges/bridge.js.map +1 -1
  69. package/lib/seam/connect/models/client-sessions/client-session.js +47 -13
  70. package/lib/seam/connect/models/client-sessions/client-session.js.map +1 -1
  71. package/lib/seam/connect/models/connect-webviews/connect-webview.js +7 -9
  72. package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -1
  73. package/lib/seam/connect/models/connected-accounts/connected-account.js +8 -8
  74. package/lib/seam/connect/models/connected-accounts/connected-account.js.map +1 -1
  75. package/lib/seam/connect/models/custom-metadata.js +1 -1
  76. package/lib/seam/connect/models/custom-metadata.js.map +1 -1
  77. package/lib/seam/connect/models/devices/capability-properties/lock.js +2 -1
  78. package/lib/seam/connect/models/devices/capability-properties/lock.js.map +1 -1
  79. package/lib/seam/connect/models/devices/device-metadata.js +493 -480
  80. package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
  81. package/lib/seam/connect/models/devices/device.js +67 -47
  82. package/lib/seam/connect/models/devices/device.js.map +1 -1
  83. package/lib/seam/connect/models/devices/phone.js +1 -1
  84. package/lib/seam/connect/models/events/access-codes.js +1 -1
  85. package/lib/seam/connect/models/events/access-codes.js.map +1 -1
  86. package/lib/seam/connect/models/events/acs/credentials.js +4 -4
  87. package/lib/seam/connect/models/events/acs/encoders.js +2 -2
  88. package/lib/seam/connect/models/events/acs/entrances.js +2 -2
  89. package/lib/seam/connect/models/events/common.js +1 -1
  90. package/lib/seam/connect/models/events/common.js.map +1 -1
  91. package/lib/seam/connect/models/events/connect-webviews.js +2 -2
  92. package/lib/seam/connect/models/events/connect-webviews.js.map +1 -1
  93. package/lib/seam/connect/models/events/connected-accounts.js +2 -2
  94. package/lib/seam/connect/models/events/connected-accounts.js.map +1 -1
  95. package/lib/seam/connect/models/events/devices.js +1 -1
  96. package/lib/seam/connect/models/events/devices.js.map +1 -1
  97. package/lib/seam/connect/models/instant-keys/instant-key.js +28 -7
  98. package/lib/seam/connect/models/instant-keys/instant-key.js.map +1 -1
  99. package/lib/seam/connect/models/partner/magic-link.js +22 -11
  100. package/lib/seam/connect/models/partner/magic-link.js.map +1 -1
  101. package/lib/seam/connect/models/partner/resources.js +61 -20
  102. package/lib/seam/connect/models/partner/resources.js.map +1 -1
  103. package/lib/seam/connect/models/phones/phone-registration.js +7 -4
  104. package/lib/seam/connect/models/phones/phone-registration.js.map +1 -1
  105. package/lib/seam/connect/models/phones/phone-session.d.ts +16 -0
  106. package/lib/seam/connect/models/phones/phone-session.js +10 -4
  107. package/lib/seam/connect/models/phones/phone-session.js.map +1 -1
  108. package/lib/seam/connect/models/schedule.js +4 -2
  109. package/lib/seam/connect/models/schedule.js.map +1 -1
  110. package/lib/seam/connect/models/spaces/space.js +5 -4
  111. package/lib/seam/connect/models/spaces/space.js.map +1 -1
  112. package/lib/seam/connect/models/webhooks/webhook.js +16 -5
  113. package/lib/seam/connect/models/webhooks/webhook.js.map +1 -1
  114. package/lib/seam/connect/models/workspaces/workspace.js +33 -11
  115. package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
  116. package/lib/seam/connect/openapi.d.ts +420 -172
  117. package/lib/seam/connect/openapi.js +3243 -1186
  118. package/lib/seam/connect/openapi.js.map +1 -1
  119. package/lib/seam/connect/route-types.d.ts +11073 -6034
  120. package/package.json +2 -2
  121. package/src/lib/seam/connect/models/access-codes/managed-access-code.ts +1 -1
  122. package/src/lib/seam/connect/models/access-grants/access-grant.ts +6 -9
  123. package/src/lib/seam/connect/models/access-grants/access-method.ts +4 -5
  124. package/src/lib/seam/connect/models/access-grants/requested-access-method.ts +2 -2
  125. package/src/lib/seam/connect/models/acs/acs-credential-pool.ts +2 -1
  126. package/src/lib/seam/connect/models/acs/acs-credential-provisioning-automation.ts +2 -1
  127. package/src/lib/seam/connect/models/acs/acs-entrance.ts +6 -0
  128. package/src/lib/seam/connect/models/acs/acs-users/acs-user.ts +37 -37
  129. package/src/lib/seam/connect/models/acs/acs-users/pending-mutations.ts +69 -19
  130. package/src/lib/seam/connect/models/acs/metadata/assa-abloy-vostio.ts +63 -16
  131. package/src/lib/seam/connect/models/acs/metadata/dormakaba-community.ts +11 -3
  132. package/src/lib/seam/connect/models/acs/metadata/latch.ts +16 -6
  133. package/src/lib/seam/connect/models/acs/metadata/salto-space.ts +14 -5
  134. package/src/lib/seam/connect/models/acs/metadata/salto.ts +32 -10
  135. package/src/lib/seam/connect/models/acs/metadata/visionline.ts +60 -28
  136. package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +5 -0
  137. package/src/lib/seam/connect/models/action-attempts/activate-climate-preset.ts +19 -9
  138. package/src/lib/seam/connect/models/action-attempts/deprecated.ts +174 -104
  139. package/src/lib/seam/connect/models/action-attempts/encode-access-method.ts +49 -17
  140. package/src/lib/seam/connect/models/action-attempts/encode-credential.ts +49 -18
  141. package/src/lib/seam/connect/models/action-attempts/lock-door.ts +17 -9
  142. package/src/lib/seam/connect/models/action-attempts/push-thermostat-programs.ts +17 -7
  143. package/src/lib/seam/connect/models/action-attempts/reset-sandbox-workspace.ts +19 -9
  144. package/src/lib/seam/connect/models/action-attempts/scan-credential.ts +52 -22
  145. package/src/lib/seam/connect/models/action-attempts/set-fan-mode.ts +19 -9
  146. package/src/lib/seam/connect/models/action-attempts/set-hvac-mode.ts +19 -9
  147. package/src/lib/seam/connect/models/action-attempts/simulate-keypad-code-entry.ts +19 -9
  148. package/src/lib/seam/connect/models/action-attempts/simulate-manual-lock-via-keypad.ts +19 -9
  149. package/src/lib/seam/connect/models/action-attempts/unlock-door.ts +17 -9
  150. package/src/lib/seam/connect/models/bridges/bridge-client-session.ts +84 -25
  151. package/src/lib/seam/connect/models/bridges/bridge-connected-system.ts +42 -9
  152. package/src/lib/seam/connect/models/bridges/bridge.ts +12 -3
  153. package/src/lib/seam/connect/models/client-sessions/client-session.ts +69 -13
  154. package/src/lib/seam/connect/models/connect-webviews/connect-webview.ts +10 -10
  155. package/src/lib/seam/connect/models/connected-accounts/connected-account.ts +12 -8
  156. package/src/lib/seam/connect/models/custom-metadata.ts +1 -1
  157. package/src/lib/seam/connect/models/devices/capability-properties/lock.ts +2 -1
  158. package/src/lib/seam/connect/models/devices/device-metadata.ts +588 -521
  159. package/src/lib/seam/connect/models/devices/device.ts +89 -47
  160. package/src/lib/seam/connect/models/devices/phone.ts +1 -1
  161. package/src/lib/seam/connect/models/events/access-codes.ts +1 -1
  162. package/src/lib/seam/connect/models/events/acs/credentials.ts +4 -4
  163. package/src/lib/seam/connect/models/events/acs/encoders.ts +2 -2
  164. package/src/lib/seam/connect/models/events/acs/entrances.ts +2 -2
  165. package/src/lib/seam/connect/models/events/common.ts +3 -1
  166. package/src/lib/seam/connect/models/events/connect-webviews.ts +6 -2
  167. package/src/lib/seam/connect/models/events/connected-accounts.ts +6 -2
  168. package/src/lib/seam/connect/models/events/devices.ts +3 -1
  169. package/src/lib/seam/connect/models/instant-keys/instant-key.ts +34 -7
  170. package/src/lib/seam/connect/models/partner/magic-link.ts +24 -11
  171. package/src/lib/seam/connect/models/partner/resources.ts +73 -20
  172. package/src/lib/seam/connect/models/phones/phone-registration.ts +7 -4
  173. package/src/lib/seam/connect/models/phones/phone-session.ts +21 -13
  174. package/src/lib/seam/connect/models/schedule.ts +19 -15
  175. package/src/lib/seam/connect/models/spaces/space.ts +5 -4
  176. package/src/lib/seam/connect/models/webhooks/webhook.ts +24 -5
  177. package/src/lib/seam/connect/models/workspaces/workspace.ts +53 -11
  178. package/src/lib/seam/connect/openapi.ts +4044 -1364
  179. package/src/lib/seam/connect/route-types.ts +11073 -6034
@@ -24,9 +24,18 @@ export const battery_status = z.enum(['critical', 'low', 'good', 'full'])
24
24
  export type BatteryStatus = z.infer<typeof battery_status>
25
25
 
26
26
  const common_device_error = z.object({
27
- message: z.string(),
28
- is_device_error: z.literal(true),
29
- created_at: z.string().datetime(),
27
+ message: z
28
+ .string()
29
+ .describe(
30
+ 'Detailed description of the error. Provides insights into the issue and potentially how to rectify it.',
31
+ ),
32
+ is_device_error: z
33
+ .literal(true)
34
+ .describe('Indicates that the error is a device error.'),
35
+ created_at: z
36
+ .string()
37
+ .datetime()
38
+ .describe('Date and time at which Seam created the error.'),
30
39
  })
31
40
 
32
41
  const error_code_description =
@@ -36,19 +45,19 @@ const device_offline = common_device_error
36
45
  .extend({
37
46
  error_code: z.literal('device_offline').describe(error_code_description),
38
47
  })
39
- .describe('Device is offline')
48
+ .describe('Indicates that the device is offline.')
40
49
 
41
50
  const device_removed = common_device_error
42
51
  .extend({
43
52
  error_code: z.literal('device_removed').describe(error_code_description),
44
53
  })
45
- .describe('Device has been removed')
54
+ .describe('Indicates that the device has been removed.')
46
55
 
47
56
  const hub_disconnected = common_device_error
48
57
  .extend({
49
58
  error_code: z.literal('hub_disconnected').describe(error_code_description),
50
59
  })
51
- .describe('Hub is disconnected')
60
+ .describe('Indicates that the hub is disconnected.')
52
61
 
53
62
  const device_disconnected = common_device_error
54
63
  .extend({
@@ -56,17 +65,23 @@ const device_disconnected = common_device_error
56
65
  .literal('device_disconnected')
57
66
  .describe(error_code_description),
58
67
  })
59
- .describe('Device is disconnected')
68
+ .describe('Indicates that the device is disconnected.')
60
69
 
61
70
  const account_disconnected = common_device_error
62
71
  .extend({
63
72
  error_code: z
64
73
  .literal('account_disconnected')
65
74
  .describe(error_code_description),
66
- is_connected_account_error: z.literal(true),
67
- is_device_error: z.literal(false),
75
+ is_connected_account_error: z
76
+ .literal(true)
77
+ .describe(
78
+ 'Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error.',
79
+ ),
80
+ is_device_error: z
81
+ .literal(false)
82
+ .describe('Indicates that the error is not a device error.'),
68
83
  })
69
- .describe('Account is disconnected')
84
+ .describe('Indicates that the account is disconnected.')
70
85
 
71
86
  const empty_backup_access_code_pool = common_device_error
72
87
  .extend({
@@ -74,7 +89,9 @@ const empty_backup_access_code_pool = common_device_error
74
89
  .literal('empty_backup_access_code_pool')
75
90
  .describe(error_code_description),
76
91
  })
77
- .describe('The backup access code pool is empty.')
92
+ .describe(
93
+ 'Indicates that the [backup access code pool](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes) is empty.',
94
+ )
78
95
 
79
96
  const august_lock_not_authorized = common_device_error
80
97
  .extend({
@@ -82,7 +99,7 @@ const august_lock_not_authorized = common_device_error
82
99
  .literal('august_lock_not_authorized')
83
100
  .describe(error_code_description),
84
101
  })
85
- .describe('User is not authorized to use the August Lock.')
102
+ .describe('Indicates that the user is not authorized to use the August lock.')
86
103
 
87
104
  const august_lock_missing_bridge = common_device_error
88
105
  .extend({
@@ -90,17 +107,23 @@ const august_lock_missing_bridge = common_device_error
90
107
  .literal('august_lock_missing_bridge')
91
108
  .describe(error_code_description),
92
109
  })
93
- .describe('Lock is not connected to the Seam Bridge.')
110
+ .describe('Indicates that the lock is not connected to a bridge.')
94
111
 
95
112
  const salto_ks_subscription_limit_exceeded = common_device_error
96
113
  .extend({
97
114
  error_code: z
98
115
  .literal('salto_ks_subscription_limit_exceeded')
99
116
  .describe(error_code_description),
100
- is_connected_account_error: z.literal(true),
101
- is_device_error: z.literal(false),
117
+ is_connected_account_error: z
118
+ .literal(true)
119
+ .describe(
120
+ 'Indicates that the error is a [connected account](https://docs.seam.co/latest/api/connected_accounts) error.',
121
+ ),
122
+ is_device_error: z
123
+ .literal(false)
124
+ .describe('Indicates that the error is not a device error.'),
102
125
  })
103
- .describe('Salto site user limit reached.')
126
+ .describe('Indicates that the Salto site user limit has been reached.')
104
127
 
105
128
  const ttlock_lock_not_paired_to_gateway = common_device_error
106
129
  .extend({
@@ -108,7 +131,7 @@ const ttlock_lock_not_paired_to_gateway = common_device_error
108
131
  .literal('ttlock_lock_not_paired_to_gateway')
109
132
  .describe(error_code_description),
110
133
  })
111
- .describe('Lock is not paired with a Gateway.')
134
+ .describe('Indicates that the lock is not paired with a gateway.')
112
135
 
113
136
  const missing_device_credentials = common_device_error
114
137
  .extend({
@@ -116,7 +139,7 @@ const missing_device_credentials = common_device_error
116
139
  .literal('missing_device_credentials')
117
140
  .describe(error_code_description),
118
141
  })
119
- .describe('Missing device credentials.')
142
+ .describe('Indicates that device credentials are missing.')
120
143
 
121
144
  const auxiliary_heat_running = common_device_error
122
145
  .extend({
@@ -124,7 +147,7 @@ const auxiliary_heat_running = common_device_error
124
147
  .literal('auxiliary_heat_running')
125
148
  .describe(error_code_description),
126
149
  })
127
- .describe('The auxiliary heat is running.')
150
+ .describe('Indicates that the auxiliary heat is running.')
128
151
 
129
152
  const subscription_required = common_device_error
130
153
  .extend({
@@ -132,7 +155,7 @@ const subscription_required = common_device_error
132
155
  .literal('subscription_required')
133
156
  .describe(error_code_description),
134
157
  })
135
- .describe('Subscription required to connect.')
158
+ .describe('Indicates that a subscription is required to connect.')
136
159
 
137
160
  const lockly_missing_wifi_bridge = common_device_error
138
161
  .extend({
@@ -140,7 +163,9 @@ const lockly_missing_wifi_bridge = common_device_error
140
163
  .literal('lockly_missing_wifi_bridge')
141
164
  .describe(error_code_description),
142
165
  })
143
- .describe('Lockly lock is not connected to a Wi-Fi bridge.')
166
+ .describe(
167
+ 'Indicates that the Lockly lock is not connected to a Wi-Fi bridge.',
168
+ )
144
169
 
145
170
  export const device_error = z
146
171
  .discriminatedUnion('error_code', [
@@ -159,7 +184,7 @@ export const device_error = z
159
184
  subscription_required,
160
185
  lockly_missing_wifi_bridge,
161
186
  ])
162
- .describe('Error associated with the `device`.')
187
+ .describe('Error associated with the device.')
163
188
 
164
189
  export type DeviceError = z.infer<typeof device_error>
165
190
 
@@ -192,8 +217,15 @@ const warning_code_description =
192
217
  'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.'
193
218
 
194
219
  const common_device_warning = z.object({
195
- message: z.string(),
196
- created_at: z.string().datetime(),
220
+ message: z
221
+ .string()
222
+ .describe(
223
+ 'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
224
+ ),
225
+ created_at: z
226
+ .string()
227
+ .datetime()
228
+ .describe('Date and time at which Seam created the warning.'),
197
229
  })
198
230
 
199
231
  const partial_backup_access_code_pool = common_device_warning
@@ -202,7 +234,7 @@ const partial_backup_access_code_pool = common_device_warning
202
234
  .literal('partial_backup_access_code_pool')
203
235
  .describe(warning_code_description),
204
236
  })
205
- .describe('Backup access code unhealthy.')
237
+ .describe('Indicates that the backup access code is unhealthy.')
206
238
 
207
239
  const many_active_backup_codes = common_device_warning
208
240
  .extend({
@@ -210,7 +242,7 @@ const many_active_backup_codes = common_device_warning
210
242
  .literal('many_active_backup_codes')
211
243
  .describe(warning_code_description),
212
244
  })
213
- .describe('Too many backup codes.')
245
+ .describe('Indicates that there are too many backup codes.')
214
246
 
215
247
  const salto_ks_office_mode = common_device_warning
216
248
  .extend({
@@ -218,7 +250,9 @@ const salto_ks_office_mode = common_device_warning
218
250
  .literal('salto_ks_office_mode')
219
251
  .describe(warning_code_description),
220
252
  })
221
- .describe('Lock is in Office Mode. Access Codes will not unlock doors.')
253
+ .describe(
254
+ 'Indicates that the Salto KS lock is in Office Mode. Access Codes will not unlock doors.',
255
+ )
222
256
 
223
257
  const salto_ks_privacy_mode = common_device_warning
224
258
  .extend({
@@ -226,7 +260,9 @@ const salto_ks_privacy_mode = common_device_warning
226
260
  .literal('salto_ks_privacy_mode')
227
261
  .describe(warning_code_description),
228
262
  })
229
- .describe('Lock is in Privacy Mode. Access Codes will not unlock doors.')
263
+ .describe(
264
+ 'Indicates that the Salto KS lock is in Privacy Mode. Access Codes will not unlock doors.',
265
+ )
230
266
 
231
267
  const salto_ks_subscription_limit_almost_reached = common_device_warning
232
268
  .extend({
@@ -235,7 +271,7 @@ const salto_ks_subscription_limit_almost_reached = common_device_warning
235
271
  .describe(warning_code_description),
236
272
  })
237
273
  .describe(
238
- '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.',
274
+ '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.',
239
275
  )
240
276
 
241
277
  const wyze_device_missing_gateway = common_device_warning
@@ -244,7 +280,7 @@ const wyze_device_missing_gateway = common_device_warning
244
280
  .literal('wyze_device_missing_gateway')
245
281
  .describe(warning_code_description),
246
282
  })
247
- .describe('Wyze Lock is not connected to a gateway.')
283
+ .describe('Indicates that the Wyze Lock is not connected to a gateway.')
248
284
 
249
285
  const functional_offline_device = common_device_warning
250
286
  .extend({
@@ -252,7 +288,9 @@ const functional_offline_device = common_device_warning
252
288
  .literal('functional_offline_device')
253
289
  .describe(warning_code_description),
254
290
  })
255
- .describe('Device is offline, but has some functionality available.')
291
+ .describe(
292
+ 'Indicates that the device is offline but has some functionality available.',
293
+ )
256
294
 
257
295
  const third_party_integration_detected = common_device_warning
258
296
  .extend({
@@ -260,7 +298,7 @@ const third_party_integration_detected = common_device_warning
260
298
  .literal('third_party_integration_detected')
261
299
  .describe(warning_code_description),
262
300
  })
263
- .describe('Third-party integration detected.')
301
+ .describe('Indicates that a third-party integration has been detected.')
264
302
 
265
303
  const nest_thermostat_in_manual_eco_mode = common_device_warning
266
304
  .extend({
@@ -268,7 +306,7 @@ const nest_thermostat_in_manual_eco_mode = common_device_warning
268
306
  .literal('nest_thermostat_in_manual_eco_mode')
269
307
  .describe(warning_code_description),
270
308
  })
271
- .describe('Nest thermostat in manual eco mode.')
309
+ .describe('Indicates that the Nest thermostat is in manual eco mode.')
272
310
 
273
311
  const ttlock_lock_gateway_unlocking_not_enabled = common_device_warning
274
312
  .extend({
@@ -276,7 +314,9 @@ const ttlock_lock_gateway_unlocking_not_enabled = common_device_warning
276
314
  .literal('ttlock_lock_gateway_unlocking_not_enabled')
277
315
  .describe(warning_code_description),
278
316
  })
279
- .describe('Remote Unlock feature not enabled in settings.')
317
+ .describe(
318
+ 'Indicates that the Remote Unlock feature is not enabled in the settings.',
319
+ )
280
320
 
281
321
  const ttlock_weak_gateway_signal = common_device_warning
282
322
  .extend({
@@ -284,7 +324,7 @@ const ttlock_weak_gateway_signal = common_device_warning
284
324
  .literal('ttlock_weak_gateway_signal')
285
325
  .describe(warning_code_description),
286
326
  })
287
- .describe('Gateway signal is weak.')
327
+ .describe('Indicates that the gateway signal is weak.')
288
328
 
289
329
  const temperature_threshold_exceeded = common_device_warning
290
330
  .extend({
@@ -292,7 +332,7 @@ const temperature_threshold_exceeded = common_device_warning
292
332
  .literal('temperature_threshold_exceeded')
293
333
  .describe(warning_code_description),
294
334
  })
295
- .describe('Temperature threshold exceeded.')
335
+ .describe('Indicates that the temperature threshold has been exceeded.')
296
336
 
297
337
  const device_communication_degraded = common_device_warning
298
338
  .extend({
@@ -300,7 +340,7 @@ const device_communication_degraded = common_device_warning
300
340
  .literal('device_communication_degraded')
301
341
  .describe(warning_code_description),
302
342
  })
303
- .describe('Device appears to be unresponsive.')
343
+ .describe('Indicates that the device appears to be unresponsive.')
304
344
 
305
345
  const scheduled_maintenance_window = common_device_warning
306
346
  .extend({
@@ -308,7 +348,7 @@ const scheduled_maintenance_window = common_device_warning
308
348
  .literal('scheduled_maintenance_window')
309
349
  .describe(warning_code_description),
310
350
  })
311
- .describe('Scheduled maintenance window detected.')
351
+ .describe('Indicates that a scheduled maintenance window has been detected.')
312
352
 
313
353
  const device_has_flaky_connection = common_device_warning
314
354
  .extend({
@@ -316,7 +356,7 @@ const device_has_flaky_connection = common_device_warning
316
356
  .literal('device_has_flaky_connection')
317
357
  .describe(warning_code_description),
318
358
  })
319
- .describe('Device has flaky connection.')
359
+ .describe('Indicates that the device has a flaky connection.')
320
360
 
321
361
  const lockly_time_zone_not_configured = common_device_warning
322
362
  .extend({
@@ -325,7 +365,7 @@ const lockly_time_zone_not_configured = common_device_warning
325
365
  .describe(warning_code_description),
326
366
  })
327
367
  .describe(
328
- 'We detected that this device does not have a time zone configured. Time bound codes may not work as expected.',
368
+ 'Indicates that Seam detected that the Lockly device does not have a time zone configured. Time-bound codes may not work as expected.',
329
369
  )
330
370
 
331
371
  export const unknown_issue_with_phone = common_device_warning
@@ -335,7 +375,7 @@ export const unknown_issue_with_phone = common_device_warning
335
375
  .describe(warning_code_description),
336
376
  })
337
377
  .describe(
338
- 'An unknown issue occurred while syncing the state of this phone with the provider. This issue may affect the proper functioning of this phone.',
378
+ 'Indicates that an unknown issue occurred while syncing the state of the phone with the provider. This issue may affect the proper functioning of the phone.',
339
379
  )
340
380
 
341
381
  const device_warning = z.discriminatedUnion('warning_code', [
@@ -610,18 +650,18 @@ export const device_and_connected_account_error_options = [
610
650
 
611
651
  export const device = z
612
652
  .object({
613
- device_id: z.string().uuid().describe('Unique identifier for the device.'),
653
+ device_id: z.string().uuid().describe('ID of the device.'),
614
654
  device_type: any_device_type.describe('Type of the device.'),
615
655
  nickname: z
616
656
  .string()
617
657
  .optional()
618
658
  .describe(
619
- 'Optional nickname to describe the device, settable through Seam',
659
+ 'Optional nickname to describe the device, settable through Seam.',
620
660
  ),
621
661
  display_name: z
622
662
  .string()
623
663
  .describe(
624
- 'Display name of the device, defaults to nickname (if it is set) or properties.appearance.name otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.',
664
+ 'Display name of the device, defaults to nickname (if it is set) or `properties.appearance.name`, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.',
625
665
  ),
626
666
  capabilities_supported: z.array(capabilities).describe(`
627
667
  Collection of capabilities that the device supports when connected to Seam. Values are \`access_code\`, which indicates that the device can manage and utilize digital PIN codes for secure access; \`lock\`, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; \`noise_detection\`, which indicates that the device supports monitoring and responding to ambient noise levels; \`thermostat\`, which indicates that the device can regulate and adjust indoor temperatures; \`battery\`, which indicates that the device can manage battery life and health; and \`phone\`, which indicates that the device is a mobile device, such as a smartphone. **Important:** Superseded by [capability flags](https://docs.seam.co/latest/capability-guides/device-and-system-capabilities#capability-flags).
@@ -692,12 +732,12 @@ export const device = z
692
732
  ]),
693
733
  )
694
734
  .describe(
695
- 'Array of errors associated with the device. Each error object within the array contains two fields: "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.',
735
+ 'Array of errors associated with the device. Each error object within the array contains two fields: `error_code` and `message`. `error_code` is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.',
696
736
  ),
697
737
  warnings: z
698
738
  .array(device_warning)
699
739
  .describe(
700
- 'Array of warnings associated with the device. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.',
740
+ 'Array of warnings associated with the device. Each warning object within the array contains two fields: `warning_code` and `message`. `warning_code` is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. `message` provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.',
701
741
  ),
702
742
  created_at: z
703
743
  .string()
@@ -705,7 +745,9 @@ export const device = z
705
745
  .describe('Date and time at which the device object was created.'),
706
746
  is_managed: z
707
747
  .literal(true)
708
- .describe('Indicates whether Seam manages the device.'),
748
+ .describe(
749
+ 'Indicates whether Seam manages the device. See also [Managed and Unmanaged Devices](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices).',
750
+ ),
709
751
  custom_metadata,
710
752
  })
711
753
  .merge(device_capability_flags).describe(`
@@ -22,7 +22,7 @@ export const phone = z.object({
22
22
  .describe(`Optional nickname to describe the phone, settable through Seam.
23
23
  `),
24
24
  display_name: basePhoneDeviceSchema.shape.display_name
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.
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
28
  .describe(`ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the phone.
@@ -12,7 +12,7 @@ const access_code_event = common_event.extend({
12
12
  .string()
13
13
  .uuid()
14
14
  .describe(
15
- 'ID of the connected account associated with the affected access codes.',
15
+ 'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the affected access code.',
16
16
  ),
17
17
  })
18
18
 
@@ -15,7 +15,7 @@ export const acs_credential_deleted_event = acs_credential_event.extend({
15
15
  ---
16
16
  route_path: /acs/credentials
17
17
  ---
18
- An [ACS credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was deleted.
18
+ An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was deleted.
19
19
  `)
20
20
 
21
21
  export type AcsCredentialDeletedEvent = z.infer<
@@ -28,7 +28,7 @@ export const acs_credential_issued = acs_credential_event.extend({
28
28
  ---
29
29
  route_path: /acs/credentials
30
30
  ---
31
- An [ACS credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was issued.
31
+ An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was issued.
32
32
  `)
33
33
 
34
34
  export const acs_credential_reissued = acs_credential_event.extend({
@@ -37,7 +37,7 @@ export const acs_credential_reissued = acs_credential_event.extend({
37
37
  ---
38
38
  route_path: /acs/credentials
39
39
  ---
40
- An [ACS credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was reissued.
40
+ An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was reissued.
41
41
  `)
42
42
 
43
43
  export const acs_credential_invalidated = acs_credential_event.extend({
@@ -46,7 +46,7 @@ export const acs_credential_invalidated = acs_credential_event.extend({
46
46
  ---
47
47
  route_path: /acs/credentials
48
48
  ---
49
- An [ACS credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was invalidated. That is, the credential cannot be used anymore.
49
+ An [access system credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) was invalidated. That is, the credential cannot be used anymore.
50
50
 
51
51
  `)
52
52
 
@@ -12,7 +12,7 @@ export const acs_encoder_added_event = acs_encoder_event.extend({
12
12
  ---
13
13
  route_path: /acs/encoders
14
14
  ---
15
- An [ACS encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) was added.
15
+ An [access system encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) was added.
16
16
  `)
17
17
 
18
18
  export type AcsEncoderAddedEvent = z.infer<typeof acs_encoder_added_event>
@@ -23,7 +23,7 @@ export const acs_encoder_removed_event = acs_encoder_event.extend({
23
23
  ---
24
24
  route_path: /acs/encoders
25
25
  ---
26
- An [ACS encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) was removed.
26
+ An [access system encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) was removed.
27
27
  `)
28
28
 
29
29
  export type AcsEncoderRemovedEvent = z.infer<typeof acs_encoder_removed_event>
@@ -14,7 +14,7 @@ export const acs_entrance_added_event = acs_entrance_event.extend({
14
14
  ---
15
15
  route_path: /acs/entrances
16
16
  ---
17
- An [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was added.
17
+ An [access system entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was added.
18
18
  `)
19
19
 
20
20
  export const acs_entrance_removed_event = acs_entrance_event.extend({
@@ -23,7 +23,7 @@ export const acs_entrance_removed_event = acs_entrance_event.extend({
23
23
  ---
24
24
  route_path: /acs/entrances
25
25
  ---
26
- An [ACS entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was removed.
26
+ An [access system entrance](https://docs.seam.co/latest/capability-guides/retrieving-entrance-details) was removed.
27
27
  `)
28
28
 
29
29
  export type AcsUserDeletedEvent = z.infer<typeof acs_entrance_removed_event>
@@ -5,7 +5,9 @@ export const common_event = z.object({
5
5
  workspace_id: z
6
6
  .string()
7
7
  .uuid()
8
- .describe('ID of the workspace associated with the event.'),
8
+ .describe(
9
+ 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) associated with the event.',
10
+ ),
9
11
  created_at: z
10
12
  .string()
11
13
  .datetime()
@@ -6,13 +6,17 @@ const connect_webview_event = common_event.extend({
6
6
  connect_webview_id: z
7
7
  .string()
8
8
  .uuid()
9
- .describe('ID of the affected Connect Webview.'),
9
+ .describe(
10
+ 'ID of the affected [Connect Webview](https://docs.seam.co/latest/ui-components/connect-webviews).',
11
+ ),
10
12
  })
11
13
 
12
14
  const connected_account_id = z
13
15
  .string()
14
16
  .uuid()
15
- .describe('ID of the connected account associated with the event.')
17
+ .describe(
18
+ 'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the event.',
19
+ )
16
20
 
17
21
  export const connect_webview_login_succeeded_event =
18
22
  connect_webview_event.extend({
@@ -6,13 +6,17 @@ const connected_account_event = common_event.extend({
6
6
  connected_account_id: z
7
7
  .string()
8
8
  .uuid()
9
- .describe('ID of the affected connected account.'),
9
+ .describe(
10
+ 'ID of the affected [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).',
11
+ ),
10
12
  })
11
13
 
12
14
  const connect_webview_id = z
13
15
  .string()
14
16
  .uuid()
15
- .describe('ID of the Connect Webview associated with the event.')
17
+ .describe(
18
+ 'ID of the [Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews) associated with the event.',
19
+ )
16
20
 
17
21
  export const connected_account_connected_event = connected_account_event.extend(
18
22
  {
@@ -8,7 +8,9 @@ const device_event = common_event.extend({
8
8
  connected_account_id: z
9
9
  .string()
10
10
  .uuid()
11
- .describe('ID of the connected account associated with the event.'),
11
+ .describe(
12
+ 'ID of the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts) associated with the event.',
13
+ ),
12
14
  })
13
15
 
14
16
  const battery_level = z
@@ -1,18 +1,45 @@
1
1
  import { z } from 'zod'
2
2
 
3
3
  export const instant_key = z.object({
4
- instant_key_id: z.string().uuid(),
5
- workspace_id: z.string().uuid(),
6
- created_at: z.string().datetime(),
7
- instant_key_url: z.string().url(),
8
- client_session_id: z.string().uuid(),
9
- user_identity_id: z.string().uuid(),
10
- expires_at: z.string().datetime(),
4
+ instant_key_id: z.string().uuid().describe('ID of the Instant Key.'),
5
+ workspace_id: z
6
+ .string()
7
+ .uuid()
8
+ .describe(
9
+ 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) that contains the Instant Key.',
10
+ ),
11
+ created_at: z
12
+ .string()
13
+ .datetime()
14
+ .describe('Date and time at which the Instant Key was created.'),
15
+ instant_key_url: z
16
+ .string()
17
+ .url()
18
+ .describe(
19
+ 'Shareable URL for the Instant Key. Use the URL to deliver the Instant Key to your user through a link in a text message or email or by embedding it in your web app.',
20
+ ),
21
+ client_session_id: z
22
+ .string()
23
+ .uuid()
24
+ .describe(
25
+ 'ID of the [client session](https://docs.seam.co/latest/core-concepts/authentication/client-session-tokens) associated with the Instant Key.',
26
+ ),
27
+ user_identity_id: z
28
+ .string()
29
+ .uuid()
30
+ .describe('ID of the user identity associated with the Instant Key.'),
31
+ expires_at: z
32
+ .string()
33
+ .datetime()
34
+ .describe('Date and time at which the Instant Key expires.'),
11
35
  }).describe(`
12
36
  ---
13
37
  route_path: /user_identities
14
38
  undocumented: Unreleased.
15
39
  ---
40
+ Represents a Seam Instant Key. For issuing Bluetooth mobile keys, Instant Keys are the fastest way to share access. With a single API call, you can create a mobile key and send it through text or email or embed it in your own app.
41
+
42
+ There’s no app to install, nor account to create. Your user just taps a link and gets a lightweight, native-feeling experience using iOS App Clip or Instant Apps on Android. Further, Instant Keys work offline, so even in areas with poor cellular or Wi-Fi, like elevator banks or concrete-walled hallways, the Instant Keys still work.
16
43
  `)
17
44
 
18
45
  export type InstantKey = z.infer<typeof instant_key>
@@ -1,26 +1,39 @@
1
1
  import { z } from 'zod'
2
2
 
3
- export const building_block_type = z.enum([
4
- 'connect_accounts',
5
- 'manage_devices',
6
- 'organize_spaces',
7
- 'console',
8
- ])
3
+ export const building_block_type = z
4
+ .enum(['connect_accounts', 'manage_devices', 'organize_spaces', 'console'])
5
+ .describe('Type of partner building block.')
9
6
 
10
7
  export type BuildingBlockType = z.infer<typeof building_block_type>
11
8
 
12
9
  export const magic_link = z.object({
13
- url: z.string().url(),
10
+ url: z.string().url().describe('URL for the magic link.'),
14
11
  building_block_type,
15
- customer_key: z.string(),
16
- expires_at: z.string().datetime(),
17
- workspace_id: z.string().uuid(),
18
- created_at: z.string().datetime(),
12
+ customer_key: z.string().describe('Customer key for the magic link.'),
13
+ expires_at: z
14
+ .string()
15
+ .datetime()
16
+ .describe('Date and time at which the magic link expires.'),
17
+ workspace_id: z
18
+ .string()
19
+ .uuid()
20
+ .describe(
21
+ 'ID of the [workspace](https://docs.seam.co/latest/core-concepts/workspaces) associated with the magic link.',
22
+ ),
23
+ created_at: z
24
+ .string()
25
+ .datetime()
26
+ .describe('Date and time at which the magic link was created.'),
19
27
  }).describe(`
20
28
  ---
21
29
  undocumented: Unreleased.
22
30
  route_path: /unstable_partner/building_blocks
23
31
  ---
32
+ Represents a Customer Portal. Customer Portal is a hosted, customizable interface for managing device access. It enables you to embed secure, pre-authenticated access flows into your product—either by sharing a link with users or embedding a view in an iframe.
33
+
34
+ With Customer Portal, you no longer need to build out frontend experiences for physical access, thermostats, and sensors. Instead, you can ship enterprise-grade access control experiences in a fraction of the time, while maintaining your product's branding and user experience.
35
+
36
+ Seam hosts these flows, handling everything from account connection and device mapping to full-featured device control.
24
37
  `)
25
38
 
26
39
  export type MagicLink = z.infer<typeof magic_link>