@seamapi/types 1.327.0 → 1.329.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 (130) hide show
  1. package/dist/connect.cjs +993 -370
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +1130 -63
  4. package/lib/seam/connect/models/access-codes/managed-access-code.js +5 -1
  5. package/lib/seam/connect/models/access-codes/managed-access-code.js.map +1 -1
  6. package/lib/seam/connect/models/access-codes/unmanaged-access-code.js +5 -1
  7. package/lib/seam/connect/models/access-codes/unmanaged-access-code.js.map +1 -1
  8. package/lib/seam/connect/models/acs/acs-access-group.js +7 -3
  9. package/lib/seam/connect/models/acs/acs-access-group.js.map +1 -1
  10. package/lib/seam/connect/models/acs/acs-credential-pool.js +5 -1
  11. package/lib/seam/connect/models/acs/acs-credential-pool.js.map +1 -1
  12. package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js +12 -5
  13. package/lib/seam/connect/models/acs/acs-credential-provisioning-automation.js.map +1 -1
  14. package/lib/seam/connect/models/acs/acs-credential.d.ts +66 -0
  15. package/lib/seam/connect/models/acs/acs-credential.js +9 -0
  16. package/lib/seam/connect/models/acs/acs-credential.js.map +1 -1
  17. package/lib/seam/connect/models/acs/acs-entrance.d.ts +0 -5
  18. package/lib/seam/connect/models/acs/acs-entrance.js +7 -4
  19. package/lib/seam/connect/models/acs/acs-entrance.js.map +1 -1
  20. package/lib/seam/connect/models/acs/acs-system.js +6 -2
  21. package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
  22. package/lib/seam/connect/models/acs/acs-user.js +7 -4
  23. package/lib/seam/connect/models/acs/acs-user.js.map +1 -1
  24. package/lib/seam/connect/models/acs/metadata/dormakaba-community.d.ts +0 -3
  25. package/lib/seam/connect/models/acs/metadata/dormakaba-community.js +0 -1
  26. package/lib/seam/connect/models/acs/metadata/dormakaba-community.js.map +1 -1
  27. package/lib/seam/connect/models/action-attempts/action-attempt.d.ts +132 -0
  28. package/lib/seam/connect/models/action-attempts/action-attempt.js +5 -1
  29. package/lib/seam/connect/models/action-attempts/action-attempt.js.map +1 -1
  30. package/lib/seam/connect/models/action-attempts/encode-credential.d.ts +58 -0
  31. package/lib/seam/connect/models/action-attempts/scan-credential.d.ts +74 -0
  32. package/lib/seam/connect/models/client-sessions/client-session.js +5 -1
  33. package/lib/seam/connect/models/client-sessions/client-session.js.map +1 -1
  34. package/lib/seam/connect/models/connect-webviews/connect-webview.js +5 -1
  35. package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -1
  36. package/lib/seam/connect/models/connected-accounts/connected-account.js +5 -1
  37. package/lib/seam/connect/models/connected-accounts/connected-account.js.map +1 -1
  38. package/lib/seam/connect/models/devices/device-provider.js +5 -1
  39. package/lib/seam/connect/models/devices/device-provider.js.map +1 -1
  40. package/lib/seam/connect/models/devices/device.js +5 -1
  41. package/lib/seam/connect/models/devices/device.js.map +1 -1
  42. package/lib/seam/connect/models/devices/phone.js +5 -1
  43. package/lib/seam/connect/models/devices/phone.js.map +1 -1
  44. package/lib/seam/connect/models/devices/unmanaged-device.js +5 -1
  45. package/lib/seam/connect/models/devices/unmanaged-device.js.map +1 -1
  46. package/lib/seam/connect/models/events/access-codes.js +119 -68
  47. package/lib/seam/connect/models/events/access-codes.js.map +1 -1
  48. package/lib/seam/connect/models/events/acs/access_groups.js +7 -4
  49. package/lib/seam/connect/models/events/acs/access_groups.js.map +1 -1
  50. package/lib/seam/connect/models/events/acs/credentials.d.ts +61 -0
  51. package/lib/seam/connect/models/events/acs/credentials.js +19 -7
  52. package/lib/seam/connect/models/events/acs/credentials.js.map +1 -1
  53. package/lib/seam/connect/models/events/acs/encoders.js +14 -8
  54. package/lib/seam/connect/models/events/acs/encoders.js.map +1 -1
  55. package/lib/seam/connect/models/events/acs/index.d.ts +30 -0
  56. package/lib/seam/connect/models/events/acs/systems.js +21 -12
  57. package/lib/seam/connect/models/events/acs/systems.js.map +1 -1
  58. package/lib/seam/connect/models/events/acs/users.js +7 -4
  59. package/lib/seam/connect/models/events/acs/users.js.map +1 -1
  60. package/lib/seam/connect/models/events/action-attempts.js +28 -16
  61. package/lib/seam/connect/models/events/action-attempts.js.map +1 -1
  62. package/lib/seam/connect/models/events/client-sessions.js +7 -4
  63. package/lib/seam/connect/models/events/client-sessions.js.map +1 -1
  64. package/lib/seam/connect/models/events/connect-webviews.js +14 -8
  65. package/lib/seam/connect/models/events/connect-webviews.js.map +1 -1
  66. package/lib/seam/connect/models/events/connected-accounts.js +45 -25
  67. package/lib/seam/connect/models/events/connected-accounts.js.map +1 -1
  68. package/lib/seam/connect/models/events/devices.js +214 -119
  69. package/lib/seam/connect/models/events/devices.js.map +1 -1
  70. package/lib/seam/connect/models/events/enrollment-automations.js +7 -4
  71. package/lib/seam/connect/models/events/enrollment-automations.js.map +1 -1
  72. package/lib/seam/connect/models/events/phones.js +7 -4
  73. package/lib/seam/connect/models/events/phones.js.map +1 -1
  74. package/lib/seam/connect/models/events/seam-event.d.ts +30 -0
  75. package/lib/seam/connect/models/events/seam-event.js +5 -1
  76. package/lib/seam/connect/models/events/seam-event.js.map +1 -1
  77. package/lib/seam/connect/models/noise-sensors/noise-threshold.js +5 -1
  78. package/lib/seam/connect/models/noise-sensors/noise-threshold.js.map +1 -1
  79. package/lib/seam/connect/models/thermostats/thermostat-schedule.js +8 -8
  80. package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -1
  81. package/lib/seam/connect/models/user-identities/user-identity.js +7 -4
  82. package/lib/seam/connect/models/user-identities/user-identity.js.map +1 -1
  83. package/lib/seam/connect/models/webhooks/webhook.js +5 -1
  84. package/lib/seam/connect/models/webhooks/webhook.js.map +1 -1
  85. package/lib/seam/connect/models/workspaces/workspace.js +5 -1
  86. package/lib/seam/connect/models/workspaces/workspace.js.map +1 -1
  87. package/lib/seam/connect/openapi.d.ts +140 -4
  88. package/lib/seam/connect/openapi.js +322 -6
  89. package/lib/seam/connect/openapi.js.map +1 -1
  90. package/lib/seam/connect/route-types.d.ts +739 -7
  91. package/package.json +1 -1
  92. package/src/lib/seam/connect/models/access-codes/managed-access-code.ts +5 -1
  93. package/src/lib/seam/connect/models/access-codes/unmanaged-access-code.ts +5 -1
  94. package/src/lib/seam/connect/models/acs/acs-access-group.ts +7 -3
  95. package/src/lib/seam/connect/models/acs/acs-credential-pool.ts +5 -1
  96. package/src/lib/seam/connect/models/acs/acs-credential-provisioning-automation.ts +38 -35
  97. package/src/lib/seam/connect/models/acs/acs-credential.ts +12 -0
  98. package/src/lib/seam/connect/models/acs/acs-entrance.ts +31 -30
  99. package/src/lib/seam/connect/models/acs/acs-system.ts +6 -4
  100. package/src/lib/seam/connect/models/acs/acs-user.ts +10 -9
  101. package/src/lib/seam/connect/models/acs/metadata/dormakaba-community.ts +0 -1
  102. package/src/lib/seam/connect/models/action-attempts/action-attempt.ts +5 -1
  103. package/src/lib/seam/connect/models/client-sessions/client-session.ts +5 -1
  104. package/src/lib/seam/connect/models/connect-webviews/connect-webview.ts +5 -1
  105. package/src/lib/seam/connect/models/connected-accounts/connected-account.ts +5 -1
  106. package/src/lib/seam/connect/models/devices/device-provider.ts +5 -1
  107. package/src/lib/seam/connect/models/devices/device.ts +5 -1
  108. package/src/lib/seam/connect/models/devices/phone.ts +5 -1
  109. package/src/lib/seam/connect/models/devices/unmanaged-device.ts +5 -1
  110. package/src/lib/seam/connect/models/events/access-codes.ts +139 -117
  111. package/src/lib/seam/connect/models/events/acs/access_groups.ts +8 -5
  112. package/src/lib/seam/connect/models/events/acs/credentials.ts +21 -10
  113. package/src/lib/seam/connect/models/events/acs/encoders.ts +16 -14
  114. package/src/lib/seam/connect/models/events/acs/systems.ts +24 -21
  115. package/src/lib/seam/connect/models/events/acs/users.ts +8 -7
  116. package/src/lib/seam/connect/models/events/action-attempts.ts +32 -24
  117. package/src/lib/seam/connect/models/events/client-sessions.ts +8 -7
  118. package/src/lib/seam/connect/models/events/connect-webviews.ts +16 -13
  119. package/src/lib/seam/connect/models/events/connected-accounts.ts +55 -44
  120. package/src/lib/seam/connect/models/events/devices.ts +339 -301
  121. package/src/lib/seam/connect/models/events/enrollment-automations.ts +8 -6
  122. package/src/lib/seam/connect/models/events/phones.ts +8 -5
  123. package/src/lib/seam/connect/models/events/seam-event.ts +5 -1
  124. package/src/lib/seam/connect/models/noise-sensors/noise-threshold.ts +5 -1
  125. package/src/lib/seam/connect/models/thermostats/thermostat-schedule.ts +60 -62
  126. package/src/lib/seam/connect/models/user-identities/user-identity.ts +35 -34
  127. package/src/lib/seam/connect/models/webhooks/webhook.ts +5 -1
  128. package/src/lib/seam/connect/models/workspaces/workspace.ts +5 -1
  129. package/src/lib/seam/connect/openapi.ts +354 -6
  130. package/src/lib/seam/connect/route-types.ts +835 -5
