Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions src/lib/seam/connect/models/events/devices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ const device_event_issue_properties = {
}

export const lock_method = z
.enum(['keycode', 'manual', 'automatic', 'unknown', 'seamapi'])
.enum(['keycode', 'manual', 'automatic', 'unknown', 'remote'])
.describe(
'Method by which the affected lock device was locked or unlocked. When the method is `keycode`, the `access_code_id` indicates the access code that was used, if reported by the device.',
'Method by which the affected lock device was locked or unlocked. When the method is `keycode`, the `access_code_id` indicates the access code that was used, if reported by the device. The `remote` method indicates any remote (un)lock action, including Bluetooth, mobile app, or Seam API. For Seam-initiated remote (un)locks, look up the `action_attempt_id`.',
)
export type LockMethod = z.infer<typeof lock_method>

Expand Down Expand Up @@ -424,6 +424,9 @@ export const lock_locked_event = device_event.extend({
method: lock_method.describe(
'Method by which the affected lock device was locked. When the method is `keycode`, the `access_code_id` indicates the access code that was used, if reported by the device.',
),
is_bluetooth_action: z.boolean().optional().describe(`
Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
`),
}).describe(`
---
route_path: /locks
Expand Down Expand Up @@ -481,6 +484,9 @@ export const lock_unlocked_event = device_event.extend({
.uuid()
.optional()
.describe('ID of the affected device.'),
is_bluetooth_action: z.boolean().optional().describe(`
Whether the unlock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
`),
}).describe(`
---
route_path: /locks
Expand Down
14 changes: 12 additions & 2 deletions src/lib/seam/connect/openapi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22973,10 +22973,15 @@ export default {
type: 'string',
},
event_type: { enum: ['lock.locked'], type: 'string' },
is_bluetooth_action: {
description:
"\n Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.\n ",
type: 'boolean',
},
method: {
description:
'Method by which the affected lock device was locked. When the method is `keycode`, the `access_code_id` indicates the access code that was used, if reported by the device.',
enum: ['keycode', 'manual', 'automatic', 'unknown', 'seamapi'],
enum: ['keycode', 'manual', 'automatic', 'unknown', 'remote'],
type: 'string',
},
occurred_at: {
Expand Down Expand Up @@ -23086,10 +23091,15 @@ export default {
type: 'string',
},
event_type: { enum: ['lock.unlocked'], type: 'string' },
is_bluetooth_action: {
description:
"\n Whether the unlock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.\n ",
type: 'boolean',
},
method: {
description:
'Method by which the affected lock device 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.',
enum: ['keycode', 'manual', 'automatic', 'unknown', 'seamapi'],
enum: ['keycode', 'manual', 'automatic', 'unknown', 'remote'],
type: 'string',
},
occurred_at: {
Expand Down
48 changes: 40 additions & 8 deletions src/lib/seam/connect/route-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46096,7 +46096,11 @@ export type Routes = {
| 'manual'
| 'automatic'
| 'unknown'
| 'seamapi'
| 'remote'
/**
Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -46138,7 +46142,7 @@ export type Routes = {
| 'manual'
| 'automatic'
| 'unknown'
| 'seamapi'
| 'remote'
/**
undocumented: Unreleased.
---
Expand All @@ -46163,6 +46167,10 @@ export type Routes = {
ID of the ACS entrance associated with the unlock event.
*/
acs_entrance_id?: string | undefined
/**
Whether the unlock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -49493,7 +49501,11 @@ export type Routes = {
/** ID of the action attempt associated with the lock action. */
action_attempt_id?: string | undefined
/** Method by which the affected lock device was locked. When the method is `keycode`, the `access_code_id` indicates the access code that was used, if reported by the device. */
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'seamapi'
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'remote'
/**
Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -49530,7 +49542,7 @@ export type Routes = {
/** ID of the action attempt associated with the unlock action. */
action_attempt_id?: string | undefined
/** Method by which the affected lock device 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. */
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'seamapi'
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'remote'
/**
undocumented: Unreleased.
---
Expand All @@ -49555,6 +49567,10 @@ export type Routes = {
ID of the ACS entrance associated with the unlock event.
*/
acs_entrance_id?: string | undefined
/**
Whether the unlock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -79437,7 +79453,11 @@ export type Routes = {
/** ID of the action attempt associated with the lock action. */
action_attempt_id?: string | undefined
/** Method by which the affected lock device was locked. When the method is `keycode`, the `access_code_id` indicates the access code that was used, if reported by the device. */
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'seamapi'
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'remote'
/**
Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -79474,7 +79494,7 @@ export type Routes = {
/** ID of the action attempt associated with the unlock action. */
action_attempt_id?: string | undefined
/** Method by which the affected lock device 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. */
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'seamapi'
method: 'keycode' | 'manual' | 'automatic' | 'unknown' | 'remote'
/**
undocumented: Unreleased.
---
Expand All @@ -79499,6 +79519,10 @@ export type Routes = {
ID of the ACS entrance associated with the unlock event.
*/
acs_entrance_id?: string | undefined
/**
Whether the unlock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -117745,7 +117769,11 @@ export type Routes = {
| 'manual'
| 'automatic'
| 'unknown'
| 'seamapi'
| 'remote'
/**
Whether the lock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down Expand Up @@ -117787,7 +117815,7 @@ export type Routes = {
| 'manual'
| 'automatic'
| 'unknown'
| 'seamapi'
| 'remote'
/**
undocumented: Unreleased.
---
Expand All @@ -117812,6 +117840,10 @@ export type Routes = {
ID of the ACS entrance associated with the unlock event.
*/
acs_entrance_id?: string | undefined
/**
Whether the unlock action was performed over Bluetooth by a remote client (such as the provider's mobile app), rather than a direct physical interaction or a Seam-initiated remote action.
*/
is_bluetooth_action?: boolean | undefined
}
| {
/** ID of the event. */
Expand Down
Loading