From e4a62cc44fd1372a1c8e3ef7bfde21451eb7db12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 23:27:46 +0000 Subject: [PATCH 1/2] feat(deps-dev): bump @seamapi/types in the seam group Bumps the seam group with 1 update: [@seamapi/types](https://github.com/seamapi/types). Updates `@seamapi/types` from 1.409.0 to 1.410.1 - [Release notes](https://github.com/seamapi/types/releases) - [Changelog](https://github.com/seamapi/types/blob/main/.releaserc.json) - [Commits](https://github.com/seamapi/types/compare/v1.409.0...v1.410.1) --- updated-dependencies: - dependency-name: "@seamapi/types" dependency-version: 1.410.1 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 8007366..0c94d97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { "@seamapi/nextlove-sdk-generator": "^1.17.4", - "@seamapi/types": "^1.409.0", + "@seamapi/types": "^1.410.1", "@types/node": "^18.19.11", "ava": "^5.0.1", "axios": "^1.5.0", @@ -1220,9 +1220,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.409.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.409.0.tgz", - "integrity": "sha512-16C4XIxzWjzMRzYzjMV5/U42APddra9mwgCnFsiuwwo33sOMCtvIGRL5km2HwGFdUsVLU7qzDTnZ+WXL/+9owQ==", + "version": "1.410.1", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.410.1.tgz", + "integrity": "sha512-PmPBVbx2B7sRirjJYMx4DMoHWJwZT0cZTkM0NioUa6AfCzcRUi3uT1ZG/efy2SeTTSm1NqMf90mNoQ8EaNrdjQ==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index d0aa24e..a7ec9c8 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ }, "devDependencies": { "@seamapi/nextlove-sdk-generator": "^1.17.4", - "@seamapi/types": "^1.409.0", + "@seamapi/types": "^1.410.1", "@types/node": "^18.19.11", "ava": "^5.0.1", "axios": "^1.5.0", From 67e9bb35057dcdfc36a303ab29c64cf510499d11 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Mon, 9 Jun 2025 23:28:22 +0000 Subject: [PATCH 2/2] ci: Generate code --- output/csharp/src/Seam/Api/AccessGrants.cs | 92 +++++++++++++++++++ output/csharp/src/Seam/Api/AccessMethods.cs | 92 +++++++++++++++++++ output/csharp/src/Seam/Api/ConnectWebviews.cs | 32 +++++++ output/csharp/src/Seam/Api/Thermostats.cs | 10 +- .../csharp/src/Seam/Model/ConnectWebview.cs | 24 +++++ output/csharp/src/Seam/Seam.csproj | 2 +- 6 files changed, 246 insertions(+), 6 deletions(-) create mode 100644 output/csharp/src/Seam/Api/AccessGrants.cs create mode 100644 output/csharp/src/Seam/Api/AccessMethods.cs diff --git a/output/csharp/src/Seam/Api/AccessGrants.cs b/output/csharp/src/Seam/Api/AccessGrants.cs new file mode 100644 index 0000000..7005e97 --- /dev/null +++ b/output/csharp/src/Seam/Api/AccessGrants.cs @@ -0,0 +1,92 @@ +using System.Runtime.Serialization; +using System.Text; +using JsonSubTypes; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using Seam.Client; +using Seam.Model; + +namespace Seam.Api +{ + public class AccessGrants + { + private ISeamClient _seam; + + public AccessGrants(ISeamClient seam) + { + _seam = seam; + } + + [DataContract(Name = "deleteRequest_request")] + public class DeleteRequest + { + [JsonConstructorAttribute] + protected DeleteRequest() { } + + public DeleteRequest(string accessGrantId = default) + { + AccessGrantId = accessGrantId; + } + + [DataMember(Name = "access_grant_id", IsRequired = true, EmitDefaultValue = false)] + public string AccessGrantId { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + + public void Delete(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/access_grants/delete", requestOptions); + } + + public void Delete(string accessGrantId = default) + { + Delete(new DeleteRequest(accessGrantId: accessGrantId)); + } + + public async Task DeleteAsync(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/access_grants/delete", requestOptions); + } + + public async Task DeleteAsync(string accessGrantId = default) + { + await DeleteAsync(new DeleteRequest(accessGrantId: accessGrantId)); + } + } +} + +namespace Seam.Client +{ + public partial class SeamClient + { + public Api.AccessGrants AccessGrants => new(this); + } + + public partial interface ISeamClient + { + public Api.AccessGrants AccessGrants { get; } + } +} diff --git a/output/csharp/src/Seam/Api/AccessMethods.cs b/output/csharp/src/Seam/Api/AccessMethods.cs new file mode 100644 index 0000000..fd21fb2 --- /dev/null +++ b/output/csharp/src/Seam/Api/AccessMethods.cs @@ -0,0 +1,92 @@ +using System.Runtime.Serialization; +using System.Text; +using JsonSubTypes; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using Seam.Client; +using Seam.Model; + +namespace Seam.Api +{ + public class AccessMethods + { + private ISeamClient _seam; + + public AccessMethods(ISeamClient seam) + { + _seam = seam; + } + + [DataContract(Name = "deleteRequest_request")] + public class DeleteRequest + { + [JsonConstructorAttribute] + protected DeleteRequest() { } + + public DeleteRequest(string accessMethodId = default) + { + AccessMethodId = accessMethodId; + } + + [DataMember(Name = "access_method_id", IsRequired = true, EmitDefaultValue = false)] + public string AccessMethodId { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + + public void Delete(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/access_methods/delete", requestOptions); + } + + public void Delete(string accessMethodId = default) + { + Delete(new DeleteRequest(accessMethodId: accessMethodId)); + } + + public async Task DeleteAsync(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/access_methods/delete", requestOptions); + } + + public async Task DeleteAsync(string accessMethodId = default) + { + await DeleteAsync(new DeleteRequest(accessMethodId: accessMethodId)); + } + } +} + +namespace Seam.Client +{ + public partial class SeamClient + { + public Api.AccessMethods AccessMethods => new(this); + } + + public partial interface ISeamClient + { + public Api.AccessMethods AccessMethods { get; } + } +} diff --git a/output/csharp/src/Seam/Api/ConnectWebviews.cs b/output/csharp/src/Seam/Api/ConnectWebviews.cs index 71a3d39..7c19786 100644 --- a/output/csharp/src/Seam/Api/ConnectWebviews.cs +++ b/output/csharp/src/Seam/Api/ConnectWebviews.cs @@ -25,6 +25,7 @@ public class CreateRequest protected CreateRequest() { } public CreateRequest( + List? acceptedCapabilities = default, List? acceptedProviders = default, bool? automaticallyManageNewDevices = default, object? customMetadata = default, @@ -36,6 +37,7 @@ public CreateRequest( bool? waitForDeviceCreation = default ) { + AcceptedCapabilities = acceptedCapabilities; AcceptedProviders = acceptedProviders; AutomaticallyManageNewDevices = automaticallyManageNewDevices; CustomMetadata = customMetadata; @@ -47,6 +49,25 @@ public CreateRequest( WaitForDeviceCreation = waitForDeviceCreation; } + [JsonConverter(typeof(SafeStringEnumConverter))] + public enum AcceptedCapabilitiesEnum + { + [EnumMember(Value = "unrecognized")] + Unrecognized = 0, + + [EnumMember(Value = "lock")] + Lock = 1, + + [EnumMember(Value = "thermostat")] + Thermostat = 2, + + [EnumMember(Value = "noise_sensor")] + NoiseSensor = 3, + + [EnumMember(Value = "access_control")] + AccessControl = 4, + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum AcceptedProvidersEnum { @@ -245,6 +266,13 @@ public enum ProviderCategoryEnum InternalBeta = 6, } + [DataMember( + Name = "accepted_capabilities", + IsRequired = false, + EmitDefaultValue = false + )] + public List? AcceptedCapabilities { get; set; } + [DataMember(Name = "accepted_providers", IsRequired = false, EmitDefaultValue = false)] public List? AcceptedProviders { get; set; } @@ -352,6 +380,7 @@ public ConnectWebview Create(CreateRequest request) } public ConnectWebview Create( + List? acceptedCapabilities = default, List? acceptedProviders = default, bool? automaticallyManageNewDevices = default, object? customMetadata = default, @@ -365,6 +394,7 @@ public ConnectWebview Create( { return Create( new CreateRequest( + acceptedCapabilities: acceptedCapabilities, acceptedProviders: acceptedProviders, automaticallyManageNewDevices: automaticallyManageNewDevices, customMetadata: customMetadata, @@ -390,6 +420,7 @@ await _seam.PostAsync("/connect_webviews/create", requestOptions } public async Task CreateAsync( + List? acceptedCapabilities = default, List? acceptedProviders = default, bool? automaticallyManageNewDevices = default, object? customMetadata = default, @@ -404,6 +435,7 @@ public async Task CreateAsync( return ( await CreateAsync( new CreateRequest( + acceptedCapabilities: acceptedCapabilities, acceptedProviders: acceptedProviders, automaticallyManageNewDevices: automaticallyManageNewDevices, customMetadata: customMetadata, diff --git a/output/csharp/src/Seam/Api/Thermostats.cs b/output/csharp/src/Seam/Api/Thermostats.cs index 34372ea..d52f698 100644 --- a/output/csharp/src/Seam/Api/Thermostats.cs +++ b/output/csharp/src/Seam/Api/Thermostats.cs @@ -2001,7 +2001,7 @@ public UpdateClimatePresetRequest( float? heatingSetPointCelsius = default, float? heatingSetPointFahrenheit = default, UpdateClimatePresetRequest.HvacModeSettingEnum? hvacModeSetting = default, - bool manualOverrideAllowed = default, + bool? manualOverrideAllowed = default, string? name = default ) { @@ -2094,10 +2094,10 @@ public enum HvacModeSettingEnum [DataMember( Name = "manual_override_allowed", - IsRequired = true, + IsRequired = false, EmitDefaultValue = false )] - public bool ManualOverrideAllowed { get; set; } + public bool? ManualOverrideAllowed { get; set; } [DataMember(Name = "name", IsRequired = false, EmitDefaultValue = false)] public string? Name { get; set; } @@ -2138,7 +2138,7 @@ public void UpdateClimatePreset( float? heatingSetPointCelsius = default, float? heatingSetPointFahrenheit = default, UpdateClimatePresetRequest.HvacModeSettingEnum? hvacModeSetting = default, - bool manualOverrideAllowed = default, + bool? manualOverrideAllowed = default, string? name = default ) { @@ -2174,7 +2174,7 @@ public async Task UpdateClimatePresetAsync( float? heatingSetPointCelsius = default, float? heatingSetPointFahrenheit = default, UpdateClimatePresetRequest.HvacModeSettingEnum? hvacModeSetting = default, - bool manualOverrideAllowed = default, + bool? manualOverrideAllowed = default, string? name = default ) { diff --git a/output/csharp/src/Seam/Model/ConnectWebview.cs b/output/csharp/src/Seam/Model/ConnectWebview.cs index 5fe63cd..532bd40 100644 --- a/output/csharp/src/Seam/Model/ConnectWebview.cs +++ b/output/csharp/src/Seam/Model/ConnectWebview.cs @@ -15,6 +15,7 @@ public class ConnectWebview protected ConnectWebview() { } public ConnectWebview( + List acceptedCapabilities = default, List acceptedDevices = default, List acceptedProviders = default, bool anyDeviceAllowed = default, @@ -36,6 +37,7 @@ public ConnectWebview( string workspaceId = default ) { + AcceptedCapabilities = acceptedCapabilities; AcceptedDevices = acceptedDevices; AcceptedProviders = acceptedProviders; AnyDeviceAllowed = anyDeviceAllowed; @@ -57,6 +59,25 @@ public ConnectWebview( WorkspaceId = workspaceId; } + [JsonConverter(typeof(SafeStringEnumConverter))] + public enum AcceptedCapabilitiesEnum + { + [EnumMember(Value = "unrecognized")] + Unrecognized = 0, + + [EnumMember(Value = "lock")] + Lock = 1, + + [EnumMember(Value = "thermostat")] + Thermostat = 2, + + [EnumMember(Value = "noise_sensor")] + NoiseSensor = 3, + + [EnumMember(Value = "access_control")] + AccessControl = 4, + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum DeviceSelectionModeEnum { @@ -89,6 +110,9 @@ public enum StatusEnum Authorized = 3, } + [DataMember(Name = "accepted_capabilities", IsRequired = true, EmitDefaultValue = false)] + public List AcceptedCapabilities { get; set; } + [DataMember(Name = "accepted_devices", IsRequired = true, EmitDefaultValue = false)] public List AcceptedDevices { get; set; } diff --git a/output/csharp/src/Seam/Seam.csproj b/output/csharp/src/Seam/Seam.csproj index 5952780..8db90fa 100644 --- a/output/csharp/src/Seam/Seam.csproj +++ b/output/csharp/src/Seam/Seam.csproj @@ -7,7 +7,7 @@ Seam - 0.71.0 + 0.72.0 Seam