@@ -38,266 +38,288 @@ export const lock_method = z
38
38
  )
39
39
  export type LockMethod = z.infer<typeof lock_method>
40
40
 
41
- export const device_connected_event = device_event
42
- .extend({
43
- event_type: z.literal('device.connected'),
44
- })
45
- .describe(
46
- 'The status of a [device](https://docs.seam.co/latest/core-concepts/devices) changed from offline to online. That is, the `device.properties.online` property changed from `false` to `true`. Note that some devices operate entirely in offline mode, so Seam never emits a `device.connected` event for these devices.',
47
- )
41
+ export const device_connected_event = device_event.extend({
42
+ event_type: z.literal('device.connected'),
43
+ }).describe(`
44
+ ---
45
+ route_path: /devices
46
+ ---
47
+ The status of a [device](https://docs.seam.co/latest/core-concepts/devices) changed from offline to online. That is, the \`device.properties.online\` property changed from \`false\` to \`true\`. Note that some devices operate entirely in offline mode, so Seam never emits a \`device.connected\` event for these devices.
48
+ `)
48
49
 
49
50
  export type DeviceConnectedEvent = z.infer<typeof device_connected_event>
50
51
 
51
- export const device_added_event = device_event
52
- .extend({
53
- event_type: z.literal('device.added'),
54
- })
55
- .describe(
56
- 'A [device](https://docs.seam.co/latest/core-concepts/devices) was added to Seam or was re-added to Seam after having been removed.',
57
- )
52
+ export const device_added_event = device_event.extend({
53
+ event_type: z.literal('device.added'),
54
+ }).describe(`
55
+ ---
56
+ route_path: /devices
57
+ ---
58
+ A [device](https://docs.seam.co/latest/core-concepts/devices) was added to Seam or was re-added to Seam after having been removed.
59
+ `)
58
60
 
