From d6dfe0fe6541b9b071b241a285a63d6908818d3d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 23:04:22 +0000 Subject: [PATCH 1/2] feat(deps-dev): bump @seamapi/types Bumps the seam group with 1 update: [@seamapi/types](https://github.com/seamapi/types). Updates `@seamapi/types` from 1.1181.0 to 1.1184.0 - [Release notes](https://github.com/seamapi/types/releases) - [Commits](https://github.com/seamapi/types/compare/v1.1181.0...v1.1184.0) --- updated-dependencies: - dependency-name: "@seamapi/types" dependency-version: 1.1184.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: seam ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 301ea79..c68d944 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@seamapi/blueprint": "^1.12.0", "@seamapi/fake-seam-connect": "2.0.6", "@seamapi/smith": "^1.1.1", - "@seamapi/types": "1.1181.0", + "@seamapi/types": "1.1184.0", "change-case": "^5.4.4", "del": "^8.0.0", "execa": "^10.0.1", @@ -855,9 +855,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.1181.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.1181.0.tgz", - "integrity": "sha512-Ba2I7kLW5RxN3CnCacEF+1nvLDwpS61vGSkPeB4IqeL4Ccy4NtTRQMlyCDQNNhT9y3A6WAQrz87u2XhSYu1XUw==", + "version": "1.1184.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.1184.0.tgz", + "integrity": "sha512-ix8FvLvIfiUD2XTFkC9DoffM6wriNKU5Yeqb4ublIsedSUzcRbizKzz9jj+e++ypRuTucfkp769sfzKWjsOf3A==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index c2d3586..34f645d 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@seamapi/blueprint": "^1.12.0", "@seamapi/fake-seam-connect": "2.0.6", "@seamapi/smith": "^1.1.1", - "@seamapi/types": "1.1181.0", + "@seamapi/types": "1.1184.0", "change-case": "^5.4.4", "del": "^8.0.0", "execa": "^10.0.1", From 8ebaca9a0acfff6d40d1c4b9902428ebec432012 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Mon, 9 Nov 2026 23:05:28 +0000 Subject: [PATCH 2/2] ci: Generate code --- src/Seam/Models/Event.cs | 120 ++++++++++++++++++++++++++++++++++++++ src/Seam/Routes/Events.cs | 74 ++++++++++++++--------- 2 files changed, 166 insertions(+), 28 deletions(-) diff --git a/src/Seam/Models/Event.cs b/src/Seam/Models/Event.cs index 65e851c..985e609 100644 --- a/src/Seam/Models/Event.cs +++ b/src/Seam/Models/Event.cs @@ -211,6 +211,9 @@ namespace Seam.Models [SeamUnionVariant("lock.locked", typeof(EventLockLocked))] [SeamUnionVariant("lock.unlocked", typeof(EventLockUnlocked))] [SeamUnionVariant("lock.access_denied", typeof(EventLockAccessDenied))] + [SeamUnionVariant("lock.jammed", typeof(EventLockJammed))] + [SeamUnionVariant("lock.door_opened", typeof(EventLockDoorOpened))] + [SeamUnionVariant("lock.door_closed", typeof(EventLockDoorClosed))] [SeamUnionVariant( "thermostat.climate_preset_activated", typeof(EventThermostatClimatePresetActivated) @@ -5646,6 +5649,123 @@ public enum ReasonCodeEnum public EventLockAccessDeniedReason.ReasonCodeEnum ReasonCode { get; init; } = default!; } + /// + /// The [lock](https://www.seam.co/docs/low-level-apis/smart-locks) reported that its bolt is jammed. + /// + public sealed record EventLockJammed : Event + { + [JsonPropertyName("event_type")] + public override string EventType { get; } = "lock.jammed"; + + /// + /// Custom metadata of the connected account, present when connected_account_id is provided. + /// + [JsonPropertyName("connected_account_custom_metadata")] + public object? ConnectedAccountCustomMetadata { get; init; } + + /// + /// ID of the connected account associated with the event. + /// + [JsonPropertyName("connected_account_id")] + public string ConnectedAccountId { get; init; } = default!; + + /// + /// The customer key associated with the device, if any. + /// + [JsonPropertyName("customer_key")] + public string? CustomerKey { get; init; } + + /// + /// Custom metadata of the device, present when device_id is provided. + /// + [JsonPropertyName("device_custom_metadata")] + public object? DeviceCustomMetadata { get; init; } + + /// + /// ID of the affected device. + /// + [JsonPropertyName("device_id")] + public string DeviceId { get; init; } = default!; + } + + /// + /// The door sensor of the [lock](https://www.seam.co/docs/low-level-apis/smart-locks) reported that the door was opened. + /// + public sealed record EventLockDoorOpened : Event + { + [JsonPropertyName("event_type")] + public override string EventType { get; } = "lock.door_opened"; + + /// + /// Custom metadata of the connected account, present when connected_account_id is provided. + /// + [JsonPropertyName("connected_account_custom_metadata")] + public object? ConnectedAccountCustomMetadata { get; init; } + + /// + /// ID of the connected account associated with the event. + /// + [JsonPropertyName("connected_account_id")] + public string ConnectedAccountId { get; init; } = default!; + + /// + /// The customer key associated with the device, if any. + /// + [JsonPropertyName("customer_key")] + public string? CustomerKey { get; init; } + + /// + /// Custom metadata of the device, present when device_id is provided. + /// + [JsonPropertyName("device_custom_metadata")] + public object? DeviceCustomMetadata { get; init; } + + /// + /// ID of the affected device. + /// + [JsonPropertyName("device_id")] + public string DeviceId { get; init; } = default!; + } + + /// + /// The door sensor of the [lock](https://www.seam.co/docs/low-level-apis/smart-locks) reported that the door was closed. + /// + public sealed record EventLockDoorClosed : Event + { + [JsonPropertyName("event_type")] + public override string EventType { get; } = "lock.door_closed"; + + /// + /// Custom metadata of the connected account, present when connected_account_id is provided. + /// + [JsonPropertyName("connected_account_custom_metadata")] + public object? ConnectedAccountCustomMetadata { get; init; } + + /// + /// ID of the connected account associated with the event. + /// + [JsonPropertyName("connected_account_id")] + public string ConnectedAccountId { get; init; } = default!; + + /// + /// The customer key associated with the device, if any. + /// + [JsonPropertyName("customer_key")] + public string? CustomerKey { get; init; } + + /// + /// Custom metadata of the device, present when device_id is provided. + /// + [JsonPropertyName("device_custom_metadata")] + public object? DeviceCustomMetadata { get; init; } + + /// + /// ID of the affected device. + /// + [JsonPropertyName("device_id")] + public string DeviceId { get; init; } = default!; + } + /// /// A thermostat [climate preset](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-climate-presets) was activated. /// diff --git a/src/Seam/Routes/Events.cs b/src/Seam/Routes/Events.cs index dbbe0c6..3faef6f 100644 --- a/src/Seam/Routes/Events.cs +++ b/src/Seam/Routes/Events.cs @@ -398,47 +398,56 @@ public enum EventTypeEnum [EnumMember(Value = "lock.access_denied")] LockAccessDenied = 100, + [EnumMember(Value = "lock.jammed")] + LockJammed = 101, + + [EnumMember(Value = "lock.door_opened")] + LockDoorOpened = 102, + + [EnumMember(Value = "lock.door_closed")] + LockDoorClosed = 103, + [EnumMember(Value = "thermostat.climate_preset_activated")] - ThermostatClimatePresetActivated = 101, + ThermostatClimatePresetActivated = 104, [EnumMember(Value = "thermostat.manually_adjusted")] - ThermostatManuallyAdjusted = 102, + ThermostatManuallyAdjusted = 105, [EnumMember(Value = "thermostat.temperature_threshold_exceeded")] - ThermostatTemperatureThresholdExceeded = 103, + ThermostatTemperatureThresholdExceeded = 106, [EnumMember(Value = "thermostat.temperature_threshold_no_longer_exceeded")] - ThermostatTemperatureThresholdNoLongerExceeded = 104, + ThermostatTemperatureThresholdNoLongerExceeded = 107, [EnumMember(Value = "thermostat.temperature_reached_set_point")] - ThermostatTemperatureReachedSetPoint = 105, + ThermostatTemperatureReachedSetPoint = 108, [EnumMember(Value = "thermostat.temperature_changed")] - ThermostatTemperatureChanged = 106, + ThermostatTemperatureChanged = 109, [EnumMember(Value = "device.name_changed")] - DeviceNameChanged = 107, + DeviceNameChanged = 110, [EnumMember(Value = "camera.activated")] - CameraActivated = 108, + CameraActivated = 111, [EnumMember(Value = "device.doorbell_rang")] - DeviceDoorbellRang = 109, + DeviceDoorbellRang = 112, [EnumMember(Value = "enrollment_automation.deleted")] - EnrollmentAutomationDeleted = 110, + EnrollmentAutomationDeleted = 113, [EnumMember(Value = "phone.deactivated")] - PhoneDeactivated = 111, + PhoneDeactivated = 114, [EnumMember(Value = "space.device_membership_changed")] - SpaceDeviceMembershipChanged = 112, + SpaceDeviceMembershipChanged = 115, [EnumMember(Value = "space.created")] - SpaceCreated = 113, + SpaceCreated = 116, [EnumMember(Value = "space.deleted")] - SpaceDeleted = 114, + SpaceDeleted = 117, } /// @@ -750,47 +759,56 @@ public enum EventTypesEnum [EnumMember(Value = "lock.access_denied")] LockAccessDenied = 100, + [EnumMember(Value = "lock.jammed")] + LockJammed = 101, + + [EnumMember(Value = "lock.door_opened")] + LockDoorOpened = 102, + + [EnumMember(Value = "lock.door_closed")] + LockDoorClosed = 103, + [EnumMember(Value = "thermostat.climate_preset_activated")] - ThermostatClimatePresetActivated = 101, + ThermostatClimatePresetActivated = 104, [EnumMember(Value = "thermostat.manually_adjusted")] - ThermostatManuallyAdjusted = 102, + ThermostatManuallyAdjusted = 105, [EnumMember(Value = "thermostat.temperature_threshold_exceeded")] - ThermostatTemperatureThresholdExceeded = 103, + ThermostatTemperatureThresholdExceeded = 106, [EnumMember(Value = "thermostat.temperature_threshold_no_longer_exceeded")] - ThermostatTemperatureThresholdNoLongerExceeded = 104, + ThermostatTemperatureThresholdNoLongerExceeded = 107, [EnumMember(Value = "thermostat.temperature_reached_set_point")] - ThermostatTemperatureReachedSetPoint = 105, + ThermostatTemperatureReachedSetPoint = 108, [EnumMember(Value = "thermostat.temperature_changed")] - ThermostatTemperatureChanged = 106, + ThermostatTemperatureChanged = 109, [EnumMember(Value = "device.name_changed")] - DeviceNameChanged = 107, + DeviceNameChanged = 110, [EnumMember(Value = "camera.activated")] - CameraActivated = 108, + CameraActivated = 111, [EnumMember(Value = "device.doorbell_rang")] - DeviceDoorbellRang = 109, + DeviceDoorbellRang = 112, [EnumMember(Value = "enrollment_automation.deleted")] - EnrollmentAutomationDeleted = 110, + EnrollmentAutomationDeleted = 113, [EnumMember(Value = "phone.deactivated")] - PhoneDeactivated = 111, + PhoneDeactivated = 114, [EnumMember(Value = "space.device_membership_changed")] - SpaceDeviceMembershipChanged = 112, + SpaceDeviceMembershipChanged = 115, [EnumMember(Value = "space.created")] - SpaceCreated = 113, + SpaceCreated = 116, [EnumMember(Value = "space.deleted")] - SpaceDeleted = 114, + SpaceDeleted = 117, } ///