diff --git a/src/Infrastructure/BotSharp.Abstraction/Plugins/Models/PluginMenuDef.cs b/src/Infrastructure/BotSharp.Abstraction/Plugins/Models/PluginMenuDef.cs
index 77205aa9c..f347fb845 100644
--- a/src/Infrastructure/BotSharp.Abstraction/Plugins/Models/PluginMenuDef.cs
+++ b/src/Infrastructure/BotSharp.Abstraction/Plugins/Models/PluginMenuDef.cs
@@ -14,7 +14,7 @@ public class PluginMenuDef(string label, string? link = null, string? icon = nul
public string? Link { get; set; } = link;
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
- public string? EmbedUrl { get; set; }
+ public EmbeddingData? EmbeddingInfo { get; set; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? IsHeader { get; set; }
@@ -33,3 +33,35 @@ public override string ToString()
return $"{Label} {Link} {Weight}";
}
}
+
+public class EmbeddingData
+{
+ ///
+ /// Embedding source, e.g., tableau
+ ///
+ public string Source { get; set; } = default!;
+
+ ///
+ /// Embedding url
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public string? Url { get; set; }
+
+ ///
+ /// Html tag
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public string? HtmlTag { get; set; }
+
+ ///
+ /// Javascript script src
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public string? ScriptSrc { get; set; }
+
+ ///
+ /// Javascript script type, e.g., module
+ ///
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
+ public string? ScriptType { get; set; }
+}