59
61
  export type DeviceAddedEvent = z.infer<typeof device_added_event>
60
62
 
61
- export const device_converted_to_unmanaged_event = device_event
62
- .extend({
63
- event_type: z.literal('device.converted_to_unmanaged'),
64
- })
65
- .describe(
66
- 'An [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices) was successfully converted to a managed device.',
67
- )
63
+ export const device_converted_to_unmanaged_event = device_event.extend({
64
+ event_type: z.literal('device.converted_to_unmanaged'),
65
+ }).describe(`
66
+ ---
67
+ route_path: /devices
68
+ ---
69
+ A managed device was successfully converted to an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices).
70
+ `)
68
71
 
69
72
  export type DeviceConvertedToUnmanagedEvent = z.infer<
70
73
  typeof device_converted_to_unmanaged_event
71
74
  >
72
75
 
73
- export const unmanaged_device_converted_to_managed_event = device_event
74
- .extend({
75
- event_type: z.literal('device.unmanaged.converted_to_managed'),
76
- })
77
- .describe(
78
- 'A managed device was successfully converted to an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices).',
79
- )
76
+ export const unmanaged_device_converted_to_managed_event = device_event.extend({
77
+ event_type: z.literal('device.unmanaged.converted_to_managed'),
78
+ }).describe(`
79
+ ---
80
+ route_path: /devices/unmanaged
81
+ ---
82
+ An [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices) was successfully converted to a managed device.
83
+ `)
80
84
 
81
85
  export type UnmanagedDeviceConvertedToManagedEvent = z.infer<
82
86
  typeof unmanaged_device_converted_to_managed_event
83
87
  >
84
88
 
85
- export const unmanaged_device_connected_event = device_event
86
- .extend({
87
- event_type: z.literal('device.unmanaged.connected'),
88
- })
89
- .describe(
90
- 'The status of an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices) changed from offline to online. That is, the `device.properties.online` property changed from `false` to `true`.',
91
- )
89
+ export const unmanaged_device_connected_event = device_event.extend({
90
+ event_type: z.literal('device.unmanaged.connected'),
91
+ }).describe(`
92
+ ---
93
+ route_path: /devices/unmanaged
94
+ ---
95
+ The status of an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices) changed from offline to online. That is, the \`device.properties.online\` property changed from \`false\` to \`true\`.
96
+ `)
92
97
 
93
98
  export type UnmanagedDeviceConnectedEvent = z.infer<
94
99
  typeof unmanaged_device_connected_event
95
100
  >
96
101
 
97
- export const device_disconnected_event = device_event
98
- .extend({
99
- event_type: z.literal('device.disconnected'),
100
- error_code: disconnection_error_code,
101
- })
102
- .describe(
103
- 'The status of a [device](https://docs.seam.co/latest/core-concepts/devices) changed from online to offline. That is, the `device.properties.online` property changed from `true` to `false`.',
104
- )
102
+ export const device_disconnected_event = device_event.extend({
103
+ event_type: z.literal('device.disconnected'),
104
+ error_code: disconnection_error_code,
105
+ }).describe(`
106
+ ---
107
+ route_path: /devices
108
+ ---
109
+ The status of a [device](https://docs.seam.co/latest/core-concepts/devices) changed from online to offline. That is, the \`device.properties.online\` property changed from \`true\` to \`false\`.
110
+ `)
105
111
 
106
112
  export type DeviceDisconnectedEvent = z.infer<typeof device_disconnected_event>
107
113
 
