diff --git a/app/MindWork AI Studio/Settings/EmbeddingProvider.cs b/app/MindWork AI Studio/Settings/EmbeddingProvider.cs index 86b0eb3e..1b82c1bb 100644 --- a/app/MindWork AI Studio/Settings/EmbeddingProvider.cs +++ b/app/MindWork AI Studio/Settings/EmbeddingProvider.cs @@ -136,18 +136,18 @@ public sealed record EmbeddingProvider( { return $$""" CONFIG["EMBEDDING_PROVIDERS"][#CONFIG["EMBEDDING_PROVIDERS"]+1] = { - ["Id"] = "{{EscapeLuaString(NormalizeId(this.Id))}}", - ["Name"] = "{{EscapeLuaString(this.Name)}}", - ["UsedLLMProvider"] = "{{this.UsedLLMProvider}}", + ["Id"] = "{{LuaTools.EscapeLuaString(NormalizeId(this.Id))}}", + ["Name"] = "{{LuaTools.EscapeLuaString(this.Name)}}", + ["UsedLLMProvider"] = "{{this.UsedLLMProvider}}", - ["Host"] = "{{this.Host}}", - ["Hostname"] = "{{EscapeLuaString(this.Hostname)}}", - ["Model"] = { - ["Id"] = "{{EscapeLuaString(this.Model.Id)}}", - ["DisplayName"] = "{{EscapeLuaString(this.Model.DisplayName ?? string.Empty)}}", - }, - } - """; + ["Host"] = "{{this.Host}}", + ["Hostname"] = "{{LuaTools.EscapeLuaString(this.Hostname)}}", + ["Model"] = { + ["Id"] = "{{LuaTools.EscapeLuaString(this.Model.Id)}}", + ["DisplayName"] = "{{LuaTools.EscapeLuaString(this.Model.DisplayName ?? string.Empty)}}", + }, + } + """; } private static string NormalizeId(string? id) @@ -158,15 +158,4 @@ public sealed record EmbeddingProvider( return Guid.NewGuid().ToString(); } - private static string EscapeLuaString(string? value) - { - if (string.IsNullOrEmpty(value)) - return string.Empty; - - return value - .Replace("\\", "\\\\") - .Replace("\"", "\\\"") - .Replace("\r", "\\r") - .Replace("\n", "\\n"); - } } diff --git a/app/MindWork AI Studio/Settings/Provider.cs b/app/MindWork AI Studio/Settings/Provider.cs index ca878aac..2e7bd379 100644 --- a/app/MindWork AI Studio/Settings/Provider.cs +++ b/app/MindWork AI Studio/Settings/Provider.cs @@ -201,20 +201,20 @@ public sealed record Provider( return $$""" CONFIG["LLM_PROVIDERS"][#CONFIG["LLM_PROVIDERS"]+1] = { - ["Id"] = "{{EscapeLuaString(NormalizeId(this.Id))}}", - ["InstanceName"] = "{{EscapeLuaString(this.InstanceName)}}", - ["UsedLLMProvider"] = "{{this.UsedLLMProvider}}", - - ["Host"] = "{{this.Host}}", - ["Hostname"] = "{{EscapeLuaString(this.Hostname)}}", - {{hfInferenceProviderLine}} - ["AdditionalJsonApiParameters"] = "{{EscapeLuaString(this.AdditionalJsonApiParameters)}}", - ["Model"] = { - ["Id"] = "{{EscapeLuaString(this.Model.Id)}}", - ["DisplayName"] = "{{EscapeLuaString(this.Model.DisplayName ?? string.Empty)}}", - }, - } - """; + ["Id"] = "{{LuaTools.EscapeLuaString(NormalizeId(this.Id))}}", + ["InstanceName"] = "{{LuaTools.EscapeLuaString(this.InstanceName)}}", + ["UsedLLMProvider"] = "{{this.UsedLLMProvider}}", + + ["Host"] = "{{this.Host}}", + ["Hostname"] = "{{LuaTools.EscapeLuaString(this.Hostname)}}", + {{hfInferenceProviderLine}} + ["AdditionalJsonApiParameters"] = "{{LuaTools.EscapeLuaString(this.AdditionalJsonApiParameters)}}", + ["Model"] = { + ["Id"] = "{{LuaTools.EscapeLuaString(this.Model.Id)}}", + ["DisplayName"] = "{{LuaTools.EscapeLuaString(this.Model.DisplayName ?? string.Empty)}}", + }, + } + """; } private static string NormalizeId(string? id) @@ -225,15 +225,4 @@ public sealed record Provider( return Guid.NewGuid().ToString(); } - private static string EscapeLuaString(string? value) - { - if (string.IsNullOrEmpty(value)) - return string.Empty; - - return value - .Replace("\\", "\\\\") - .Replace("\"", "\\\"") - .Replace("\r", "\\r") - .Replace("\n", "\\n"); - } } diff --git a/app/MindWork AI Studio/Settings/TranscriptionProvider.cs b/app/MindWork AI Studio/Settings/TranscriptionProvider.cs index db137ca9..9c4bf7e9 100644 --- a/app/MindWork AI Studio/Settings/TranscriptionProvider.cs +++ b/app/MindWork AI Studio/Settings/TranscriptionProvider.cs @@ -136,18 +136,18 @@ public sealed record TranscriptionProvider( { return $$""" CONFIG["TRANSCRIPTION_PROVIDERS"][#CONFIG["TRANSCRIPTION_PROVIDERS"]+1] = { - ["Id"] = "{{EscapeLuaString(NormalizeId(this.Id))}}", - ["Name"] = "{{EscapeLuaString(this.Name)}}", - ["UsedLLMProvider"] = "{{this.UsedLLMProvider}}", + ["Id"] = "{{LuaTools.EscapeLuaString(NormalizeId(this.Id))}}", + ["Name"] = "{{LuaTools.EscapeLuaString(this.Name)}}", + ["UsedLLMProvider"] = "{{this.UsedLLMProvider}}", - ["Host"] = "{{this.Host}}", - ["Hostname"] = "{{EscapeLuaString(this.Hostname)}}", - ["Model"] = { - ["Id"] = "{{EscapeLuaString(this.Model.Id)}}", - ["DisplayName"] = "{{EscapeLuaString(this.Model.DisplayName ?? string.Empty)}}", - }, - } - """; + ["Host"] = "{{this.Host}}", + ["Hostname"] = "{{LuaTools.EscapeLuaString(this.Hostname)}}", + ["Model"] = { + ["Id"] = "{{LuaTools.EscapeLuaString(this.Model.Id)}}", + ["DisplayName"] = "{{LuaTools.EscapeLuaString(this.Model.DisplayName ?? string.Empty)}}", + }, + } + """; } private static string NormalizeId(string? id) @@ -158,15 +158,4 @@ public sealed record TranscriptionProvider( return Guid.NewGuid().ToString(); } - private static string EscapeLuaString(string? value) - { - if (string.IsNullOrEmpty(value)) - return string.Empty; - - return value - .Replace("\\", "\\\\") - .Replace("\"", "\\\"") - .Replace("\r", "\\r") - .Replace("\n", "\\n"); - } } diff --git a/app/MindWork AI Studio/Tools/LuaTools.cs b/app/MindWork AI Studio/Tools/LuaTools.cs new file mode 100644 index 00000000..0df50cd0 --- /dev/null +++ b/app/MindWork AI Studio/Tools/LuaTools.cs @@ -0,0 +1,16 @@ +namespace AIStudio.Tools; + +public static class LuaTools +{ + public static string EscapeLuaString(string? value) + { + if (string.IsNullOrEmpty(value)) + return string.Empty; + + return value + .Replace("\\", "\\\\") + .Replace("\"", "\\\"") + .Replace("\r", "\\r") + .Replace("\n", "\\n"); + } +}