From d63b6604fcf53c8d9d88a78f8c4c9bf71b1e1022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= Date: Thu, 4 Sep 2025 16:24:54 +0200 Subject: [PATCH 01/14] feat(grasshopper): add extract parameter functionality (#1070) --- .../Collections/ExpandCollection.cs | 11 ++- .../Components/Dev/DeconstructSpeckleParam.cs | 4 +- .../Components/Objects/QuerySpeckleObjects.cs | 7 +- .../Parameters/SpeckleOutputParam.cs | 69 +++++++++++++++++++ ...kle.Connectors.GrasshopperShared.projitems | 1 + 5 files changed, 80 insertions(+), 12 deletions(-) create mode 100644 Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Parameters/SpeckleOutputParam.cs diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Collections/ExpandCollection.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Collections/ExpandCollection.cs index a7d6c325a..8d554f25c 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Collections/ExpandCollection.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Collections/ExpandCollection.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Runtime.InteropServices; using Grasshopper.Kernel; -using Grasshopper.Kernel.Parameters; using Grasshopper.Kernel.Types; using Speckle.Connectors.GrasshopperShared.HostApp; using Speckle.Connectors.GrasshopperShared.Parameters; @@ -61,7 +60,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent var outputParams = new List(); if (objects.Count != 0) { - var param = new Param_GenericObject() + var param = new SpeckleOutputParam { Name = "_objects", NickName = "_objs", @@ -94,7 +93,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent nickName += "..." + childWrapper.Name[^6..]; } - var param = new Param_GenericObject() + var param = new SpeckleOutputParam { Name = childWrapper.Name, NickName = nickName, @@ -191,7 +190,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent foreach (var newParam in outputParams) { - var param = new Param_GenericObject + var param = new SpeckleOutputParam { Name = newParam.Param.Name, NickName = newParam.Param.NickName, @@ -214,7 +213,7 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent public IGH_Param CreateParameter(GH_ParameterSide side, int index) { - var myParam = new Param_GenericObject + var myParam = new SpeckleOutputParam { Name = GH_ComponentParamServer.InventUniqueNickname("ABCD", Params.Input), MutableNickName = true, @@ -227,4 +226,4 @@ public class ExpandCollection : GH_Component, IGH_VariableParameterComponent public bool DestroyParameter(GH_ParameterSide side, int index) => side == GH_ParameterSide.Output; } -public record OutputParamWrapper(Param_GenericObject Param, object Values, string? Topology); +public record OutputParamWrapper(SpeckleOutputParam Param, object Values, string? Topology); diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs index e44dfd898..166536881 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs @@ -370,7 +370,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon private OutputParamWrapper CreateOutputParamByKeyValue(string key, object? value, GH_ParamAccess access) { - Param_GenericObject param = + SpeckleOutputParam param = new() { Name = key, @@ -413,7 +413,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon // add new output parameters foreach (var newParam in outputParams) { - var param = new Param_GenericObject + var param = new SpeckleOutputParam { Name = newParam.Param.Name, NickName = newParam.Param.NickName, diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs index d2fa5a29f..68962a3df 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs @@ -1,6 +1,5 @@ using System.Runtime.InteropServices; using Grasshopper.Kernel; -using Grasshopper.Kernel.Parameters; using Grasshopper.Kernel.Types; using Rhino.DocObjects; using Speckle.Connectors.GrasshopperShared.HostApp; @@ -40,8 +39,8 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent pManager.AddTextParameter( "Path", - "C", - "Get the Speckle objects in the subcollection indicated by this path", + "P", + "Get the Speckle objects in the sub-collection indicated by this path", GH_ParamAccess.item ); @@ -244,7 +243,7 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent _outputFilterIndices = null; ObjectType filter = previousFilterIndex is null ? Filters.First() : Filters[(int)previousFilterIndex + 1]; - return new Param_GenericObject + return new SpeckleOutputParam { Name = filter.ToString(), NickName = GetFilterNickName(filter), diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Parameters/SpeckleOutputParam.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Parameters/SpeckleOutputParam.cs new file mode 100644 index 000000000..40b601ce2 --- /dev/null +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Parameters/SpeckleOutputParam.cs @@ -0,0 +1,69 @@ +using GH_IO.Serialization; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Attributes; +using Grasshopper.Kernel.Parameters; + +namespace Speckle.Connectors.GrasshopperShared.Parameters; + +/// +/// Simple extension of Param_GenericObject that adds "Extract parameter" functionality. +/// Follows the existing v3 codebase patterns. +/// +public class SpeckleOutputParam : Param_GenericObject +{ + public override Guid ComponentGuid => new("D2B4713D-FE8B-4EF0-8445-B6096DB15B24"); + + public override void AppendAdditionalMenuItems(ToolStripDropDown menu) + { + base.AppendAdditionalMenuItems(menu); + + // only show extract parameter option for output parameters that have no connections + if (Kind == GH_ParamKind.output && Recipients.Count == 0) + { + Menu_AppendSeparator(menu); + Menu_AppendItem(menu, "Extract parameter", Menu_ExtractOutputParameterClicked, true); + } + } + + /// + /// Extract parameter implementation - taken from v2 legacy and simplified for v3. + /// + private void Menu_ExtractOutputParameterClicked(object sender, EventArgs e) + { + var archive = new GH_Archive(); + if (!archive.AppendObject(this, "Parameter")) + { + return; + } + + var newParam = new SpeckleOutputParam(); + newParam.CreateAttributes(); + + if (!archive.ExtractObject(newParam, "Parameter")) + { + return; + } + + newParam.NewInstanceGuid(); + newParam.Attributes.Selected = false; + newParam.Attributes.PerformLayout(); + newParam.Attributes.Pivot = new PointF( + Attributes.Parent.Bounds.Right + newParam.Attributes.Bounds.Width * 0.5f + 15, + Attributes.Pivot.Y + ); + newParam.MutableNickName = true; + + if (newParam.Attributes is GH_FloatingParamAttributes floating) + { + floating.PerformLayout(); + } + + var document = OnPingDocument(); + if (document != null) + { + document.AddObject(newParam, false); + newParam.AddSource(this); + newParam.ExpireSolution(true); + } + } +} diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems index ed2e3bb06..2719fbfed 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems @@ -65,6 +65,7 @@ + From 3f74a7aa3ed648f0b68fb39495bebfb7bb7d29ab Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Thu, 4 Sep 2025 16:59:32 +0100 Subject: [PATCH 02/14] use FirstOrDefault again (#1069) Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com> --- .../Operations/Send/Settings/ToSpeckleSettingsManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Connectors/Rhino/Speckle.Connectors.RhinoShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs b/Connectors/Rhino/Speckle.Connectors.RhinoShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs index 0c91bf3e3..4f4f11217 100644 --- a/Connectors/Rhino/Speckle.Connectors.RhinoShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs +++ b/Connectors/Rhino/Speckle.Connectors.RhinoShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs @@ -16,7 +16,7 @@ public class ToSpeckleSettingsManager public bool GetAddVisualizationPropertiesSetting(SenderModelCard modelCard) { - var value = modelCard.Settings?.First(s => s.Id == "addVisualizationProperties").Value as bool?; + var value = modelCard.Settings?.FirstOrDefault(s => s.Id == "addVisualizationProperties")?.Value as bool?; var returnValue = value != null && value.NotNull(); if (_addVisualizationPropertiesCache.TryGetValue(modelCard.ModelCardId.NotNull(), out bool? previousValue)) { From 7f343596fc633c1de7f8a9d2f00a7db299496d7c Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Fri, 5 Sep 2025 13:09:07 +0100 Subject: [PATCH 03/14] Use FirstOrDefault more (#1073) --- .../Send/Settings/ToSpeckleSettingsManager.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Connectors/Revit/Speckle.Connectors.RevitShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs b/Connectors/Revit/Speckle.Connectors.RevitShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs index b4ea8a98e..a889fb9e9 100644 --- a/Connectors/Revit/Speckle.Connectors.RevitShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs +++ b/Connectors/Revit/Speckle.Connectors.RevitShared/Operations/Send/Settings/ToSpeckleSettingsManager.cs @@ -37,7 +37,7 @@ public class ToSpeckleSettingsManager : IToSpeckleSettingsManager public DetailLevelType GetDetailLevelSetting(SenderModelCard modelCard) { - var fidelityString = modelCard.Settings?.First(s => s.Id == "detailLevel").Value as string; + var fidelityString = modelCard.Settings?.FirstOrDefault(s => s.Id == "detailLevel")?.Value as string; if ( fidelityString is not null && DetailLevelSetting.GeometryFidelityMap.TryGetValue(fidelityString, out DetailLevelType fidelity) @@ -59,7 +59,7 @@ public class ToSpeckleSettingsManager : IToSpeckleSettingsManager public Transform? GetReferencePointSetting(ModelCard modelCard) { - var referencePointString = modelCard.Settings?.First(s => s.Id == "referencePoint").Value as string; + var referencePointString = modelCard.Settings?.FirstOrDefault(s => s.Id == "referencePoint")?.Value as string; if ( referencePointString is not null && ReferencePointSetting.ReferencePointMap.TryGetValue( @@ -90,7 +90,7 @@ public class ToSpeckleSettingsManager : IToSpeckleSettingsManager public bool GetSendParameterNullOrEmptyStringsSetting(SenderModelCard modelCard) { - var value = modelCard.Settings?.First(s => s.Id == "nullemptyparams").Value as bool?; + var value = modelCard.Settings?.FirstOrDefault(s => s.Id == "nullemptyparams")?.Value as bool?; var returnValue = value != null && value.NotNull(); if (_sendNullParamsCache.TryGetValue(modelCard.ModelCardId.NotNull(), out bool? previousValue)) { @@ -108,7 +108,7 @@ public class ToSpeckleSettingsManager : IToSpeckleSettingsManager // TODO: Evaluate cache invalidation for GetLinkedModelsSetting public bool GetLinkedModelsSetting(SenderModelCard modelCard) { - var value = modelCard.Settings?.First(s => s.Id == "includeLinkedModels").Value as bool?; + var value = modelCard.Settings?.FirstOrDefault(s => s.Id == "includeLinkedModels")?.Value as bool?; var returnValue = value != null && value.NotNull(); if (_sendLinkedModelsCache.TryGetValue(modelCard.ModelCardId.NotNull(), out bool? previousValue)) @@ -124,7 +124,7 @@ public class ToSpeckleSettingsManager : IToSpeckleSettingsManager public bool GetSendRebarsAsVolumetric(SenderModelCard modelCard) { - var value = modelCard.Settings?.First(s => s.Id == "sendRebarsAsVolumetric").Value as bool?; + var value = modelCard.Settings?.FirstOrDefault(s => s.Id == "sendRebarsAsVolumetric")?.Value as bool?; var returnValue = value != null && value.NotNull(); if (_sendRebarsAsVolumetricCache.TryGetValue(modelCard.ModelCardId.NotNull(), out bool? previousValue)) { From 66302f5ab321c24afefd32c619d954785e65274d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= Date: Mon, 8 Sep 2025 13:14:37 +0200 Subject: [PATCH 04/14] fix: collection order inconsistency in `RootObjectUnpacker` (#1075) * fix: collection order inconsistency in RootObjectUnpacker * fix: adam * refactor: use List instead of HashSet in SplitAtomicObjectsAndInstances * fix: no need for .ToArray() * chore: sdk version bump --- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 48 ++++++++-------- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 24 ++++---- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 56 +++++++++---------- .../Speckle.Connectors.DUI/packages.lock.json | 56 +++++++++---------- Directory.Packages.props | 6 +- .../packages.lock.json | 32 +++++------ .../packages.lock.json | 32 +++++------ .../Speckle.Importers.Ifc/packages.lock.json | 28 +++++----- .../packages.lock.json | 39 +++++-------- .../packages.lock.json | 30 +++++----- .../packages.lock.json | 30 +++++----- .../Operations/Receive/RootObjectUnpacker.cs | 9 ++- .../packages.lock.json | 44 +++++++-------- .../packages.lock.json | 26 ++++----- .../packages.lock.json | 44 +++++++-------- Sdk/Speckle.Testing/packages.lock.json | 14 ++--- 76 files changed, 1109 insertions(+), 1119 deletions(-) diff --git a/Connectors/Autocad/Speckle.Connectors.Autocad2022/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Autocad2022/packages.lock.json index 17d4968a3..886f0e578 100644 --- a/Connectors/Autocad/Speckle.Connectors.Autocad2022/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Autocad2022/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -292,7 +292,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -336,18 +336,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -357,14 +357,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Autocad/Speckle.Connectors.Autocad2023/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Autocad2023/packages.lock.json index 2b0698ff9..e5babee9d 100644 --- a/Connectors/Autocad/Speckle.Connectors.Autocad2023/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Autocad2023/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -292,7 +292,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -336,18 +336,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -357,14 +357,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Autocad/Speckle.Connectors.Autocad2024/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Autocad2024/packages.lock.json index 17de090a3..daba02f2d 100644 --- a/Connectors/Autocad/Speckle.Connectors.Autocad2024/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Autocad2024/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -293,7 +293,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Autocad/Speckle.Connectors.Autocad2025/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Autocad2025/packages.lock.json index 825d98051..3bdd3e1e5 100644 --- a/Connectors/Autocad/Speckle.Connectors.Autocad2025/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Autocad2025/packages.lock.json @@ -210,9 +210,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -244,7 +244,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -288,18 +288,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -307,14 +307,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/Autocad/Speckle.Connectors.Autocad2026/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Autocad2026/packages.lock.json index 4f1af5a10..95124aeb6 100644 --- a/Connectors/Autocad/Speckle.Connectors.Autocad2026/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Autocad2026/packages.lock.json @@ -210,9 +210,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -244,7 +244,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -288,18 +288,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -307,14 +307,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/Autocad/Speckle.Connectors.Civil3d2022/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Civil3d2022/packages.lock.json index 6f92659dd..93fe89c97 100644 --- a/Connectors/Autocad/Speckle.Connectors.Civil3d2022/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Civil3d2022/packages.lock.json @@ -268,9 +268,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -302,7 +302,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -346,18 +346,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -367,14 +367,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Autocad/Speckle.Connectors.Civil3d2023/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Civil3d2023/packages.lock.json index ffa28f73b..ad1e52471 100644 --- a/Connectors/Autocad/Speckle.Connectors.Civil3d2023/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Civil3d2023/packages.lock.json @@ -268,9 +268,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -302,7 +302,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -346,18 +346,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -367,14 +367,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Autocad/Speckle.Connectors.Civil3d2024/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Civil3d2024/packages.lock.json index e109a7105..cf9526ea2 100644 --- a/Connectors/Autocad/Speckle.Connectors.Civil3d2024/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Civil3d2024/packages.lock.json @@ -268,9 +268,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -302,7 +302,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -346,18 +346,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -367,14 +367,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Autocad/Speckle.Connectors.Civil3d2025/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Civil3d2025/packages.lock.json index 45c768f1e..35ef97fb3 100644 --- a/Connectors/Autocad/Speckle.Connectors.Civil3d2025/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Civil3d2025/packages.lock.json @@ -219,9 +219,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -254,7 +254,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -298,18 +298,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -317,14 +317,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/Autocad/Speckle.Connectors.Civil3d2026/packages.lock.json b/Connectors/Autocad/Speckle.Connectors.Civil3d2026/packages.lock.json index d4cc760f8..f234ae6fb 100644 --- a/Connectors/Autocad/Speckle.Connectors.Civil3d2026/packages.lock.json +++ b/Connectors/Autocad/Speckle.Connectors.Civil3d2026/packages.lock.json @@ -219,9 +219,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -254,7 +254,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -298,18 +298,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -317,14 +317,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/CSi/Speckle.Connectors.ETABS21/packages.lock.json b/Connectors/CSi/Speckle.Connectors.ETABS21/packages.lock.json index 22b206965..476aa9984 100644 --- a/Connectors/CSi/Speckle.Connectors.ETABS21/packages.lock.json +++ b/Connectors/CSi/Speckle.Connectors.ETABS21/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.etabs21": { @@ -335,18 +335,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -356,14 +356,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/CSi/Speckle.Connectors.ETABS22/packages.lock.json b/Connectors/CSi/Speckle.Connectors.ETABS22/packages.lock.json index 8e9b36b56..1e4543dfe 100644 --- a/Connectors/CSi/Speckle.Connectors.ETABS22/packages.lock.json +++ b/Connectors/CSi/Speckle.Connectors.ETABS22/packages.lock.json @@ -210,9 +210,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -236,7 +236,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.etabs22": { @@ -286,18 +286,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -305,14 +305,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2020/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2020/packages.lock.json index e2740b783..5d9ac9128 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2020/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2020/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2020": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2021/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2021/packages.lock.json index 1dcb4bf33..2296abdef 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2021/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2021/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2021": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2022/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2022/packages.lock.json index a220a7671..9c9d6d9fc 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2022/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2022/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2022": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2023/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2023/packages.lock.json index f39eeaa3d..5553cfa77 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2023/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2023/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2023": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2024/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2024/packages.lock.json index ce4316758..b5ec2b5dc 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2024/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2024/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2024": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2025/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2025/packages.lock.json index 11d10699d..871542339 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2025/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2025/packages.lock.json @@ -265,9 +265,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -291,7 +291,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2025": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Navisworks/Speckle.Connectors.Navisworks2026/packages.lock.json b/Connectors/Navisworks/Speckle.Connectors.Navisworks2026/packages.lock.json index 95b2d5e6b..b9d0ec49f 100644 --- a/Connectors/Navisworks/Speckle.Connectors.Navisworks2026/packages.lock.json +++ b/Connectors/Navisworks/Speckle.Connectors.Navisworks2026/packages.lock.json @@ -266,9 +266,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -292,7 +292,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.navisworks2026": { @@ -339,18 +339,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -360,14 +360,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, ".NETFramework,Version=v4.8/win-x64": { diff --git a/Connectors/Revit/Speckle.Connectors.Revit2022/packages.lock.json b/Connectors/Revit/Speckle.Connectors.Revit2022/packages.lock.json index e40424c6c..a50856520 100644 --- a/Connectors/Revit/Speckle.Connectors.Revit2022/packages.lock.json +++ b/Connectors/Revit/Speckle.Connectors.Revit2022/packages.lock.json @@ -281,9 +281,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -306,7 +306,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.revit2022": { @@ -351,11 +351,11 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Revit.API": { @@ -366,9 +366,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -378,14 +378,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Revit/Speckle.Connectors.Revit2023/packages.lock.json b/Connectors/Revit/Speckle.Connectors.Revit2023/packages.lock.json index 9d095d0ad..e77790d34 100644 --- a/Connectors/Revit/Speckle.Connectors.Revit2023/packages.lock.json +++ b/Connectors/Revit/Speckle.Connectors.Revit2023/packages.lock.json @@ -281,9 +281,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -306,7 +306,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.revit2023": { @@ -351,11 +351,11 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Revit.API": { @@ -366,9 +366,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -378,14 +378,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Revit/Speckle.Connectors.Revit2024/packages.lock.json b/Connectors/Revit/Speckle.Connectors.Revit2024/packages.lock.json index 365b8bd33..51b4ab064 100644 --- a/Connectors/Revit/Speckle.Connectors.Revit2024/packages.lock.json +++ b/Connectors/Revit/Speckle.Connectors.Revit2024/packages.lock.json @@ -281,9 +281,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -306,7 +306,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.revit2024": { @@ -351,11 +351,11 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Revit.API": { @@ -366,9 +366,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -378,14 +378,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Revit/Speckle.Connectors.Revit2025/packages.lock.json b/Connectors/Revit/Speckle.Connectors.Revit2025/packages.lock.json index 84b27ae96..9c1035501 100644 --- a/Connectors/Revit/Speckle.Connectors.Revit2025/packages.lock.json +++ b/Connectors/Revit/Speckle.Connectors.Revit2025/packages.lock.json @@ -226,9 +226,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -251,7 +251,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.revit2025": { @@ -296,11 +296,11 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Revit.API": { @@ -311,9 +311,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -321,14 +321,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/Revit/Speckle.Connectors.Revit2026/packages.lock.json b/Connectors/Revit/Speckle.Connectors.Revit2026/packages.lock.json index 4c5f2eeea..18524b1c4 100644 --- a/Connectors/Revit/Speckle.Connectors.Revit2026/packages.lock.json +++ b/Connectors/Revit/Speckle.Connectors.Revit2026/packages.lock.json @@ -219,9 +219,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -244,7 +244,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.revit2026": { @@ -280,11 +280,11 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Revit.API": { @@ -295,9 +295,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -305,14 +305,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/Rhino/Speckle.Connectors.Grasshopper7/packages.lock.json b/Connectors/Rhino/Speckle.Connectors.Grasshopper7/packages.lock.json index 16837a7e2..0bc6cdaf5 100644 --- a/Connectors/Rhino/Speckle.Connectors.Grasshopper7/packages.lock.json +++ b/Connectors/Rhino/Speckle.Connectors.Grasshopper7/packages.lock.json @@ -325,9 +325,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -337,7 +337,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino7": { @@ -382,18 +382,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -403,14 +403,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Rhino/Speckle.Connectors.Grasshopper8/packages.lock.json b/Connectors/Rhino/Speckle.Connectors.Grasshopper8/packages.lock.json index 69f541787..a3970918a 100644 --- a/Connectors/Rhino/Speckle.Connectors.Grasshopper8/packages.lock.json +++ b/Connectors/Rhino/Speckle.Connectors.Grasshopper8/packages.lock.json @@ -325,9 +325,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -337,7 +337,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino8": { @@ -381,18 +381,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -402,14 +402,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json b/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json index b259c8676..481838eaa 100644 --- a/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json +++ b/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json @@ -306,9 +306,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -341,7 +341,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino7": { @@ -401,18 +401,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -422,14 +422,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "System.Resources.Extensions": { "type": "CentralTransitive", diff --git a/Connectors/Rhino/Speckle.Connectors.Rhino8/packages.lock.json b/Connectors/Rhino/Speckle.Connectors.Rhino8/packages.lock.json index 3ff371daf..7b22d4bee 100644 --- a/Connectors/Rhino/Speckle.Connectors.Rhino8/packages.lock.json +++ b/Connectors/Rhino/Speckle.Connectors.Rhino8/packages.lock.json @@ -306,9 +306,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -341,7 +341,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino8": { @@ -400,18 +400,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -421,14 +421,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "System.Resources.Extensions": { "type": "CentralTransitive", diff --git a/Connectors/Rhino/Speckle.Connectors.RhinoImporter/packages.lock.json b/Connectors/Rhino/Speckle.Connectors.RhinoImporter/packages.lock.json index 8bbcfd70f..a0bc99185 100644 --- a/Connectors/Rhino/Speckle.Connectors.RhinoImporter/packages.lock.json +++ b/Connectors/Rhino/Speckle.Connectors.RhinoImporter/packages.lock.json @@ -235,9 +235,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -261,7 +261,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino8": { @@ -311,18 +311,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -330,14 +330,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0/win-x64": { diff --git a/Connectors/Tekla/Speckle.Connector.Tekla2023/packages.lock.json b/Connectors/Tekla/Speckle.Connector.Tekla2023/packages.lock.json index 9e0cce06f..b1b0882a7 100644 --- a/Connectors/Tekla/Speckle.Connector.Tekla2023/packages.lock.json +++ b/Connectors/Tekla/Speckle.Connector.Tekla2023/packages.lock.json @@ -325,9 +325,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -360,7 +360,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "LibTessDotNet": { @@ -410,18 +410,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -431,14 +431,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Tekla/Speckle.Connector.Tekla2024/packages.lock.json b/Connectors/Tekla/Speckle.Connector.Tekla2024/packages.lock.json index 62b81807a..ba9b3cbee 100644 --- a/Connectors/Tekla/Speckle.Connector.Tekla2024/packages.lock.json +++ b/Connectors/Tekla/Speckle.Connector.Tekla2024/packages.lock.json @@ -406,9 +406,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -441,7 +441,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "LibTessDotNet": { @@ -491,18 +491,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -512,14 +512,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Connectors/Tekla/Speckle.Connector.Tekla2025/packages.lock.json b/Connectors/Tekla/Speckle.Connector.Tekla2025/packages.lock.json index 4f98446a9..367193dc5 100644 --- a/Connectors/Tekla/Speckle.Connector.Tekla2025/packages.lock.json +++ b/Connectors/Tekla/Speckle.Connector.Tekla2025/packages.lock.json @@ -406,9 +406,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -441,7 +441,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "LibTessDotNet": { @@ -491,18 +491,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -512,14 +512,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Autocad/Speckle.Converters.Autocad2022/packages.lock.json b/Converters/Autocad/Speckle.Converters.Autocad2022/packages.lock.json index 08f07a499..8eedd8af4 100644 --- a/Converters/Autocad/Speckle.Converters.Autocad2022/packages.lock.json +++ b/Converters/Autocad/Speckle.Converters.Autocad2022/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Autocad/Speckle.Converters.Autocad2023/packages.lock.json b/Converters/Autocad/Speckle.Converters.Autocad2023/packages.lock.json index 98c6780d5..e9e236972 100644 --- a/Converters/Autocad/Speckle.Converters.Autocad2023/packages.lock.json +++ b/Converters/Autocad/Speckle.Converters.Autocad2023/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Autocad/Speckle.Converters.Autocad2024/packages.lock.json b/Converters/Autocad/Speckle.Converters.Autocad2024/packages.lock.json index 96e6b4b1d..1d0d7522b 100644 --- a/Converters/Autocad/Speckle.Converters.Autocad2024/packages.lock.json +++ b/Converters/Autocad/Speckle.Converters.Autocad2024/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -285,7 +285,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -329,18 +329,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -350,14 +350,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Autocad/Speckle.Converters.Autocad2025/packages.lock.json b/Converters/Autocad/Speckle.Converters.Autocad2025/packages.lock.json index 2f9f13913..ee7eec546 100644 --- a/Converters/Autocad/Speckle.Converters.Autocad2025/packages.lock.json +++ b/Converters/Autocad/Speckle.Converters.Autocad2025/packages.lock.json @@ -210,9 +210,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -236,7 +236,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -280,18 +280,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -299,14 +299,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Autocad/Speckle.Converters.Autocad2026/packages.lock.json b/Converters/Autocad/Speckle.Converters.Autocad2026/packages.lock.json index 4f3f9cfd0..823f21ca0 100644 --- a/Converters/Autocad/Speckle.Converters.Autocad2026/packages.lock.json +++ b/Converters/Autocad/Speckle.Converters.Autocad2026/packages.lock.json @@ -210,9 +210,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -236,7 +236,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -280,18 +280,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -299,14 +299,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/CSi/Speckle.Converters.ETABS21/packages.lock.json b/Converters/CSi/Speckle.Converters.ETABS21/packages.lock.json index 7df05b174..4dbe32b47 100644 --- a/Converters/CSi/Speckle.Converters.ETABS21/packages.lock.json +++ b/Converters/CSi/Speckle.Converters.ETABS21/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/CSi/Speckle.Converters.ETABS22/packages.lock.json b/Converters/CSi/Speckle.Converters.ETABS22/packages.lock.json index 673f5ad0f..f51b1505e 100644 --- a/Converters/CSi/Speckle.Converters.ETABS22/packages.lock.json +++ b/Converters/CSi/Speckle.Converters.ETABS22/packages.lock.json @@ -209,7 +209,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -238,18 +238,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -257,14 +257,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Civil3d/Speckle.Converters.Civil3d2022/packages.lock.json b/Converters/Civil3d/Speckle.Converters.Civil3d2022/packages.lock.json index 937ab2541..60d150c03 100644 --- a/Converters/Civil3d/Speckle.Converters.Civil3d2022/packages.lock.json +++ b/Converters/Civil3d/Speckle.Converters.Civil3d2022/packages.lock.json @@ -267,7 +267,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -296,18 +296,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -317,14 +317,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Civil3d/Speckle.Converters.Civil3d2023/packages.lock.json b/Converters/Civil3d/Speckle.Converters.Civil3d2023/packages.lock.json index 9d0fbbad1..3505bf22c 100644 --- a/Converters/Civil3d/Speckle.Converters.Civil3d2023/packages.lock.json +++ b/Converters/Civil3d/Speckle.Converters.Civil3d2023/packages.lock.json @@ -267,7 +267,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -296,18 +296,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -317,14 +317,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Civil3d/Speckle.Converters.Civil3d2024/packages.lock.json b/Converters/Civil3d/Speckle.Converters.Civil3d2024/packages.lock.json index 1be8317a7..fd742bc67 100644 --- a/Converters/Civil3d/Speckle.Converters.Civil3d2024/packages.lock.json +++ b/Converters/Civil3d/Speckle.Converters.Civil3d2024/packages.lock.json @@ -267,7 +267,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -296,18 +296,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -317,14 +317,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Civil3d/Speckle.Converters.Civil3d2025/packages.lock.json b/Converters/Civil3d/Speckle.Converters.Civil3d2025/packages.lock.json index ac69c26b7..27e9b4379 100644 --- a/Converters/Civil3d/Speckle.Converters.Civil3d2025/packages.lock.json +++ b/Converters/Civil3d/Speckle.Converters.Civil3d2025/packages.lock.json @@ -219,9 +219,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -245,7 +245,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -289,18 +289,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Civil3d/Speckle.Converters.Civil3d2026/packages.lock.json b/Converters/Civil3d/Speckle.Converters.Civil3d2026/packages.lock.json index 9b76b631e..8e390d82d 100644 --- a/Converters/Civil3d/Speckle.Converters.Civil3d2026/packages.lock.json +++ b/Converters/Civil3d/Speckle.Converters.Civil3d2026/packages.lock.json @@ -219,9 +219,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -245,7 +245,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -289,18 +289,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2020/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2020/packages.lock.json index 8f6e88907..9ecf0a99d 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2020/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2020/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -278,7 +278,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -316,18 +316,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -337,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2021/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2021/packages.lock.json index 64ee60cdb..21903c78c 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2021/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2021/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -278,7 +278,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -316,18 +316,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -337,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2022/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2022/packages.lock.json index 29e755177..97cb757b7 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2022/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2022/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -278,7 +278,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -316,18 +316,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -337,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2023/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2023/packages.lock.json index 884c7d064..a36740d9f 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2023/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2023/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -278,7 +278,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -316,18 +316,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -337,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2024/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2024/packages.lock.json index a488ddd95..9ef876160 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2024/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2024/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -278,7 +278,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -316,18 +316,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -337,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2025/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2025/packages.lock.json index 06b24db56..0d6eb3e93 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2025/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2025/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -278,7 +278,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -316,18 +316,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -337,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Navisworks/Speckle.Converters.Navisworks2026/packages.lock.json b/Converters/Navisworks/Speckle.Converters.Navisworks2026/packages.lock.json index 1433850d2..f47730184 100644 --- a/Converters/Navisworks/Speckle.Converters.Navisworks2026/packages.lock.json +++ b/Converters/Navisworks/Speckle.Converters.Navisworks2026/packages.lock.json @@ -260,9 +260,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -279,7 +279,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -317,18 +317,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -338,14 +338,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Revit/Speckle.Converters.Revit2022/packages.lock.json b/Converters/Revit/Speckle.Converters.Revit2022/packages.lock.json index bdf831b10..6833ec033 100644 --- a/Converters/Revit/Speckle.Converters.Revit2022/packages.lock.json +++ b/Converters/Revit/Speckle.Converters.Revit2022/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Revit/Speckle.Converters.Revit2023/packages.lock.json b/Converters/Revit/Speckle.Converters.Revit2023/packages.lock.json index 1b1d79b5e..f791d0f5a 100644 --- a/Converters/Revit/Speckle.Converters.Revit2023/packages.lock.json +++ b/Converters/Revit/Speckle.Converters.Revit2023/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Revit/Speckle.Converters.Revit2024/packages.lock.json b/Converters/Revit/Speckle.Converters.Revit2024/packages.lock.json index 3284a4cf0..f9c68ed3d 100644 --- a/Converters/Revit/Speckle.Converters.Revit2024/packages.lock.json +++ b/Converters/Revit/Speckle.Converters.Revit2024/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Revit/Speckle.Converters.Revit2025/packages.lock.json b/Converters/Revit/Speckle.Converters.Revit2025/packages.lock.json index 1579c940e..e04c4362e 100644 --- a/Converters/Revit/Speckle.Converters.Revit2025/packages.lock.json +++ b/Converters/Revit/Speckle.Converters.Revit2025/packages.lock.json @@ -209,7 +209,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -238,18 +238,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -257,14 +257,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Revit/Speckle.Converters.Revit2026/packages.lock.json b/Converters/Revit/Speckle.Converters.Revit2026/packages.lock.json index 94611ae7a..ecfcf6dea 100644 --- a/Converters/Revit/Speckle.Converters.Revit2026/packages.lock.json +++ b/Converters/Revit/Speckle.Converters.Revit2026/packages.lock.json @@ -209,7 +209,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -238,18 +238,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -257,14 +257,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/packages.lock.json b/Converters/Rhino/Speckle.Converters.Rhino7/packages.lock.json index 1b8e04436..a085588fc 100644 --- a/Converters/Rhino/Speckle.Converters.Rhino7/packages.lock.json +++ b/Converters/Rhino/Speckle.Converters.Rhino7/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Rhino/Speckle.Converters.Rhino8/packages.lock.json b/Converters/Rhino/Speckle.Converters.Rhino8/packages.lock.json index 7de90a231..5e17d46ba 100644 --- a/Converters/Rhino/Speckle.Converters.Rhino8/packages.lock.json +++ b/Converters/Rhino/Speckle.Converters.Rhino8/packages.lock.json @@ -258,7 +258,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -287,18 +287,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -308,14 +308,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0": { @@ -542,7 +542,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -571,18 +571,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -590,14 +590,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Converters/Tekla/Speckle.Converter.Tekla2023/packages.lock.json b/Converters/Tekla/Speckle.Converter.Tekla2023/packages.lock.json index ef5ea5a63..6da0b6c98 100644 --- a/Converters/Tekla/Speckle.Converter.Tekla2023/packages.lock.json +++ b/Converters/Tekla/Speckle.Converter.Tekla2023/packages.lock.json @@ -302,7 +302,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "LibTessDotNet": { @@ -337,18 +337,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -358,14 +358,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "Tekla.Structures.Dialog": { "type": "CentralTransitive", diff --git a/Converters/Tekla/Speckle.Converter.Tekla2024/packages.lock.json b/Converters/Tekla/Speckle.Converter.Tekla2024/packages.lock.json index f2aecfd09..a517a2d79 100644 --- a/Converters/Tekla/Speckle.Converter.Tekla2024/packages.lock.json +++ b/Converters/Tekla/Speckle.Converter.Tekla2024/packages.lock.json @@ -343,7 +343,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "LibTessDotNet": { @@ -378,18 +378,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -399,14 +399,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "Tekla.Structures.Plugins": { "type": "CentralTransitive", diff --git a/Converters/Tekla/Speckle.Converter.Tekla2025/packages.lock.json b/Converters/Tekla/Speckle.Converter.Tekla2025/packages.lock.json index f2aecfd09..a517a2d79 100644 --- a/Converters/Tekla/Speckle.Converter.Tekla2025/packages.lock.json +++ b/Converters/Tekla/Speckle.Converter.Tekla2025/packages.lock.json @@ -343,7 +343,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "LibTessDotNet": { @@ -378,18 +378,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -399,14 +399,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "Tekla.Structures.Plugins": { "type": "CentralTransitive", diff --git a/DUI3/Speckle.Connectors.DUI.Tests/packages.lock.json b/DUI3/Speckle.Connectors.DUI.Tests/packages.lock.json index 89f1589bb..3f806a10b 100644 --- a/DUI3/Speckle.Connectors.DUI.Tests/packages.lock.json +++ b/DUI3/Speckle.Connectors.DUI.Tests/packages.lock.json @@ -314,9 +314,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -335,7 +335,7 @@ "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Moq": "[4.20.70, )", "NUnit": "[4.1.0, )", - "Speckle.Sdk": "[3.5.2, )" + "Speckle.Sdk": "[3.5.3, )" } }, "Microsoft.Extensions.DependencyInjection": { @@ -373,18 +373,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -392,14 +392,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/DUI3/Speckle.Connectors.DUI.WebView/packages.lock.json b/DUI3/Speckle.Connectors.DUI.WebView/packages.lock.json index 3ff4119cd..912017695 100644 --- a/DUI3/Speckle.Connectors.DUI.WebView/packages.lock.json +++ b/DUI3/Speckle.Connectors.DUI.WebView/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -309,18 +309,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -330,14 +330,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0-windows7.0": { @@ -549,9 +549,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -599,18 +599,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -618,14 +618,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/DUI3/Speckle.Connectors.DUI/packages.lock.json b/DUI3/Speckle.Connectors.DUI/packages.lock.json index 1eb628394..fd74dd2a2 100644 --- a/DUI3/Speckle.Connectors.DUI/packages.lock.json +++ b/DUI3/Speckle.Connectors.DUI/packages.lock.json @@ -259,9 +259,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -296,18 +296,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -317,14 +317,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0": { @@ -536,9 +536,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -573,18 +573,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -592,14 +592,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Directory.Packages.props b/Directory.Packages.props index 6595aebe0..c59585536 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -53,9 +53,9 @@ - - - + + + diff --git a/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json b/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json index ad65b243d..c9b3b17ed 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json +++ b/Importers/Ifc/Speckle.Importers.Ifc.Tester/packages.lock.json @@ -204,9 +204,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -220,8 +220,8 @@ "Ara3D.Utils": "[1.4.5, )", "Microsoft.Extensions.DependencyInjection": "[8.0.0, )", "Speckle.Connectors.Common": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )" } }, "Ara3D.Buffers": { @@ -283,18 +283,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -302,14 +302,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Importers/Ifc/Speckle.Importers.Ifc.Tester2/packages.lock.json b/Importers/Ifc/Speckle.Importers.Ifc.Tester2/packages.lock.json index ad65b243d..c9b3b17ed 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc.Tester2/packages.lock.json +++ b/Importers/Ifc/Speckle.Importers.Ifc.Tester2/packages.lock.json @@ -204,9 +204,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -220,8 +220,8 @@ "Ara3D.Utils": "[1.4.5, )", "Microsoft.Extensions.DependencyInjection": "[8.0.0, )", "Speckle.Connectors.Common": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )" } }, "Ara3D.Buffers": { @@ -283,18 +283,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -302,14 +302,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json b/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json index 14339bdf2..c23ef9bb7 100644 --- a/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json +++ b/Importers/Ifc/Speckle.Importers.Ifc/packages.lock.json @@ -68,18 +68,18 @@ }, "Speckle.Objects": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -87,7 +87,7 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "GraphQL.Client": { @@ -261,9 +261,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -295,9 +295,9 @@ }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Importers/Rhino/Speckle.Importers.JobProcessor/packages.lock.json b/Importers/Rhino/Speckle.Importers.JobProcessor/packages.lock.json index b8c14f463..697ec88f2 100644 --- a/Importers/Rhino/Speckle.Importers.JobProcessor/packages.lock.json +++ b/Importers/Rhino/Speckle.Importers.JobProcessor/packages.lock.json @@ -208,9 +208,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -242,7 +242,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino8": { @@ -259,15 +259,6 @@ "Speckle.Converters.Rhino8": "[1.0.0, )" } }, - "Grasshopper": { - "type": "CentralTransitive", - "requested": "[8.9.24194.18121, )", - "resolved": "8.0.23304.9001", - "contentHash": "L1Cse6nAxryzcZ7jsu3WzBiG9BYtgYsaNbRV+p55N+THKTFGmXx1PdBbiWtuxK9kB4jyuLVpeV8XBiYlSGA1Vw==", - "dependencies": { - "RhinoCommon": "[8.0.23304.9001]" - } - }, "Microsoft.Extensions.DependencyInjection": { "type": "CentralTransitive", "requested": "[2.2.0, )", @@ -327,18 +318,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -346,14 +337,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Importers/Rhino/Speckle.Importers.Rhino/packages.lock.json b/Importers/Rhino/Speckle.Importers.Rhino/packages.lock.json index 3a9b27f3d..bb6762377 100644 --- a/Importers/Rhino/Speckle.Importers.Rhino/packages.lock.json +++ b/Importers/Rhino/Speckle.Importers.Rhino/packages.lock.json @@ -254,9 +254,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.dui": { @@ -288,7 +288,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.converters.rhino8": { @@ -338,18 +338,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -357,14 +357,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Sdk/Speckle.Connectors.Common.Tests/packages.lock.json b/Sdk/Speckle.Connectors.Common.Tests/packages.lock.json index 7b58bc4a0..04565d8b3 100644 --- a/Sdk/Speckle.Connectors.Common.Tests/packages.lock.json +++ b/Sdk/Speckle.Connectors.Common.Tests/packages.lock.json @@ -308,9 +308,9 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Speckle.Connectors.Logging": "[1.0.0, )", - "Speckle.Objects": "[3.5.2, )", - "Speckle.Sdk": "[3.5.2, )", - "Speckle.Sdk.Dependencies": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )", + "Speckle.Sdk": "[3.5.3, )", + "Speckle.Sdk.Dependencies": "[3.5.3, )" } }, "speckle.connectors.logging": { @@ -322,7 +322,7 @@ "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Moq": "[4.20.70, )", "NUnit": "[4.1.0, )", - "Speckle.Sdk": "[3.5.2, )" + "Speckle.Sdk": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -366,18 +366,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -385,14 +385,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Sdk/Speckle.Connectors.Common/Operations/Receive/RootObjectUnpacker.cs b/Sdk/Speckle.Connectors.Common/Operations/Receive/RootObjectUnpacker.cs index 7d9343c1a..77507a11b 100644 --- a/Sdk/Speckle.Connectors.Common/Operations/Receive/RootObjectUnpacker.cs +++ b/Sdk/Speckle.Connectors.Common/Operations/Receive/RootObjectUnpacker.cs @@ -1,5 +1,4 @@ using Speckle.Objects.Other; -using Speckle.Sdk.Dependencies; using Speckle.Sdk.Models; using Speckle.Sdk.Models.Collections; using Speckle.Sdk.Models.GraphTraversal; @@ -31,7 +30,7 @@ public class RootObjectUnpacker ); public IReadOnlyCollection GetObjectsToConvert(Base root) => - _traverseFunction.Traverse(root).Where(obj => obj.Current is not Collection).Freeze(); + _traverseFunction.Traverse(root).Where(obj => obj.Current is not Collection).ToArray(); public IReadOnlyCollection? TryGetColorProxies(Base root) => TryGetProxies(root, ProxyKeys.COLOR); @@ -53,8 +52,8 @@ public class RootObjectUnpacker IReadOnlyCollection instanceComponents ) SplitAtomicObjectsAndInstances(IEnumerable objectsToSplit) { - HashSet atomicObjects = new(); - HashSet instanceComponents = new(); + List atomicObjects = []; + List instanceComponents = []; foreach (TraversalContext tc in objectsToSplit) { if (tc.Current is IInstanceComponent) @@ -66,7 +65,7 @@ public class RootObjectUnpacker atomicObjects.Add(tc); } } - return (atomicObjects.Freeze(), instanceComponents.Freeze()); + return (atomicObjects, instanceComponents); } private IReadOnlyCollection? TryGetProxies(Base root, string key) => diff --git a/Sdk/Speckle.Connectors.Common/packages.lock.json b/Sdk/Speckle.Connectors.Common/packages.lock.json index 8a6a129a4..e06d7fc94 100644 --- a/Sdk/Speckle.Connectors.Common/packages.lock.json +++ b/Sdk/Speckle.Connectors.Common/packages.lock.json @@ -44,18 +44,18 @@ }, "Speckle.Objects": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -65,14 +65,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "GraphQL.Client": { "type": "Transitive", @@ -360,18 +360,18 @@ }, "Speckle.Objects": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -379,14 +379,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" }, "GraphQL.Client": { "type": "Transitive", diff --git a/Sdk/Speckle.Converters.Common.Tests/packages.lock.json b/Sdk/Speckle.Converters.Common.Tests/packages.lock.json index fec33f3fc..6eec2a0e3 100644 --- a/Sdk/Speckle.Converters.Common.Tests/packages.lock.json +++ b/Sdk/Speckle.Converters.Common.Tests/packages.lock.json @@ -322,7 +322,7 @@ "type": "Project", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )", - "Speckle.Objects": "[3.5.2, )" + "Speckle.Objects": "[3.5.3, )" } }, "speckle.testing": { @@ -331,7 +331,7 @@ "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", "Moq": "[4.20.70, )", "NUnit": "[4.1.0, )", - "Speckle.Sdk": "[3.5.2, )" + "Speckle.Sdk": "[3.5.3, )" } }, "Microsoft.Extensions.Logging": { @@ -360,18 +360,18 @@ }, "Speckle.Objects": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -379,14 +379,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Sdk/Speckle.Converters.Common/packages.lock.json b/Sdk/Speckle.Converters.Common/packages.lock.json index 01895ba6c..ad6cdbb55 100644 --- a/Sdk/Speckle.Converters.Common/packages.lock.json +++ b/Sdk/Speckle.Converters.Common/packages.lock.json @@ -41,11 +41,11 @@ }, "Speckle.Objects": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "GraphQL.Client": { @@ -283,9 +283,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Bcl.AsyncInterfaces": "5.0.0", @@ -295,14 +295,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } }, "net8.0": { @@ -345,11 +345,11 @@ }, "Speckle.Objects": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "4OlvSSV1cxPeIs3gK4GRvq9X0Su3NE/TBxE6uA/rBS4tCCUdRRiF8wJMFSOxj8K6CRuJcdCxAqD6TIB0cwJ/9Q==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "T3xwwoALVGmhIuEjlDrTdDXZ9haFILT32r8OACWrRUItU3xMkOWGyob51Ca1MHPmo8B5gvbk2Gnm8AgReGnxWg==", "dependencies": { - "Speckle.Sdk": "3.5.2" + "Speckle.Sdk": "3.5.3" } }, "GraphQL.Client": { @@ -538,9 +538,9 @@ }, "Speckle.Sdk": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -548,14 +548,14 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } diff --git a/Sdk/Speckle.Testing/packages.lock.json b/Sdk/Speckle.Testing/packages.lock.json index 10e6c9931..14237408c 100644 --- a/Sdk/Speckle.Testing/packages.lock.json +++ b/Sdk/Speckle.Testing/packages.lock.json @@ -59,9 +59,9 @@ }, "Speckle.Sdk": { "type": "Direct", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "6WUC7nbLOQURVb12eONGewhNdJHJb03jJ74QO8Tc5XODG+Q7Z5ZUcXu62ID/Hst3S0c2dlSXVZLw8WOLE2rGzQ==", + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "o+HefwtPZBqyuUHEnKF+qb/ctCAlNc2BYIw3ULEsZ93zweHt5wOMvOeuPxIXR0Gvj3fg6yNlY2nUcdFEduIXYA==", "dependencies": { "GraphQL.Client": "6.0.0", "Microsoft.Data.Sqlite": "7.0.5", @@ -69,7 +69,7 @@ "Microsoft.Extensions.Logging": "2.2.0", "Speckle.DoubleNumerics": "4.1.0", "Speckle.Newtonsoft.Json": "13.0.2", - "Speckle.Sdk.Dependencies": "3.5.2" + "Speckle.Sdk.Dependencies": "3.5.3" } }, "Castle.Core": { @@ -277,9 +277,9 @@ }, "Speckle.Sdk.Dependencies": { "type": "CentralTransitive", - "requested": "[3.5.2, )", - "resolved": "3.5.2", - "contentHash": "EsNd0OIbubhjFptextM6DeiN74hqb+s8J+HwfAmIFU9XOlmZPfznqjPMJnK9B+8sCpcM2pFsWZys0g/g00m1aw==" + "requested": "[3.5.3, )", + "resolved": "3.5.3", + "contentHash": "kC15SE4yZoVTasgywCm0SpY9yjBsQeUIDt4qoscYAgbn9pe0jj3uM0hZeJUCxn9Fdoj64OfQBpCKzR7VqhkwHQ==" } } } From b708d2d265da0c89f8a3492c2c732a13f069a55d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= Date: Mon, 8 Sep 2025 15:49:17 +0200 Subject: [PATCH 05/14] fix(grasshopper): QuerySpeckleObjects crashes with type-specific outputs when path is set (#1072) * fix: `QuerySpeckleObjects` index out of range with type-specific outputs and path filtering * chore: unnecessary using statement * refactor: simplify ternary operator chain to if statements --------- Co-authored-by: Claire Kuang --- .../Components/Objects/QuerySpeckleObjects.cs | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs index 68962a3df..741737462 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/QuerySpeckleObjects.cs @@ -1,6 +1,5 @@ using System.Runtime.InteropServices; using Grasshopper.Kernel; -using Grasshopper.Kernel.Types; using Rhino.DocObjects; using Speckle.Connectors.GrasshopperShared.HostApp; using Speckle.Connectors.GrasshopperShared.Parameters; @@ -136,10 +135,28 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent // Set output objects for (int i = 0; i < Params.Output.Count; i++) { - List outputValues = - i == 0 ? filteredObjects : _filterDict[Filters[i - 1]].Select(o => (SpeckleWrapper)o).ToList(); - List outputGoos = outputValues.Select(o => o.CreateGoo()).ToList(); - if (targetCollectionWrapper?.Topology is string topology && !string.IsNullOrEmpty(topology)) + // determine output values based on parameter type + List outputValues; + if (i == 0) + { + outputValues = filteredObjects; + } + else if ( + Enum.TryParse(Params.Output[i].Name, out ObjectType filterType) + && _filterDict.TryGetValue(filterType, out var filteredList) + ) + { + outputValues = filteredList.Cast().ToList(); + } + else + { + outputValues = []; + } + + var outputGoos = outputValues.Select(o => o.CreateGoo()).ToList(); + + // only use topology for the first output when we have a path + if (i == 0 && targetCollectionWrapper?.Topology is string topology && !string.IsNullOrEmpty(topology)) { var tree = GrasshopperHelpers.CreateDataTreeFromTopologyAndItems(topology, outputGoos); dataAccess.SetDataTree(i, tree); @@ -272,10 +289,8 @@ public class QuerySpeckleObjects : GH_Component, IGH_VariableParameterComponent base.RemovedFromDocument(document); } - private void OnParameterSourceChanged(object sender, GH_ParamServerEventArgs args) - { + private void OnParameterSourceChanged(object sender, GH_ParamServerEventArgs args) => // an empty filter dict will trigger the SortObjectsByGeometryBaseType method. // we only want to re-sort objects if an input has changed, not on every trigger of solve instance. _filterDict.Clear(); - } } From f09e60fe027bdbf470814e4fe69f4becc3da90ac Mon Sep 17 00:00:00 2001 From: Claire Kuang Date: Mon, 8 Sep 2025 15:08:44 +0100 Subject: [PATCH 06/14] fix(grasshopper): updates sample scripts (#1076) * updates sample scripts * adds text --- .../Speckle Grasshopper - Documentation.gh | Bin 27674 -> 28357 bytes .../Speckle Grasshopper - Sample Scripts.gh | Bin 49849 -> 53569 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Connectors/Rhino/Sample Files/Speckle Grasshopper - Documentation.gh b/Connectors/Rhino/Sample Files/Speckle Grasshopper - Documentation.gh index 0de5a62a975b61d89b3dfba8034f0598b5710504..5cc25aeedc83b904e3943fa779777082de96ee63 100644 GIT binary patch literal 28357 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 z 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 z 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 diff --git a/Connectors/Rhino/Sample Files/Speckle Grasshopper - Sample Scripts.gh b/Connectors/Rhino/Sample Files/Speckle Grasshopper - Sample Scripts.gh index dca4f4c019221a838cd7ef13a809b001d918c42d..a43fc7e6526fda53337e06ebe263d7bfa530ec70 100644 GIT binary patch literal 53569 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 literal 49849 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 From b79c547027a33ef30cafa80018890b920729c1fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 15:41:54 +0100 Subject: [PATCH 07/14] chore(deps): bump actions/setup-dotnet from 4 to 5 (#1078) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 4 to 5. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pr.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 336c0b5e8..77ceea990 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -12,7 +12,7 @@ jobs: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: 8.0.4xx # Align with global.json (including roll forward rules) @@ -33,7 +33,7 @@ jobs: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: 8.0.4xx # Align with global.json (including roll forward rules) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 671c0f3c4..e6248f524 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: 8.0.4xx # Align with global.json (including roll forward rules) @@ -88,7 +88,7 @@ jobs: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: 8.0.4xx # Align with global.json (including roll forward rules) From 475a76f765a8817a535e5f1b1c43e5e8c50b5d9c Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Mon, 8 Sep 2025 16:14:43 +0100 Subject: [PATCH 08/14] fix(sdk) move the logging addition for connectors (#1059) * move the logging addition for connectors * use SetMinimumLevel on both sides of the ilmerge barrier --- Sdk/Speckle.Connectors.Common/Connector.cs | 51 ++++++++++---- .../Internal/LogBuilder.cs | 70 ++++++++++--------- .../Internal/SpeckleLogLevelUtility.cs | 17 ++++- 3 files changed, 90 insertions(+), 48 deletions(-) diff --git a/Sdk/Speckle.Connectors.Common/Connector.cs b/Sdk/Speckle.Connectors.Common/Connector.cs index 8e56dab2d..126952b7c 100644 --- a/Sdk/Speckle.Connectors.Common/Connector.cs +++ b/Sdk/Speckle.Connectors.Common/Connector.cs @@ -10,10 +10,11 @@ namespace Speckle.Connectors.Common; public static class Connector { - private sealed record LoggingDisposable(IDisposable Tracing, IDisposable Metrics) : IDisposable + private sealed record LoggingDisposable(IDisposable Logging, IDisposable Tracing, IDisposable Metrics) : IDisposable { public void Dispose() { + Logging.Dispose(); Tracing.Dispose(); Metrics.Dispose(); } @@ -28,13 +29,26 @@ public static class Connector HostAppVersion version ) { + var assemblyVersion = Assembly.GetExecutingAssembly().GetVersion(); + serviceCollection.AddSpeckleSdk( + application, + HostApplications.GetVersion(version), + assemblyVersion, + typeof(Point).Assembly + ); + +#if DEBUG || LOCAL + var minimumLevel = SpeckleLogLevel.Debug; +#else + var minimumLevel = SpeckleLogLevel.Information; +#endif var (logging, tracing, metrics) = Observability.Initialize( application.Name + " " + HostApplications.GetVersion(version), application.Slug, - Assembly.GetExecutingAssembly().GetVersion(), + assemblyVersion, #if DEBUG || LOCAL new( - new SpeckleLogging(Console: true, File: new(), MinimumLevel: SpeckleLogLevel.Debug), + new SpeckleLogging(Console: true, File: new(), MinimumLevel: minimumLevel), new SpeckleTracing(Console: false), new SpeckleMetrics(Console: false) ) @@ -50,7 +64,7 @@ public static class Connector Headers: new() { { "X-Seq-ApiKey", "y5YnBp12ZE1Czh4tzZWn" } } ) ], - MinimumLevel: SpeckleLogLevel.Information + MinimumLevel: minimumLevel ), new SpeckleTracing( Console: false, @@ -65,15 +79,26 @@ public static class Connector ) #endif ); - - serviceCollection.AddLogging(x => x.AddProvider(new SpeckleLogProvider(logging))); - serviceCollection.AddSpeckleSdk( - application, - HostApplications.GetVersion(version), - Assembly.GetExecutingAssembly().GetVersion(), - typeof(Point).Assembly - ); + //do this after the AddSpeckleSdk so that the logging system gets values from here. + serviceCollection.AddLogging(x => + { + x.ClearProviders(); + x.AddProvider(new SpeckleLogProvider(logging)); + x.SetMinimumLevel(GetMicrosoftLevel(minimumLevel)); + }); serviceCollection.AddSingleton(); - return new LoggingDisposable(tracing, metrics); + return new LoggingDisposable(logging, tracing, metrics); } + + private static LogLevel GetMicrosoftLevel(SpeckleLogLevel speckleLogLevel) => + speckleLogLevel switch + { + SpeckleLogLevel.Debug => LogLevel.Debug, + SpeckleLogLevel.Verbose => LogLevel.Trace, + SpeckleLogLevel.Information => LogLevel.Information, + SpeckleLogLevel.Warning => LogLevel.Warning, + SpeckleLogLevel.Error => LogLevel.Error, + SpeckleLogLevel.Fatal => LogLevel.Critical, + _ => throw new ArgumentOutOfRangeException(nameof(speckleLogLevel), speckleLogLevel, null) + }; } diff --git a/Sdk/Speckle.Connectors.Logging/Internal/LogBuilder.cs b/Sdk/Speckle.Connectors.Logging/Internal/LogBuilder.cs index cc79ef1a4..a2976853d 100644 --- a/Sdk/Speckle.Connectors.Logging/Internal/LogBuilder.cs +++ b/Sdk/Speckle.Connectors.Logging/Internal/LogBuilder.cs @@ -19,44 +19,48 @@ internal static class LogBuilder { var factory = LoggerFactory.Create(loggingBuilder => { - if (speckleLogging?.File is not null || speckleLogging?.Console is not null) + if (speckleLogging != null) { - var serilogLogConfiguration = new LoggerConfiguration() - .MinimumLevel.Is(SpeckleLogLevelUtility.GetLevel(speckleLogging.MinimumLevel)) - .Enrich.FromLogContext() - .Enrich.WithExceptionDetails(); - - if (speckleLogging.File is not null) + loggingBuilder.SetMinimumLevel(SpeckleLogLevelUtility.GetMicrosoftLevel(speckleLogging.MinimumLevel)); + if (speckleLogging.File is not null || speckleLogging.Console) { - // TODO: check if we have write permissions to the file. - var logFilePath = SpecklePathProvider.LogFolderPath(applicationAndVersion); - logFilePath = Path.Combine(logFilePath, speckleLogging.File.Path ?? "SpeckleCoreLog.txt"); - serilogLogConfiguration = serilogLogConfiguration.WriteTo.File( - logFilePath, - rollingInterval: RollingInterval.Day, - retainedFileCountLimit: 10 - ); - } + var serilogLogConfiguration = new LoggerConfiguration() + .MinimumLevel.Is(SpeckleLogLevelUtility.GetSerilogLevel(speckleLogging.MinimumLevel)) + .Enrich.FromLogContext() + .Enrich.WithExceptionDetails(); - if (speckleLogging.Console) - { - serilogLogConfiguration.WriteTo.Console(); - } - - var serilogLogger = serilogLogConfiguration.CreateLogger(); - if (speckleLogging.File is not null) - { - serilogLogger - .ForContext("applicationAndVersion", applicationAndVersion) - .ForContext("connectorVersion", connectorVersion) - .ForContext("userApplicationDataPath", SpecklePathProvider.UserApplicationDataPath()) - .ForContext("installApplicationDataPath", SpecklePathProvider.InstallApplicationDataPath) - .Information( - "Initialized logger inside {applicationAndVersion}/{connectorVersion}. Path info {userApplicationDataPath} {installApplicationDataPath}." + if (speckleLogging.File is not null) + { + // TODO: check if we have write permissions to the file. + var logFilePath = SpecklePathProvider.LogFolderPath(applicationAndVersion); + logFilePath = Path.Combine(logFilePath, speckleLogging.File.Path ?? "SpeckleCoreLog.txt"); + serilogLogConfiguration = serilogLogConfiguration.WriteTo.File( + logFilePath, + rollingInterval: RollingInterval.Day, + retainedFileCountLimit: 10 ); - } + } - loggingBuilder.AddSerilog(serilogLogger); + if (speckleLogging.Console) + { + serilogLogConfiguration.WriteTo.Console(); + } + + var serilogLogger = serilogLogConfiguration.CreateLogger(); + if (speckleLogging.File is not null) + { + serilogLogger + .ForContext("applicationAndVersion", applicationAndVersion) + .ForContext("connectorVersion", connectorVersion) + .ForContext("userApplicationDataPath", SpecklePathProvider.UserApplicationDataPath()) + .ForContext("installApplicationDataPath", SpecklePathProvider.InstallApplicationDataPath) + .Information( + "Initialized logger inside {applicationAndVersion}/{connectorVersion}. Path info {userApplicationDataPath} {installApplicationDataPath}." + ); + } + + loggingBuilder.AddSerilog(serilogLogger); + } } foreach (var otel in speckleLogging?.Otel ?? []) diff --git a/Sdk/Speckle.Connectors.Logging/Internal/SpeckleLogLevelUtility.cs b/Sdk/Speckle.Connectors.Logging/Internal/SpeckleLogLevelUtility.cs index d5eed5f22..16a3346d8 100644 --- a/Sdk/Speckle.Connectors.Logging/Internal/SpeckleLogLevelUtility.cs +++ b/Sdk/Speckle.Connectors.Logging/Internal/SpeckleLogLevelUtility.cs @@ -1,10 +1,11 @@ -using Serilog.Events; +using Microsoft.Extensions.Logging; +using Serilog.Events; namespace Speckle.Connectors.Logging.Internal; internal static class SpeckleLogLevelUtility { - internal static LogEventLevel GetLevel(SpeckleLogLevel speckleLogLevel) => + internal static LogEventLevel GetSerilogLevel(SpeckleLogLevel speckleLogLevel) => speckleLogLevel switch { SpeckleLogLevel.Debug => LogEventLevel.Debug, @@ -15,4 +16,16 @@ internal static class SpeckleLogLevelUtility SpeckleLogLevel.Fatal => LogEventLevel.Fatal, _ => throw new ArgumentOutOfRangeException(nameof(speckleLogLevel), speckleLogLevel, null) }; + + internal static LogLevel GetMicrosoftLevel(SpeckleLogLevel speckleLogLevel) => + speckleLogLevel switch + { + SpeckleLogLevel.Debug => LogLevel.Debug, + SpeckleLogLevel.Verbose => LogLevel.Trace, + SpeckleLogLevel.Information => LogLevel.Information, + SpeckleLogLevel.Warning => LogLevel.Warning, + SpeckleLogLevel.Error => LogLevel.Error, + SpeckleLogLevel.Fatal => LogLevel.Critical, + _ => throw new ArgumentOutOfRangeException(nameof(speckleLogLevel), speckleLogLevel, null) + }; } From 0dcd9b2626a113c9aafcbffab3ca147d40101762 Mon Sep 17 00:00:00 2001 From: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com> Date: Mon, 8 Sep 2025 16:26:53 +0100 Subject: [PATCH 09/14] feat(rhino-importer): Implement compute budget and align retrying policy with py (#1074) * first pass * Jedd and Iains changes * re-queue the job if we can't report it as failed * log context * Add file type to scoped context --- .../Blobs/ImportJobFileFactory.cs | 2 +- .../Domain/FileimportJob.cs | 1 + .../Domain/FileimportPayload.cs | 1 - .../JobProcessor.cs | 112 +++++++++++------- .../JobQueue/Repository.cs | 40 ++++++- .../Internal/ImporterInstance.cs | 1 + 6 files changed, 105 insertions(+), 52 deletions(-) diff --git a/Importers/Rhino/Speckle.Importers.JobProcessor/Blobs/ImportJobFileFactory.cs b/Importers/Rhino/Speckle.Importers.JobProcessor/Blobs/ImportJobFileFactory.cs index ffa7f74aa..ea6f9d077 100644 --- a/Importers/Rhino/Speckle.Importers.JobProcessor/Blobs/ImportJobFileFactory.cs +++ b/Importers/Rhino/Speckle.Importers.JobProcessor/Blobs/ImportJobFileFactory.cs @@ -9,7 +9,7 @@ internal sealed class ImportJobFileDownloader(ILogger logger) public async Task DownloadFile(FileimportJob job, IClient client, CancellationToken cancellationToken) { var directory = Directory.CreateTempSubdirectory("speckle-file-import"); - string targetFilePath = $"{directory.FullName}/{job.Payload.JobId}.{job.Payload.FileType}"; + string targetFilePath = $"{directory.FullName}/{job.Payload.BlobId}.{job.Payload.FileType}"; await client.FileImport.DownloadFile( job.Payload.ProjectId, job.Payload.BlobId, diff --git a/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportJob.cs b/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportJob.cs index 6a52696de..919bff223 100644 --- a/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportJob.cs +++ b/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportJob.cs @@ -13,4 +13,5 @@ internal sealed class FileimportJob public required int MaxAttempt { get; init; } public required DateTime CreatedAt { get; init; } public required DateTime UpdatedAt { get; init; } + public int RemainingComputeBudgetSeconds { get; init; } = 1800; } diff --git a/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportPayload.cs b/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportPayload.cs index 3c5db2434..9b39c32a1 100644 --- a/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportPayload.cs +++ b/Importers/Rhino/Speckle.Importers.JobProcessor/Domain/FileimportPayload.cs @@ -5,7 +5,6 @@ /// internal sealed class FileimportPayload { - public required string JobId { get; init; } public required string Token { get; init; } public required string BlobId { get; init; } public required string JobType { get; init; } diff --git a/Importers/Rhino/Speckle.Importers.JobProcessor/JobProcessor.cs b/Importers/Rhino/Speckle.Importers.JobProcessor/JobProcessor.cs index 105bbb0c3..f6381c150 100644 --- a/Importers/Rhino/Speckle.Importers.JobProcessor/JobProcessor.cs +++ b/Importers/Rhino/Speckle.Importers.JobProcessor/JobProcessor.cs @@ -1,4 +1,6 @@ -using System.Diagnostics.CodeAnalysis; +using System.Data; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; using Microsoft.Extensions.Logging; using Speckle.Connectors.Common.Extensions; using Speckle.Connectors.Logging; @@ -7,6 +9,7 @@ using Speckle.Importers.JobProcessor.JobHandlers; using Speckle.Importers.JobProcessor.JobQueue; using Speckle.Sdk.Api; using Speckle.Sdk.Api.GraphQL.Inputs; +using Speckle.Sdk.Common; using Speckle.Sdk.Credentials; using Speckle.Sdk.Logging; using Version = Speckle.Sdk.Api.GraphQL.Models.Version; @@ -39,7 +42,13 @@ internal sealed class JobProcessorInstance( await Task.Delay(s_idleTimeout, cancellationToken); continue; } - logger.LogInformation("Starting {jobId}", job.Id); + logger.LogInformation( + "Starting {jobId}, attempt {attempt} / {maxAttempts} - it has {computeBudgetSeconds}s remaining", + job.Id, + job.Attempt, + job.MaxAttempt, + job.RemainingComputeBudgetSeconds + ); using var activity = activityFactory.Start(); using var scopeJobId = ActivityScope.SetTag("jobId", job.Id); @@ -49,18 +58,16 @@ internal sealed class JobProcessorInstance( using var scopeProjectId = ActivityScope.SetTag("projectId", job.Payload.ProjectId); using var scopeModelId = ActivityScope.SetTag("modelId", job.Payload.ModelId); using var scopeBlobId = ActivityScope.SetTag("blobId", job.Payload.BlobId); + using var scopeFileType = ActivityScope.SetTag("fileType", job.Payload.FileType); try { - JobStatus jobStatus = await AttemptJob(job, cancellationToken); - if (jobStatus == JobStatus.QUEUED) - { - await repository.ReturnJobToQueued(connection, job.Id, cancellationToken); - } + await AttemptJob(job, connection, cancellationToken); activity?.SetStatus(SdkActivityStatusCode.Ok); } catch (Exception ex) { + // This is a very exceptional case, something is wrong with our infra activity?.RecordException(ex); activity?.SetStatus(SdkActivityStatusCode.Error); throw; @@ -68,37 +75,55 @@ internal sealed class JobProcessorInstance( } } - private static async Task ReportSuccess( + private async Task ReportSuccess( FileimportJob job, Version version, IClient client, + double elapsedSeconds, CancellationToken cancellationToken ) { + logger.LogInformation( + "Attempt {attempt} of {jobId} has succeeded creating {versionId} after {elapsedSeconds}", + job.Attempt, + job.Id, + version.id, + elapsedSeconds + ); + var input = new FileImportSuccessInput { projectId = job.Payload.ProjectId, jobId = job.Payload.BlobId, warnings = [], - result = new FileImportResult(0, 0, 0, "Rhino Importer", versionId: version.id) + result = new FileImportResult(elapsedSeconds, 0, 0, "Rhino Importer", versionId: version.id) }; await client.FileImport.FinishFileImportJob(input, cancellationToken); } - private static async Task ReportFailed( + private async Task ReportFailed( FileimportJob job, IClient client, Exception ex, + double elapsedSeconds, CancellationToken cancellationToken ) { + logger.LogError( + ex, + "Attempt {attempt} to process {jobId} failed after {elapsedSeconds}", + job.Attempt, + job.Id, + elapsedSeconds + ); + var input = new FileImportErrorInput() { projectId = job.Payload.ProjectId, jobId = job.Payload.BlobId, warnings = [], reason = string.IsNullOrEmpty(ex.Message) ? ex.GetType().ToString() : ex.Message, - result = new FileImportResult(0, 0, 0, "Rhino Importer", versionId: null) + result = new FileImportResult(elapsedSeconds, 0, 0, "Rhino Importer", versionId: null) }; await client.FileImport.FinishFileImportJob(input, cancellationToken); } @@ -115,11 +140,12 @@ internal sealed class JobProcessorInstance( } [SuppressMessage("Design", "CA1031:Do not catch general exception types")] - private async Task AttemptJob(FileimportJob job, CancellationToken cancellationToken) + private async Task AttemptJob(FileimportJob job, IDbConnection connection, CancellationToken cancellationToken) { using var activity = activityFactory.Start(); - IClient? speckleClient = null; + Stopwatch stopwatch = Stopwatch.StartNew(); + double totalElapsedSeconds = 0; try { speckleClient = await SetupClient(job, cancellationToken); @@ -131,45 +157,39 @@ internal sealed class JobProcessorInstance( throw new MaxAttemptsExceededException("Unhandled error silently failed the job multiple times"); } - try - { - Version version = await ExecuteJobWithTimeout(job, speckleClient, cancellationToken); - await ReportSuccess(job, version, speckleClient, cancellationToken); - logger.LogInformation("Job {jobId} has succeeded creating {versionId}", job.Id, version.id); + Version version = await ExecuteJobWithTimeout(job, speckleClient, cancellationToken); + totalElapsedSeconds = stopwatch.Elapsed.TotalSeconds; - activity?.SetStatus(SdkActivityStatusCode.Ok); - return JobStatus.SUCCEEDED; - } - catch (JobTimeoutException ex) - { - logger.LogInformation(ex, "Executing job timed out"); + await ReportSuccess(job, version, speckleClient, totalElapsedSeconds, cancellationToken); - if (job.Attempt >= job.MaxAttempt) - { - throw new MaxAttemptsExceededException("The final attempt to process the job failed", ex); - } - - activity?.RecordException(ex); - activity?.SetStatus(SdkActivityStatusCode.Error); - return JobStatus.QUEUED; - } + activity?.SetStatus(SdkActivityStatusCode.Ok); } catch (Exception ex) { - logger.LogError(ex, "Attempt {attempt} to process {jobId} failed", job.Attempt, job.Id); - - if (speckleClient is not null) - { - await ReportFailed(job, speckleClient, ex, cancellationToken); - } - activity?.RecordException(ex); activity?.SetStatus(SdkActivityStatusCode.Error); - return JobStatus.FAILED; + + totalElapsedSeconds = stopwatch.Elapsed.TotalSeconds; + + try + { + await ReportFailed(job, speckleClient.NotNull(), ex, totalElapsedSeconds, cancellationToken); + } + catch (Exception ex2) + { + logger.LogError(ex2, "Failed to report failure status"); + await repository.ReturnJobToQueued(connection, job.Id, cancellationToken); + } } finally { speckleClient?.Dispose(); + + if (totalElapsedSeconds <= 0) + { + totalElapsedSeconds = stopwatch.Elapsed.TotalSeconds; + } + await repository.DeductFromComputeBudget(connection, job.Id, (long)totalElapsedSeconds, cancellationToken); } } @@ -186,8 +206,11 @@ internal sealed class JobProcessorInstance( CancellationToken cancellationToken ) { + //respect the remaining compute budget + int jobTimeout = Math.Max(0, Math.Min(job.Payload.TimeOutSeconds, job.RemainingComputeBudgetSeconds)); + using CancellationTokenSource timeout = new(); - timeout.CancelAfter(TimeSpan.FromSeconds(job.Payload.TimeOutSeconds)); + timeout.CancelAfter(TimeSpan.FromSeconds(jobTimeout)); using CancellationTokenSource linkedSource = CancellationTokenSource.CreateLinkedTokenSource( timeout.Token, cancellationToken @@ -198,10 +221,7 @@ internal sealed class JobProcessorInstance( } catch (OperationCanceledException ex) when (timeout.IsCancellationRequested) { - throw new JobTimeoutException( - $"Job was cancelled due to reaching the {job.Payload.TimeOutSeconds} second timeout", - ex - ); + throw new JobTimeoutException($"Job was cancelled due to reaching the {jobTimeout} second timeout", ex); } } } diff --git a/Importers/Rhino/Speckle.Importers.JobProcessor/JobQueue/Repository.cs b/Importers/Rhino/Speckle.Importers.JobProcessor/JobQueue/Repository.cs index 59bf8a8d0..f56ac15cc 100644 --- a/Importers/Rhino/Speckle.Importers.JobProcessor/JobQueue/Repository.cs +++ b/Importers/Rhino/Speckle.Importers.JobProcessor/JobQueue/Repository.cs @@ -56,15 +56,17 @@ internal sealed class Repository(ILogger logger) "updatedAt" = NOW() WHERE id = ( SELECT id FROM background_jobs - WHERE ( --queued job + WHERE ( -- job in a QUEUED state which has not yet exceeded maximum attempts and has a positive remaining compute budget (payload ->> 'fileType') = ANY(@FileTypes) AND status = @Status2 AND "attempt" < "maxAttempt" + AND "remainingComputeBudgetSeconds"::int > 0 ) - OR ( --timed job left on processing state + OR ( -- any job left in a PROCESSING state for more than its timeout period (payload ->> 'fileType') = ANY(@FileTypes) AND status = @Status1 - AND "updatedAt" < NOW() - ("timeoutMs" * interval '1 millisecond') + AND "attempt" <= "maxAttempt" + AND "updatedAt" < NOW() - (payload ->> 'timeOutSeconds')::int * interval '1 second' ) ORDER BY "createdAt" FOR UPDATE SKIP LOCKED @@ -94,7 +96,7 @@ internal sealed class Repository(ILogger logger) await SetJobStatus(connection, jobId, JobStatus.QUEUED, cancellationToken); } - public async Task SetJobStatus( + private async Task SetJobStatus( IDbConnection connection, string jobId, JobStatus jobStatus, @@ -118,4 +120,34 @@ internal sealed class Repository(ILogger logger) await connection.ExecuteAsync(command); } + + public async Task DeductFromComputeBudget( + IDbConnection connection, + string jobId, + long usedComputeTimeSeconds, + CancellationToken cancellationToken + ) + { + logger.LogInformation( + "updating job: {jobId}'s remaining compute budget by deducting {usedComputeTimeSeconds} seconds", + jobId, + usedComputeTimeSeconds + ); + + //lang=postgresql + const string COMMAND_TEXT = """ + UPDATE background_jobs + SET "remainingComputeBudgetSeconds" = "remainingComputeBudgetSeconds"::int - @usedComputeTimeSeconds, + "updatedAt" = NOW() + WHERE id = @jobId + """; + + var command = new CommandDefinition( + commandText: COMMAND_TEXT, + parameters: new { usedComputeTimeSeconds, jobId }, + cancellationToken: cancellationToken + ); + + await connection.ExecuteAsync(command); + } } diff --git a/Importers/Rhino/Speckle.Importers.Rhino/Internal/ImporterInstance.cs b/Importers/Rhino/Speckle.Importers.Rhino/Internal/ImporterInstance.cs index 0530339f0..5e77d6078 100644 --- a/Importers/Rhino/Speckle.Importers.Rhino/Internal/ImporterInstance.cs +++ b/Importers/Rhino/Speckle.Importers.Rhino/Internal/ImporterInstance.cs @@ -25,6 +25,7 @@ internal sealed class ImporterInstance(Sender sender, ILogger using var scopeProjectId = ActivityScope.SetTag("projectId", args.Project.id); using var scopeModelId = ActivityScope.SetTag("modelId", args.ModelId); using var scopeBlobId = ActivityScope.SetTag("blobId", args.BlobId); + using var scopeFileType = ActivityScope.SetTag("fileType", Path.GetExtension(args.FilePath).TrimStart('.')); UserActivityScope.AddUserScope(args.Account); var result = await TryImport(args, cancellationToken); From 94f04c9aebe099482b61398f66d7f2c7855967ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= Date: Tue, 9 Sep 2025 09:16:03 +0200 Subject: [PATCH 10/14] fix(grasshopper): working with `SpeckleProperties` list values (#1077) * fix: preserve GH_ParamAccess types during parameter discovery in DeconstructSpeckleParam * chore: unnecessary string interpolation * feat: `ExpandSpeckleProperties` component * adds icon * chore: cleanup * chore: capital P --------- Co-authored-by: Claire Kuang --- .../Components/Dev/DeconstructSpeckleParam.cs | 33 ++-- .../Objects/ExpandSpeckleProperties.cs | 168 ++++++++++++++++++ .../Objects/SpecklePropertiesPassthrough.cs | 4 +- .../Properties/Resources.Designer.cs | 20 ++- .../Properties/Resources.resx | 3 + .../Resources/speckle_properties_expand.jpg | Bin 0 -> 1608 bytes ...kle.Connectors.GrasshopperShared.projitems | 1 + 7 files changed, 208 insertions(+), 21 deletions(-) create mode 100644 Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs create mode 100644 Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Resources/speckle_properties_expand.jpg diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs index 166536881..0b75a4fb0 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Dev/DeconstructSpeckleParam.cs @@ -28,10 +28,8 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon public override Guid ComponentGuid => GetType().GUID; protected override Bitmap Icon => Resources.speckle_deconstruct; - protected override void RegisterInputParams(GH_InputParamManager pManager) - { + protected override void RegisterInputParams(GH_InputParamManager pManager) => pManager.AddGenericParameter("Speckle Param", "SP", "Speckle param to deconstruct", GH_ParamAccess.item); - } protected override void RegisterOutputParams(GH_OutputParamManager pManager) { } @@ -40,7 +38,7 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon // on first iteration, discover all fields from all objects to create stable output structure if (da.Iteration == 0) { - HashSet allFields = DiscoverAllFieldsFromInput(); + var allFields = DiscoverAllFieldsFromInput(); if (allFields.Count > 0) { @@ -75,11 +73,12 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon } /// - /// Discovers all unique field names from all input objects by looking at volatile data directly. + /// Discovers all unique field names and their access types from all input objects by looking at volatile data directly. /// - private HashSet DiscoverAllFieldsFromInput() + /// A dictionary mapping field names to their required parameter access types. + private IReadOnlyDictionary DiscoverAllFieldsFromInput() { - HashSet allFields = new(); + Dictionary allFields = []; foreach (var item in Params.Input[0].VolatileData.AllData(true)) { @@ -88,7 +87,8 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon { foreach (var output in objectOutputs) { - allFields.Add(output.Param.Name); + string fieldName = output.Param.Name; + allFields[fieldName] = output.Param.Access; } } } @@ -97,13 +97,13 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon } /// - /// Creates output parameter wrappers from a set of field names, all with item access. + /// Creates output parameter wrappers from field names and their corresponding access types. /// - private List CreateOutputParamsFromFieldNames(HashSet fieldNames) => - fieldNames - .OrderBy(name => name) - .Select(fieldName => CreateOutputParamByKeyValue(fieldName, null, GH_ParamAccess.item)) - .ToList(); + /// Dictionary mapping field names to their required parameter access types. + /// List of output parameter wrappers with correct access types. + private List CreateOutputParamsFromFieldNames( + IReadOnlyDictionary fieldAccessTypes + ) => fieldAccessTypes.Select(kvp => CreateOutputParamByKeyValue(kvp.Key, null, kvp.Value)).ToList(); /// /// Deconstructs a single object into its constituent fields/properties. @@ -157,7 +157,10 @@ public class DeconstructSpeckleParam : GH_Component, IGH_VariableParameterCompon SpecklePropertyGroupGoo propGroup => propGroup, _ => value }; - objectOutputs.Add(CreateOutputParamByKeyValue(key, outputValue, GH_ParamAccess.item)); + + // determine access type based on the value + GH_ParamAccess access = outputValue is IList ? GH_ParamAccess.list : GH_ParamAccess.item; + objectOutputs.Add(CreateOutputParamByKeyValue(key, outputValue, access)); } return objectOutputs; diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs new file mode 100644 index 000000000..142131fe9 --- /dev/null +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs @@ -0,0 +1,168 @@ +using System.Collections; +using System.Runtime.InteropServices; +using Grasshopper.Kernel; +using Speckle.Connectors.GrasshopperShared.Parameters; +using Speckle.Connectors.GrasshopperShared.Properties; + +namespace Speckle.Connectors.GrasshopperShared.Components.Objects; + +// NOTE: Why all this madness? The properties passthrough node is restrictive in output type being uniform +// Properties whose values were lists were not being displayed and couldn't be given back to the user as native +// lists. This was (it seemed) the only viable approach. +// [CNX-2364](https://linear.app/speckle/issue/CNX-2364/grasshopper-properties-passthrough-does-not-handle-list-values) + +[Guid("474F4699-D641-444F-BC78-E22AAF40B240")] +public class ExpandSpeckleProperties : GH_Component, IGH_VariableParameterComponent +{ + public ExpandSpeckleProperties() + : base( + "Expand Properties", + "eP", + "Expands Speckle Properties into their individual outputs with correct access types", + ComponentCategories.PRIMARY_RIBBON, + ComponentCategories.OBJECTS + ) { } + + public override Guid ComponentGuid => GetType().GUID; + protected override Bitmap Icon => Resources.speckle_properties_expand; + public override GH_Exposure Exposure => GH_Exposure.secondary; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddParameter( + new SpecklePropertyGroupParam(), + "Properties", + "P", + "Speckle Properties to expand", + GH_ParamAccess.item + ); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) { } + + protected override void SolveInstance(IGH_DataAccess da) + { + SpecklePropertyGroupGoo? properties = null; + if (!da.GetData(0, ref properties) || properties?.Value == null) + { + return; + } + + Name = $"Properties ({properties.Value.Count})"; + NickName = Name; + + var outputParams = new List(); + + foreach (var key in properties.Value.Keys) + { + ISpecklePropertyGoo value = properties.Value[key]; + object? outputValue = value switch + { + SpecklePropertyGoo prop => prop.Value, + SpecklePropertyGroupGoo propGroup => propGroup, + _ => value + }; + + var param = new SpeckleOutputParam + { + Name = key, + NickName = key, + Access = outputValue is IList ? GH_ParamAccess.list : GH_ParamAccess.item + }; + + outputParams.Add(new OutputParamWrapper(param, outputValue)); + } + + // handle parameter creation/update (only on first iteration) + if (da.Iteration == 0 && OutputMismatch(outputParams)) + { + OnPingDocument()?.ScheduleSolution(5, _ => CreateOutputs(outputParams)); + } + else + { + for (int i = 0; i < outputParams.Count; i++) + { + var outputParam = outputParams[i]; + switch (outputParam.Param.Access) + { + case GH_ParamAccess.item: + da.SetData(i, outputParam.Value); + break; + case GH_ParamAccess.list: + da.SetDataList(i, outputParam.Value as IList ?? new List()); + break; + } + } + } + } + + /// + /// Creates output parameters based on discovered properties. + /// + private void CreateOutputs(List outputParams) + { + // remove all existing output parameters + while (Params.Output.Count > 0) + { + Params.UnregisterOutputParameter(Params.Output[^1]); + } + + // add new output parameters + foreach (var newParam in outputParams) + { + var param = new SpeckleOutputParam + { + Name = newParam.Param.Name, + NickName = newParam.Param.NickName, + MutableNickName = false, + Access = newParam.Param.Access + }; + Params.RegisterOutputParam(param); + } + + // notify gh of parameter changes + Params.OnParametersChanged(); + VariableParameterMaintenance(); + ExpireSolution(false); + } + + /// + /// Determines if the current output parameter structure differs from the required structure. + /// + private bool OutputMismatch(List outputParams) + { + if (Params.Output.Count != outputParams.Count) + { + return true; + } + + for (int i = 0; i < outputParams.Count; i++) + { + var newParam = outputParams[i]; + var oldParam = Params.Output[i]; + if ( + oldParam.NickName != newParam.Param.NickName + || oldParam.Name != newParam.Param.Name + || oldParam.Access != newParam.Param.Access + ) + { + return true; + } + } + + return false; + } + + // IGH_VariableParameterComponent implementation + public bool CanInsertParameter(GH_ParameterSide side, int index) => false; + + public bool CanRemoveParameter(GH_ParameterSide side, int index) => false; + + public void VariableParameterMaintenance() { } + + public IGH_Param CreateParameter(GH_ParameterSide side, int index) => new SpeckleOutputParam(); + + public bool DestroyParameter(GH_ParameterSide side, int index) => side == GH_ParameterSide.Output; +} + +public record OutputParamWrapper(SpeckleOutputParam Param, object? Value); diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpecklePropertiesPassthrough.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpecklePropertiesPassthrough.cs index b01e18dc8..c97d6fa0b 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpecklePropertiesPassthrough.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpecklePropertiesPassthrough.cs @@ -98,13 +98,13 @@ public class SpecklePropertiesPassthrough : SpeckleSolveInstance // validate that keys and values are of valid length if ((Mode == PropertyMode.Merge || Mode == PropertyMode.Replace) && inputKeys.Count != inputValues.Count) { - AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, $"Keys and values are mismatched in length"); + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Keys and values are mismatched in length"); return; } if (Mode == PropertyMode.Remove && (inputKeys.Count == 0 || inputValues.Count > 0)) { - AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, $"Only input keys to remove"); + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Only input keys to remove"); return; } diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.Designer.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.Designer.cs index 3fadba022..45398d6c6 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.Designer.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.Designer.cs @@ -330,10 +330,22 @@ namespace Speckle.Connectors.GrasshopperShared.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap speckle_properties_properties { + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap speckle_properties_expand + { + get + { + object obj = ResourceManager.GetObject("speckle_properties_expand", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap speckle_properties_properties { get { object obj = ResourceManager.GetObject("speckle_properties_properties", resourceCulture); return ((System.Drawing.Bitmap)(obj)); diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.resx b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.resx index a83e57f2e..89900812f 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.resx +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Properties/Resources.resx @@ -208,4 +208,7 @@ ..\Resources\speckle_state_access.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\speckle_properties_expand.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Resources/speckle_properties_expand.jpg b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Resources/speckle_properties_expand.jpg new file mode 100644 index 0000000000000000000000000000000000000000..224c2f39e6fb3684228e533e5d390e7db4b6f006 GIT binary patch literal 1608 zcmbu3c|6k%9LImNF+6iDw}eGWC~_rpl+g@@6ggwXl6c6XIUiTlvZq6&xv$7AiOHC& z=W&e8ef3b-h&_%(*n`*eNB{Tz{`GymKcCO{!x`dy0)#PU=4Jp01Om{z3vfmOlfCPg zW-sKI0`| zfwSr3GPvd=AFk21Wr}?+)t~=tevMRo@_FJ+s6`Moj04QfEqZc*iJ9509j`~OOT`-F z<71s&>kTUdiv;>oeHT4qdn^4te3hDH(qrBiO>n%e_qGn}R9G?Bej3kgyCq-rm3&>U zn2dgKyx0^M5o^f-jtdFTr;Mph#5w9rMQ=P0#*>Z2m=1AkD;X~2A#Q;=4dH&&zol(& zal`oICRida&(e7k|G-7f=2*B>EK|;+T5*B*ZZ7?XV$U;8~H;-ko*= z+i^YyTl#6=3{?mDqB_JeA`wHqlZn&nZj>L=m1E+3TE;7u(Vq@0Y-9xYty6`5>T9)u(BY>Q11$S5ZnK0K(!pt^Hp8;M*s<(@?5ni)Q`tBv zK@q8F1HB(eL+ZsE#?r&nO2~!eCp)3)^cD^vC97H1P}h_0mm01?mnwV?Q0tbV zvAin>P&3;$|EgjzNi$p3Sb_vhrIL&p^Zc#8eUC%G*lOWtq+6VgHLKw&iFya~uZ;XN zq8 z@tK!Qm9RB+7#HS^Md>r$BLla){HVd_aQ$&Ys|j_La&BOC$4O`10)k`MpuJy<)r(8P z@;6aBM;!PhT#4b*8k6n|+*l8Ku^6n~;Th5Iu~YK$<3eJ1X-{)!UR3|kb+?wUqfOQJ zjk9#jA%kO~j58P;OA`N$d_umqjs9#FhT!-dEZ&;H=Q&HI)ghUicgTzqD+_T(g|F>I zejZD)*2*G=(XVZG%VP)vftb|RQZk|)N8|cVC!2e}ySH|^32PNi zkcW1M1UoVw)z@Oxi?5V$9n%T>E5b!RXFevA-*+0%a`_`%RlOWeEYYv3?QFu5yc(^+ wqSQEbsX9AY9`zj=<(?{8r6@XS(7T~|7RCYaw*(Nb*g#@DY{%^YjLsSU4`+U>Bme*a literal 0 HcmV?d00001 diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems index 2719fbfed..a601f94a3 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Speckle.Connectors.GrasshopperShared.projitems @@ -16,6 +16,7 @@ + From 9ef3768845c1f084a5eb26a68e17ab376ab409ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= <88777268+bjoernsteinhagen@users.noreply.github.com> Date: Tue, 9 Sep 2025 15:09:21 +0200 Subject: [PATCH 11/14] fix: FilterSpeckleObjects material and property key filtering (#1079) --- .../Objects/FilterSpeckleObjects.cs | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/FilterSpeckleObjects.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/FilterSpeckleObjects.cs index 34f6e341e..9069db0d8 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/FilterSpeckleObjects.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/FilterSpeckleObjects.cs @@ -137,7 +137,10 @@ public class FilterSpeckleObjects : GH_Component if (properties is not null) { - foreach (string key in properties.Value.Keys) + // use flattened properties to search ALL nested property keys + // fix for [CNX-2512](https://linear.app/speckle/issue/CNX-2512/filter-objects-material-and-property-key-inputs-dont-work-as-expected) + Dictionary flattenedProps = properties.Flatten(); + foreach (string key in flattenedProps.Keys) { if (MatchesSearchPattern(property, key)) { @@ -155,13 +158,29 @@ public class FilterSpeckleObjects : GH_Component } // filter by material name - if (wrapper is SpeckleGeometryWrapper geoWrapper) + bool materialMatches = true; + if (!string.IsNullOrEmpty(material)) { - if (!MatchesSearchPattern(material, geoWrapper.Material?.Name ?? "")) + materialMatches = false; + + if (wrapper is SpeckleGeometryWrapper geoWrapper) { - removedObjects.Add(wrapper); - continue; + materialMatches = MatchesSearchPattern(material, geoWrapper.Material?.Name ?? ""); } + else if (wrapper is SpeckleDataObjectWrapper dataObjWrapper) + { + // check if ANY geometry in the data object has a matching material (not sure about this...) + // fix for [CNX-2512](https://linear.app/speckle/issue/CNX-2512/filter-objects-material-and-property-key-inputs-dont-work-as-expected) + materialMatches = dataObjWrapper.Geometries.Any(geo => + MatchesSearchPattern(material, geo.Material?.Name ?? "") + ); + } + } + + if (!materialMatches) + { + removedObjects.Add(wrapper); + continue; } // filter by application id From a42c8bd825ebe5533fb68a1da9b26af315a07446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= <88777268+bjoernsteinhagen@users.noreply.github.com> Date: Wed, 10 Sep 2025 17:48:13 +0200 Subject: [PATCH 12/14] fix: early return and safety guard to ExpandSpeckleProperties parameter creation (#1083) --- .../Components/Objects/ExpandSpeckleProperties.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs index 142131fe9..97bc3e51d 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/ExpandSpeckleProperties.cs @@ -77,8 +77,10 @@ public class ExpandSpeckleProperties : GH_Component, IGH_VariableParameterCompon if (da.Iteration == 0 && OutputMismatch(outputParams)) { OnPingDocument()?.ScheduleSolution(5, _ => CreateOutputs(outputParams)); + return; // exit early } - else + // only set data if we have the correct parameter structure + if (Params.Output.Count == outputParams.Count) { for (int i = 0; i < outputParams.Count; i++) { From fa1a6d0ac2ea4543351ef2a5fa7a22ee897a4705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= <88777268+bjoernsteinhagen@users.noreply.github.com> Date: Wed, 10 Sep 2025 17:53:37 +0200 Subject: [PATCH 13/14] fix: catch non-fatal exceptions when extracting workset properties from linked models (#1085) Co-authored-by: Claire Kuang --- .../ToSpeckle/Properties/ClassPropertiesExtractor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Properties/ClassPropertiesExtractor.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Properties/ClassPropertiesExtractor.cs index a094b716b..5d53c046f 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Properties/ClassPropertiesExtractor.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Properties/ClassPropertiesExtractor.cs @@ -61,7 +61,7 @@ public class ClassPropertiesExtractor worksetName = workset?.Name ?? "Unknown Workset"; _worksetCache[worksetId.Value] = worksetName; } - catch (Exception ex) when (ex.IsFatal()) + catch (Exception ex) when (!ex.IsFatal()) { // fallback: if we can't get the workset for any reason (e.g., workset doesn't exist), // provide a safe default instead of crashing (I don't think a workset name prop is cause for a fail!) From b695a95032b04810718991f6ae0a756ee5fee3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Steinhagen?= <88777268+bjoernsteinhagen@users.noreply.github.com> Date: Wed, 10 Sep 2025 18:07:22 +0200 Subject: [PATCH 14/14] fix(grasshopper): clear `Base.id` to force serializer recomputation of mutations (#1084) * fix: clear `Base.id` to force serializer recomputation of mutations * fix: same treatment for blocks --------- Co-authored-by: Claire Kuang --- .../Objects/SpeckleBlockDefinitionPassthrough.cs | 7 ++++++- .../Components/Objects/SpeckleBlockInstancePassthrough.cs | 8 ++++++-- .../Components/Objects/SpeckleDataObjectPassthrough.cs | 1 + .../Components/Objects/SpeckleGeometryPassthrough.cs | 1 + 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockDefinitionPassthrough.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockDefinitionPassthrough.cs index 243b08bcd..c46e04339 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockDefinitionPassthrough.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockDefinitionPassthrough.cs @@ -84,7 +84,12 @@ public class SpeckleBlockDefinitionPassthrough() // process the definition // deep copy so we don't mutate the object - SpeckleBlockDefinitionWrapperGoo result = inputDefinition != null ? new(inputDefinition.Value.DeepCopy()) : new(); + SpeckleBlockDefinitionWrapperGoo result = new(); + if (inputDefinition != null) + { + result = new SpeckleBlockDefinitionWrapperGoo(inputDefinition.Value.DeepCopy()); + result.Value.Base.id = null; // ⚠️ TODO: Co-ordinate with SDK. We're having to do this otherwise the serializer won't recompute mutated objects + } // process geometry if (inputObjects.Count > 0) diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockInstancePassthrough.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockInstancePassthrough.cs index 116405c72..44fbb4e41 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockInstancePassthrough.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleBlockInstancePassthrough.cs @@ -151,8 +151,12 @@ public class SpeckleBlockInstancePassthrough() // process the instance // deep copy so we don't mutate the incoming object - SpeckleBlockInstanceWrapperGoo result = - inputInstance != null ? new((SpeckleBlockInstanceWrapper)inputInstance.Value.DeepCopy()) : new(); + SpeckleBlockInstanceWrapperGoo result = new(); + if (inputInstance != null) + { + result = new SpeckleBlockInstanceWrapperGoo((SpeckleBlockInstanceWrapper)inputInstance.Value.DeepCopy()); + result.Value.Base.id = null; // ⚠️ TODO: Co-ordinate with SDK. We're having to do this otherwise the serializer won't recompute mutated objects + } // process definition if (inputDefinition != null) diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleDataObjectPassthrough.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleDataObjectPassthrough.cs index dd44ed939..7b438b533 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleDataObjectPassthrough.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleDataObjectPassthrough.cs @@ -98,6 +98,7 @@ public class SpeckleDataObjectPassthrough() if (da.GetData(0, ref inputObject)) { result = inputObject.Value.DeepCopy(); + result.Base.id = null; // ⚠️ TODO: Co-ordinate with SDK. We're having to do this otherwise the serializer won't recompute mutated objects } List inputGeometry = new(); diff --git a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleGeometryPassthrough.cs b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleGeometryPassthrough.cs index b6041cbec..15bb4fadd 100644 --- a/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleGeometryPassthrough.cs +++ b/Connectors/Rhino/Speckle.Connectors.GrasshopperShared/Components/Objects/SpeckleGeometryPassthrough.cs @@ -125,6 +125,7 @@ public class SpeckleGeometryPassthrough() if (inputObject?.ToSpeckleGeometryWrapper() is SpeckleGeometryWrapper gooWrapper) { result = gooWrapper.DeepCopy(); + result.Base.id = null; // ⚠️ TODO: Co-ordinate with SDK. We're having to do this otherwise the serializer won't recompute mutated objects } else {