108
- export const unmanaged_device_disconnected_event = device_event
109
- .extend({
110
- event_type: z.literal('device.unmanaged.disconnected'),
111
- error_code: disconnection_error_code,
112
- })
113
- .describe(
114
- 'The status of an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices) changed from online to offline. That is, the `device.properties.online` property changed from `true` to `false`.',
115
- )
114
+ export const unmanaged_device_disconnected_event = device_event.extend({
115
+ event_type: z.literal('device.unmanaged.disconnected'),
116
+ error_code: disconnection_error_code,
117
+ }).describe(`
118
+ ---
119
+ route_path: /devices/unmanaged
120
+ ---
121
+ The status of an [unmanaged device](https://docs.seam.co/latest/core-concepts/devices/managed-and-unmanaged-devices) changed from online to offline. That is, the \`device.properties.online\` property changed from \`true\` to \`false\`.
122
+ `)
116
123
 
117
124
  export type UnmanagedDeviceDisconnectedEvent = z.infer<
118
125
  typeof unmanaged_device_disconnected_event
119
126
  >
120
127
 
121
- export const device_tampered_event = device_event
122
- .extend({
123
- event_type: z.literal('device.tampered'),
124
- })
125
- .describe(
126
- 'A [device](https://docs.seam.co/latest/core-concepts/devices) detected that it was tampered with, for example, opened or moved.',
127
- )
128
+ export const device_tampered_event = device_event.extend({
129
+ event_type: z.literal('device.tampered'),
130
+ }).describe(`
131
+ ---
132
+ route_path: /devices
133
+ ---
134
+ A [device](https://docs.seam.co/latest/core-concepts/devices) detected that it was tampered with, for example, opened or moved.
135
+ `)
128
136
 
129
137
  export type DeviceTamperedEvent = z.infer<typeof device_tampered_event>
130
138
 
131
- export const device_low_battery_event = device_event
132
- .extend({
133
- event_type: z.literal('device.low_battery'),
134
- battery_level,
135
- })
136
- .describe(
137
- 'A [device](https://docs.seam.co/latest/core-concepts/devices) battery level dropped below the low threshold.',
138
- )
139
+ export const device_low_battery_event = device_event.extend({
140
+ event_type: z.literal('device.low_battery'),
141
+ battery_level,
142
+ }).describe(`
143
+ ---
144
+ route_path: /devices
145
+ ---
146
+ A [device](https://docs.seam.co/latest/core-concepts/devices) battery level dropped below the low threshold.
147
+ `)
139
148
 
140
149
  export type DeviceLowBatteryEvent = z.infer<typeof device_low_battery_event>
141
150
 
142
- export const device_battery_status_changed_event = device_event
143
- .extend({
144
- event_type: z.literal('device.battery_status_changed'),
145
- battery_status: device_battery_status,
146
- battery_level,
147
- })
148
- .describe(
149
- 'A [device](https://docs.seam.co/latest/core-concepts/devices) battery status changed since the last `battery_status_changed` event.',
150
- )
151
+ export const device_battery_status_changed_event = device_event.extend({
152
+ event_type: z.literal('device.battery_status_changed'),
153
+ battery_status: device_battery_status,
154
+ battery_level,
155
+ }).describe(`
156
+ ---
157
+ route_path: /devices
158
+ ---
159
+ A [device](https://docs.seam.co/latest/core-concepts/devices) battery status changed since the last \`battery_status_changed\` event.
160
+ `)
151
161
 
152
162
  export type DeviceBatteryStatusChangedEvent = z.infer<
153
163
  typeof device_battery_status_changed_event
154
164
  >
155
165
 
156
- export const device_removed_event = device_event
157
- .extend({
158
- event_type: z.literal('device.removed'),
159
- })
160
- .describe(
161
- 'A [device](https://docs.seam.co/latest/core-concepts/devices) was removed externally from the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).',
162
- )
166
+ export const device_removed_event = device_event.extend({
167
+ event_type: z.literal('device.removed'),
168
+ }).describe(`
169
+ ---
170
+ route_path: /devices
171
+ ---
172
+ A [device](https://docs.seam.co/latest/core-concepts/devices) was removed externally from the [connected account](https://docs.seam.co/latest/core-concepts/connected-accounts).
173
+ `)
163
174
 
164
175
  export type DeviceRemovedEvent = z.infer<typeof device_removed_event>
165
176
 
166
- export const device_deleted_event = device_event
167
- .extend({
168
- event_type: z.literal('device.deleted'),
169
- })
170
- .describe(
171
- 'A [device](https://docs.seam.co/latest/core-concepts/devices) was deleted.',
172
- )
177
+ export const device_deleted_event = device_event.extend({
178
+ event_type: z.literal('device.deleted'),
179
+ }).describe(`
180
+ ---
181
+ route_path: /devices
182
+ ---
183
+ A [device](https://docs.seam.co/latest/core-concepts/devices) was deleted.
184
+ `)
173
185
 
174
186
  export type DeviceDeletedEvent = z.infer<typeof device_deleted_event>
175
187
 
176
- export const device_third_party_integration_detected_event = device_event
177
- .extend({
188
+ export const device_third_party_integration_detected_event =
189
+ device_event.extend({
178
190
  event_type: z.literal('device.third_party_integration_detected'),
179
- })
180
- .describe(
181
- 'Seam detected that a [device](https://docs.seam.co/latest/core-concepts/devices) is using a third-party integration that will interfere with Seam device management.',
182
- )
191
+ }).describe(`
192
+ ---
193
+ route_path: /devices
194
+ ---
195
+ Seam detected that a [device](https://docs.seam.co/latest/core-concepts/devices) is using a third-party integration that will interfere with Seam device management.
196
+ `)
183
197
 
184
198
  export type DeviceThirdPartyIntegrationDetectedEvent = z.infer<
185
199
  typeof device_third_party_integration_detected_event
186
200
  >
187
201
 
188
202
  export const device_third_party_integration_no_longer_detected_event =
189
- device_event
190
- .extend({
191
- event_type: z.literal(
192
- 'device.third_party_integration_no_longer_detected',
193
- ),
194
- })
195
- .describe(
196
- 'Seam detected that a [device](https://docs.seam.co/latest/core-concepts/devices) is no longer using a third-party integration that was interfering with Seam device management.',
197
- )
203
+ device_event.extend({
204
+ event_type: z.literal('device.third_party_integration_no_longer_detected'),
205
+ }).describe(`
206
+ ---
207
+ route_path: /devices
208
+ ---
209
+ Seam detected that a [device](https://docs.seam.co/latest/core-concepts/devices) is no longer using a third-party integration that was interfering with Seam device management.
210
+ `)
198
211
 
199
212
  export type DeviceThirdPartyIntegrationNoLongerDetectedEvent = z.infer<
200
213
  typeof device_third_party_integration_no_longer_detected_event
201
214
  >
202
215
 
203
- export const device_salto_privacy_mode_activated_event = device_event
204
- .extend({
205
- event_type: z.literal('device.salto.privacy_mode_activated'),
206
- })
207
- .describe(
208
- 'A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) activated privacy mode.',
209
- )
216
+ export const device_salto_privacy_mode_activated_event = device_event.extend({
217
+ event_type: z.literal('device.salto.privacy_mode_activated'),
218
+ }).describe(`
219
+ ---
220
+ route_path: /devices
221
+ ---
222
+ A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) activated privacy mode.
223
+ `)
210
224
 
211
225
  export type DeviceSaltoPrivacyModeActivatedEvent = z.infer<
212
226
  typeof device_salto_privacy_mode_activated_event
213
227
  >
214
228
 
215
- export const device_salto_privacy_mode_deactivated_event = device_event
216
- .extend({
217
- event_type: z.literal('device.salto.privacy_mode_deactivated'),
218
- })
219
- .describe(
220
- 'A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) deactivated privacy mode.',
221
- )
229
+ export const device_salto_privacy_mode_deactivated_event = device_event.extend({
230
+ event_type: z.literal('device.salto.privacy_mode_deactivated'),
231
+ }).describe(`
232
+ ---
233
+ route_path: /devices
234
+ ---
235
+ A [Salto device](https://docs.seam.co/latest/device-and-system-integration-guides/salto-locks) deactivated privacy mode.
236
+ `)
222
237
 
223
238
  export type DeviceSaltoPrivacyModeDeactivatedEvent = z.infer<
224
239
  typeof device_salto_privacy_mode_deactivated_event
225
240
  >
226
241
 
227
- export const device_connection_became_flaky_event = device_event
228
- .extend({
229
- event_type: z.literal('device.connection_became_flaky'),
230
- })
231
- .describe(
232
- 'Seam detected a flaky [device](https://docs.seam.co/latest/core-concepts/devices) connection.',
233
- )
242
+ export const device_connection_became_flaky_event = device_event.extend({
243
+ event_type: z.literal('device.connection_became_flaky'),
244
+ }).describe(`
245
+ ---
246
+ route_path: /devices
247
+ ---
248
+ Seam detected a flaky [device](https://docs.seam.co/latest/core-concepts/devices) connection.
249
+ `)
234
250
 
235
251
  export type DeviceConnectionBecameFlakyEvent = z.infer<
236
252
  typeof device_connection_became_flaky_event
237
253
  >
238
254
 
239
- export const device_connection_stabilized_event = device_event
240
- .extend({
241
- event_type: z.literal('device.connection_stabilized'),
242
- })
243
- .describe(
244
- 'Seam detected that a previously-flaky [device](https://docs.seam.co/latest/core-concepts/devices) connection stabilized.',
245
- )
255
+ export const device_connection_stabilized_event = device_event.extend({
256
+ event_type: z.literal('device.connection_stabilized'),
257
+ }).describe(`
258
+ ---
259
+ route_path: /devices
260
+ ---
261
+ Seam detected that a previously-flaky [device](https://docs.seam.co/latest/core-concepts/devices) connection stabilized.
262
+ `)
246
263
 
247
264
  export type DeviceConnectionStabilizedEvent = z.infer<
248
265
  typeof device_connection_stabilized_event
249
266
  >
250
267
 
251
- export const device_error_subscription_required_event = device_event
252
- .extend({
253
- event_type: z.literal('device.error.subscription_required'),
254
- })
255
- .describe(
256
- 'A third-party subscription is required to use all [device](https://docs.seam.co/latest/core-concepts/devices) features.',
257
- )
268
+ export const device_error_subscription_required_event = device_event.extend({
269
+ event_type: z.literal('device.error.subscription_required'),
270
+ }).describe(`
271
+ ---
272
+ route_path: /devices
273
+ ---
274
+ A third-party subscription is required to use all [device](https://docs.seam.co/latest/core-concepts/devices) features.
275
+ `)
258
276
 
259
277
  export type DeviceErrorSubscriptionRequiredEvent = z.infer<
260
278
  typeof device_error_subscription_required_event
261
279
  >
262
280
 
263
- export const device_error_subscription_required_resolved_event = device_event
264
- .extend({
281
+ export const device_error_subscription_required_resolved_event =
282
+ device_event.extend({
265
283
  event_type: z.literal('device.error.subscription_required.resolved'),
266
- })
267
- .describe(
268
- 'A third-party subscription is active or no longer required to use all [device](https://docs.seam.co/latest/core-concepts/devices) features.',
269
- )
284
+ }).describe(`
285
+ ---
286
+ route_path: /devices
287
+ ---
288
+ A third-party subscription is active or no longer required to use all [device](https://docs.seam.co/latest/core-concepts/devices) features.
289
+ `)
270
290
 
271
291
  export type DeviceErrorSubscriptionRequiredResolvedEvent = z.infer<
272
292
  typeof device_error_subscription_required_resolved_event
273
293
  >
274
294
 
275
- export const device_accessory_keypad_connected_event = device_event
276
- .extend({
277
- event_type: z.literal('device.accessory_keypad_connected'),
278
- })
279
- .describe(
280
- 'An accessory keypad was connected to a [device](https://docs.seam.co/latest/core-concepts/devices).',
281
- )
295
+ export const device_accessory_keypad_connected_event = device_event.extend({
296
+ event_type: z.literal('device.accessory_keypad_connected'),
297
+ }).describe(`
298
+ ---
299
+ route_path: /devices
300
+ ---
301
+ An accessory keypad was connected to a [device](https://docs.seam.co/latest/core-concepts/devices).
302
+ `)
282
303
 
283
304
  export type DeviceAccessoryKeypadConnectedEvent = z.infer<
284
305
  typeof device_accessory_keypad_connected_event
285
306
  >
286
307
 
287
- export const device_accessory_keypad_disconnected_event = device_event
288
- .extend({
289
- event_type: z.literal('device.accessory_keypad_disconnected'),
290
- })
291
- .describe(
292
- 'An accessory keypad was disconnected from a [device](https://docs.seam.co/latest/core-concepts/devices).',
293
- )
308
+ export const device_accessory_keypad_disconnected_event = device_event.extend({
309
+ event_type: z.literal('device.accessory_keypad_disconnected'),
310
+ }).describe(`
311
+ ---
312
+ route_path: /devices
313
+ ---
314
+ An accessory keypad was disconnected from a [device](https://docs.seam.co/latest/core-concepts/devices).
315
+ `)
294
316
 
295
317
  export type DeviceAccessoryKeypadDisconnectedEvent = z.infer<
296
318
  typeof device_accessory_keypad_disconnected_event
297
319
  >
298
320
 
299
- export const noise_sensor_noise_threshold_triggered_event = device_event
300
- .extend({
321
+ export const noise_sensor_noise_threshold_triggered_event = device_event.extend(
322
+ {
301
323
  event_type: z.literal('noise_sensor.noise_threshold_triggered'),
302
324
  noise_level_decibels: z
303
325
  .number()
@@ -329,110 +351,117 @@ export const noise_sensor_noise_threshold_triggered_event = device_event
329
351
  .record(z.unknown())
330
352
  .optional()
331
353
  .describe('Metadata from Minut.'),
332
- })
333
- .describe(
334
- 'Extended periods of noise or noise exceeding a [threshold](https://docs.seam.co/latest/capability-guides/noise-sensors#what-is-a-threshold) were detected.',
335
- )
354
+ },
355
+ ).describe(`
356
+ ---
357
+ route_path: /noise_sensors/noise_thresholds
358
+ ---
359
+ Extended periods of noise or noise exceeding a [threshold](https://docs.seam.co/latest/capability-guides/noise-sensors#what-is-a-threshold) were detected.
360
+ `)
336
361
 
337
362
  export type NoiseSensorNoiseThresholdTriggeredEvent = z.infer<
338
363
  typeof noise_sensor_noise_threshold_triggered_event
339
364
  >
340
365
 
341
- export const lock_locked_event = device_event
342
- .extend({
343
- event_type: z.literal('lock.locked'),
344
- access_code_id: z
345
- .string()
346
- .uuid()
347
- .optional()
348
- .describe(
349
- 'ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used to lock the device.',
350
- ),
351
- action_attempt_id: z
352
- .string()
353
- .uuid()
354
- .optional()
355
- .describe(
356
- 'ID of the [action attempt](https://docs.seam.co/latest/core-concepts/action-attempts) associated with the lock action.',
357
- ),
358
- method: lock_method.describe(
359
- 'Method by which a [lock device](https://docs.seam.co/latest/capability-guides/smart-locks) was locked. When the method is `keycode`, the `access_code_id` indicates the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used, if reported by the device.',
366
+ export const lock_locked_event = device_event.extend({
367
+ event_type: z.literal('lock.locked'),
368
+ access_code_id: z
369
+ .string()
370
+ .uuid()
371
+ .optional()
372
+ .describe(
373
+ 'ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used to lock the device.',
360
374
  ),
361
- })
362
- .describe(
363
- 'A [lock](https://docs.seam.co/latest/capability-guides/smart-locks) was locked.',
364
- )
375
+ action_attempt_id: z
376
+ .string()
377
+ .uuid()
378
+ .optional()
379
+ .describe(
380
+ 'ID of the [action attempt](https://docs.seam.co/latest/core-concepts/action-attempts) associated with the lock action.',
381
+ ),
382
+ method: lock_method.describe(
383
+ 'Method by which a [lock device](https://docs.seam.co/latest/capability-guides/smart-locks) was locked. When the method is `keycode`, the `access_code_id` indicates the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used, if reported by the device.',
384
+ ),
385
+ }).describe(`
386
+ ---
387
+ route_path: /locks
388
+ ---
389
+ A [lock](https://docs.seam.co/latest/capability-guides/smart-locks) was locked.
390
+ `)
365
391
 
366
392
  export type LockLockedEvent = z.infer<typeof lock_locked_event>
367
393
 
368
- export const lock_unlocked_event = device_event
369
- .extend({
370
- event_type: z.literal('lock.unlocked'),
371
- access_code_id: z
372
- .string()
373
- .uuid()
374
- .optional()
375
- .describe(
376
- 'ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used to unlock the device.',
377
- ),
378
- action_attempt_id: z
379
- .string()
380
- .uuid()
381
- .optional()
382
- .describe(
383
- 'ID of the [action attempt](https://docs.seam.co/latest/core-concepts/action-attempts) associated with the unlock action.',
384
- ),
385
- method: lock_method.describe(
386
- 'Method by which a [lock device](https://docs.seam.co/latest/capability-guides/smart-locks) was unlocked. When the method is `keycode`, the `access_code_id` indicates the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used, if reported by the device.',
394
+ export const lock_unlocked_event = device_event.extend({
395
+ event_type: z.literal('lock.unlocked'),
396
+ access_code_id: z
397
+ .string()
398
+ .uuid()
399
+ .optional()
400
+ .describe(
401
+ 'ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used to unlock the device.',
387
402
  ),
388
- })
389
- .describe(
390
- 'A [lock](https://docs.seam.co/latest/capability-guides/smart-locks) was unlocked.',
391
- )
403
+ action_attempt_id: z
404
+ .string()
405
+ .uuid()
406
+ .optional()
407
+ .describe(
408
+ 'ID of the [action attempt](https://docs.seam.co/latest/core-concepts/action-attempts) associated with the unlock action.',
409
+ ),
410
+ method: lock_method.describe(
411
+ 'Method by which a [lock device](https://docs.seam.co/latest/capability-guides/smart-locks) was unlocked. When the method is `keycode`, the `access_code_id` indicates the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used, if reported by the device.',
412
+ ),
413
+ }).describe(`
414
+ ---
415
+ route_path: /locks
416
+ ---
417
+ A [lock](https://docs.seam.co/latest/capability-guides/smart-locks) was unlocked.
418
+ `)
392
419
 
393
420
  export type LockUnlockedEvent = z.infer<typeof lock_unlocked_event>
394
421
 
395
- export const lock_access_denied_event = device_event
396
- .extend({
397
- event_type: z.literal('lock.access_denied'),
398
- access_code_id: z
399
- .string()
400
- .uuid()
401
- .optional()
402
- .describe(
403
- 'ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used in the unlock attempts.',
404
- ),
405
- })
406
- .describe(
407
- 'The [lock](https://docs.seam.co/latest/capability-guides/smart-locks) denied access to a user after one or more consecutive invalid attempts to unlock the device.',
408
- )
422
+ export const lock_access_denied_event = device_event.extend({
423
+ event_type: z.literal('lock.access_denied'),
424
+ access_code_id: z
425
+ .string()
426
+ .uuid()
427
+ .optional()
428
+ .describe(
429
+ 'ID of the [access code](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes) that was used in the unlock attempts.',
430
+ ),
431
+ }).describe(`
432
+ ---
433
+ route_path: /locks
434
+ ---
435
+ The [lock](https://docs.seam.co/latest/capability-guides/smart-locks) denied access to a user after one or more consecutive invalid attempts to unlock the device.
436
+ `)
409
437
 
410
438
  export type LockAccessDeniedEvent = z.infer<typeof lock_access_denied_event>
411
439
 
412
- export const thermostat_climate_preset_activated_event = device_event
413
- .extend({
414
- event_type: z.literal('thermostat.climate_preset_activated'),
415
- thermostat_schedule_id: z
416
- .string()
417
- .uuid()
418
- .nullable()
419
- .describe(
420
- 'ID of the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) that prompted the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to be activated.',
421
- ),
422
- climate_preset_key: z
423
- .string()
424
- .describe(
425
- 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) that was activated.',
426
- ),
427
- is_fallback_climate_preset: z
428
- .boolean()
429
- .describe(
430
- 'Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) that was activated is the [fallback climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).',
431
- ),
432
- })
433
- .describe(
434
- 'A thermostat [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) was activated.',
435
- )
440
+ export const thermostat_climate_preset_activated_event = device_event.extend({
441
+ event_type: z.literal('thermostat.climate_preset_activated'),
442
+ thermostat_schedule_id: z
443
+ .string()
444
+ .uuid()
445
+ .nullable()
446
+ .describe(
447
+ 'ID of the [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) that prompted the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) to be activated.',
448
+ ),
449
+ climate_preset_key: z
450
+ .string()
451
+ .describe(
452
+ 'Key of the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) that was activated.',
453
+ ),
454
+ is_fallback_climate_preset: z
455
+ .boolean()
456
+ .describe(
457
+ 'Indicates whether the [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) that was activated is the [fallback climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) for the [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).',
458
+ ),
459
+ }).describe(`
460
+ ---
461
+ route_path: /thermostats
462
+ ---
463
+ A thermostat [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) was activated.
464
+ `)
436
465
 
437
466
  export type ThermostatClimatePresetActivatedEvent = z.infer<
438
467
  typeof thermostat_climate_preset_activated_event
@@ -458,63 +487,66 @@ export const thermostat_manually_adjusted_event = device_event
458
487
  cooling_set_point_fahrenheit: true,
459
488
  heating_set_point_fahrenheit: true,
460
489
  }),
461
- )
462
- .describe(
463
- 'A [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) was adjusted manually.',
464
- )
490
+ ).describe(`
491
+ ---
492
+ route_path: /thermostats
493
+ ---
494
+ A [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) was adjusted manually.
495
+ `)
465
496
 
466
497
  export type ThermostatManuallyAdjustedEvent = z.infer<
467
498
  typeof thermostat_manually_adjusted_event
468
499
  >
469
500
 
470
- export const temperature_threshold_exceeded_event = device_event
471
- .extend({
472
- event_type: z.literal('thermostat.temperature_threshold_exceeded'),
473
- temperature_celsius: z
474
- .number()
475
- .describe(
476
- 'Temperature, in °C, reported by the [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).',
477
- ),
478
- temperature_fahrenheit: z
479
- .number()
480
- .describe(
481
- 'Temperature, in °F, reported by the [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).',
482
- ),
483
- upper_limit_celsius: z
484
- .number()
485
- .nullable()
486
- .describe(
487
- 'Upper temperature limit, in °C, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
488
- ),
489
- upper_limit_fahrenheit: z
490
- .number()
491
- .nullable()
492
- .describe(
493
- 'Upper temperature limit, in °F, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
494
- ),
495
- lower_limit_celsius: z
496
- .number()
497
- .nullable()
498
- .describe(
499
- 'Lower temperature limit, in °C, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
500
- ),
501
- lower_limit_fahrenheit: z
502
- .number()
503
- .nullable()
504
- .describe(
505
- 'Lower temperature limit, in °F, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
506
- ),
507
- })
508
- .describe(
509
- "A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading exceeded the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).",
510
- )
501
+ export const temperature_threshold_exceeded_event = device_event.extend({
502
+ event_type: z.literal('thermostat.temperature_threshold_exceeded'),
503
+ temperature_celsius: z
504
+ .number()
505
+ .describe(
506
+ 'Temperature, in °C, reported by the [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).',
507
+ ),
508
+ temperature_fahrenheit: z
509
+ .number()
510
+ .describe(
511
+ 'Temperature, in °F, reported by the [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).',
512
+ ),
513
+ upper_limit_celsius: z
514
+ .number()
515
+ .nullable()
516
+ .describe(
517
+ 'Upper temperature limit, in °C, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
518
+ ),
519
+ upper_limit_fahrenheit: z
520
+ .number()
521
+ .nullable()
522
+ .describe(
523
+ 'Upper temperature limit, in °F, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
524
+ ),
525
+ lower_limit_celsius: z
526
+ .number()
527
+ .nullable()
528
+ .describe(
529
+ 'Lower temperature limit, in °C, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
530
+ ),
531
+ lower_limit_fahrenheit: z
532
+ .number()
533
+ .nullable()
534
+ .describe(
535
+ 'Lower temperature limit, in °F, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
536
+ ),
537
+ }).describe(`
538
+ ---
539
+ route_path: /thermostats
540
+ ---
541
+ A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading exceeded the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).
542
+ `)
511
543
 
512
544
  export type TemperatureThresholdExceededEvent = z.infer<
513
545
  typeof temperature_threshold_exceeded_event
514
546
  >
515
547
 
516
- export const temperature_threshold_no_longer_exceeded_event = device_event
517
- .extend({
548
+ export const temperature_threshold_no_longer_exceeded_event =
549
+ device_event.extend({
518
550
  event_type: z.literal(
519
551
  'thermostat.temperature_threshold_no_longer_exceeded',
520
552
  ),
@@ -552,10 +584,12 @@ export const temperature_threshold_no_longer_exceeded_event = device_event
552
584
  .describe(
553
585
  'Lower temperature limit, in °F, defined by the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).',
554
586
  ),
555
- })
556
- .describe(
557
- "A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading no longer exceeds the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).",
558
- )
587
+ }).describe(`
588
+ ---
589
+ route_path: /thermostats
590
+ ---
591
+ A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading no longer exceeds the set [threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).
592
+ `)
559
593
 
560
594
  export type TemperatureThresholdNoLongerExceededEvent = z.infer<
561
595
  typeof temperature_threshold_no_longer_exceeded_event
@@ -581,7 +615,11 @@ export const temperature_reached_set_point_event = device_event.extend({
581
615
  .describe(
582
616
  "Desired temperature, in °F, set by the thermostat's cooling or heating set point.",
583
617
  ),
584
- })
618
+ }).describe(`
619
+ ---
620
+ route_path: /thermostats
621
+ ---
622
+ `)
585
623
 
586
624
  export type TemperatureReachedSetPointEvent = z.infer<
587
625
  typeof temperature_reached_set_point_event