diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring.sln b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring.sln
new file mode 100644
index 000000000000..9833cb99fc3c
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring.sln
@@ -0,0 +1,50 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29709.97
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Security.Copilot.SkillsetAuthoring", "src\Microsoft.Security.Copilot.SkillsetAuthoring.csproj", "{28FF4005-4467-4E36-92E7-DEA27DEB1519}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Security.Copilot.SkillsetAuthoring.Tests", "tests\Microsoft.Security.Copilot.SkillsetAuthoring.Tests.csproj", "{1F1CD1D4-9932-4B73-99D8-C252A67D4B46}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A97F4B90-2591-4689-B1F8-5F21FE6D6CAE}
+ EndGlobalSection
+EndGlobal
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Configuration.json b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Configuration.json
new file mode 100644
index 000000000000..01f8d3761ea1
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Configuration.json
@@ -0,0 +1,10 @@
+{
+ "output-folder": ".",
+ "namespace": "Microsoft.Security.Copilot.SkillsetAuthoring",
+ "library-name": "Microsoft.Security.Copilot.SkillsetAuthoring",
+ "shared-source-folders": [
+ "../TempTypeSpecFiles/TypeSpec/node_modules/@autorest/csharp/Generator.Shared",
+ "../TempTypeSpecFiles/TypeSpec/node_modules/@autorest/csharp/Azure.Core.Shared"
+ ],
+ "use-overloads-between-protocol-and-convenience": true
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Docs/SkillContextClient.xml b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Docs/SkillContextClient.xml
new file mode 100644
index 000000000000..60d49c8be646
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Docs/SkillContextClient.xml
@@ -0,0 +1,3185 @@
+
+
+
+
+
+This sample shows how to call GetSkillContextAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetSkillContextAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillContext with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetSkillContext("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillContextAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetSkillContextAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("namespace").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("disaplyName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("icon").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("category").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("catalogScope").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("enabled").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("creatorUserId").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("ownersGroupId").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("format").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("altName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("dependencies")[0].GetProperty("skillsetName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("dependencies")[0].GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("examplePrompts")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("placeholderValue").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("enum")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("outputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("outputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("outputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("promptAlignedName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("settings").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillSummaryMetadata").GetProperty("summaryStartMessage").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillSummaryMetadata").GetProperty("summaryEndMessage").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("enableVariableSubstitutionInCompose").ToString());
+Console.WriteLine(result.GetProperty("id").ToString());
+Console.WriteLine(result.GetProperty("featureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("inputs").GetProperty("").GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("inputs").GetProperty("").GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("inputs").GetProperty("").GetProperty("valueStoredAsJson").ToString());
+Console.WriteLine(result.GetProperty("properties").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("startTime").ToString());
+Console.WriteLine(result.GetProperty("tenantId").ToString());
+Console.WriteLine(result.GetProperty("userId").ToString());
+Console.WriteLine(result.GetProperty("sessionId").ToString());
+Console.WriteLine(result.GetProperty("promptId").ToString());
+Console.WriteLine(result.GetProperty("evaluationId").ToString());
+Console.WriteLine(result.GetProperty("complianceFlags").GetProperty("recordLog").ToString());
+Console.WriteLine(result.GetProperty("complianceFlags").GetProperty("customerOptedInToEyesOnProductImprovement").ToString());
+Console.WriteLine(result.GetProperty("complianceFlags").GetProperty("customerOptedInToModelImprovement").ToString());
+Console.WriteLine(result.GetProperty("workspaceId").ToString());
+Console.WriteLine(result.GetProperty("source").ToString());
+Console.WriteLine(result.GetProperty("invocationType").ToString());
+Console.WriteLine(result.GetProperty("invocationCategory").ToString());
+Console.WriteLine(result.GetProperty("userName").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillContext with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetSkillContext("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("namespace").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("disaplyName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("icon").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("category").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("catalogScope").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("enabled").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("creatorUserId").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillset").GetProperty("ownersGroupId").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("format").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("altName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("dependencies")[0].GetProperty("skillsetName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("dependencies")[0].GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("examplePrompts")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("placeholderValue").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("inputs")[0].GetProperty("enum")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("outputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("outputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("outputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("promptAlignedName").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("settings").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillSummaryMetadata").GetProperty("summaryStartMessage").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("skillSummaryMetadata").GetProperty("summaryEndMessage").ToString());
+Console.WriteLine(result.GetProperty("descriptor").GetProperty("enableVariableSubstitutionInCompose").ToString());
+Console.WriteLine(result.GetProperty("id").ToString());
+Console.WriteLine(result.GetProperty("featureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("inputs").GetProperty("").GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("inputs").GetProperty("").GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("inputs").GetProperty("").GetProperty("valueStoredAsJson").ToString());
+Console.WriteLine(result.GetProperty("properties").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("startTime").ToString());
+Console.WriteLine(result.GetProperty("tenantId").ToString());
+Console.WriteLine(result.GetProperty("userId").ToString());
+Console.WriteLine(result.GetProperty("sessionId").ToString());
+Console.WriteLine(result.GetProperty("promptId").ToString());
+Console.WriteLine(result.GetProperty("evaluationId").ToString());
+Console.WriteLine(result.GetProperty("complianceFlags").GetProperty("recordLog").ToString());
+Console.WriteLine(result.GetProperty("complianceFlags").GetProperty("customerOptedInToEyesOnProductImprovement").ToString());
+Console.WriteLine(result.GetProperty("complianceFlags").GetProperty("customerOptedInToModelImprovement").ToString());
+Console.WriteLine(result.GetProperty("workspaceId").ToString());
+Console.WriteLine(result.GetProperty("source").ToString());
+Console.WriteLine(result.GetProperty("invocationType").ToString());
+Console.WriteLine(result.GetProperty("invocationCategory").ToString());
+Console.WriteLine(result.GetProperty("userName").ToString());
+]]>
+
+
+
+
+This sample shows how to call InvokeSkillAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var invokeSkill = new InvokeSkillRequest("", new Dictionary
+{
+ ["key"] = new SkillVariable(true)
+{
+ Type = "",
+ Value = "",
+ },
+})
+{
+ SkillsetName = "",
+};
+var result = await client.InvokeSkillAsync("", invokeSkill);
+]]>
+
+
+
+
+This sample shows how to call InvokeSkill with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var invokeSkill = new InvokeSkillRequest("", new Dictionary
+{
+ ["key"] = new SkillVariable(true)
+{
+ Type = "",
+ Value = "",
+ },
+})
+{
+ SkillsetName = "",
+};
+var result = client.InvokeSkill("", invokeSkill);
+]]>
+
+
+
+
+This sample shows how to call InvokeSkillAsync with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillName = "",
+ inputs = new {
+ key = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ valueStoredAsJson = true,
+ },
+ },
+};
+
+Response response = await client.InvokeSkillAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceContent").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceType").ToString());
+Console.WriteLine(result.GetProperty("suggestedPrompts")[0].GetProperty("prompt").ToString());
+Console.WriteLine(result.GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("skillInputs").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("outputLanguage").ToString());
+Console.WriteLine(result.GetProperty("outputType").ToString());
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+This sample shows how to call InvokeSkillAsync with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillsetName = "",
+ skillName = "",
+ inputs = new {
+ key = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+ },
+};
+
+Response response = await client.InvokeSkillAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceContent").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceType").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceSerializedData").ToString());
+Console.WriteLine(result.GetProperty("suggestedPrompts")[0].GetProperty("prompt").ToString());
+Console.WriteLine(result.GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("skillInputs").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("outputLanguage").ToString());
+Console.WriteLine(result.GetProperty("outputType").ToString());
+Console.WriteLine(result.GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+
+
+
+
+This sample shows how to call InvokeSkill with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillName = "",
+ inputs = new {
+ key = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ valueStoredAsJson = true,
+ },
+ },
+};
+
+Response response = client.InvokeSkill("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceContent").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceType").ToString());
+Console.WriteLine(result.GetProperty("suggestedPrompts")[0].GetProperty("prompt").ToString());
+Console.WriteLine(result.GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("skillInputs").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("outputLanguage").ToString());
+Console.WriteLine(result.GetProperty("outputType").ToString());
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+This sample shows how to call InvokeSkill with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillsetName = "",
+ skillName = "",
+ inputs = new {
+ key = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+ },
+};
+
+Response response = client.InvokeSkill("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceContent").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceType").ToString());
+Console.WriteLine(result.GetProperty("sources")[0].GetProperty("sourceSerializedData").ToString());
+Console.WriteLine(result.GetProperty("suggestedPrompts")[0].GetProperty("prompt").ToString());
+Console.WriteLine(result.GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("skillInputs").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("outputLanguage").ToString());
+Console.WriteLine(result.GetProperty("outputType").ToString());
+Console.WriteLine(result.GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptorAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var skillName = "";
+var result = await client.GetSkillDescriptorAsync("", skillName);
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptor with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var skillName = "";
+var result = client.GetSkillDescriptor("", skillName);
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptorAsync with required parameters and request content and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = "";
+
+Response response = await client.GetSkillDescriptorAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("skillset").GetProperty("namespace").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("disaplyName").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("icon").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("category").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("catalogScope").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("enabled").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("creatorUserId").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("ownersGroupId").ToString());
+Console.WriteLine(result.GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("format").ToString());
+Console.WriteLine(result.GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("altName").ToString());
+Console.WriteLine(result.GetProperty("dependencies")[0].GetProperty("skillsetName").ToString());
+Console.WriteLine(result.GetProperty("dependencies")[0].GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("examplePrompts")[0].ToString());
+Console.WriteLine(result.GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("placeholderValue").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("enum")[0].ToString());
+Console.WriteLine(result.GetProperty("outputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("outputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("outputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("promptAlignedName").ToString());
+Console.WriteLine(result.GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("settings").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("skillSummaryMetadata").GetProperty("summaryStartMessage").ToString());
+Console.WriteLine(result.GetProperty("skillSummaryMetadata").GetProperty("summaryEndMessage").ToString());
+Console.WriteLine(result.GetProperty("enableVariableSubstitutionInCompose").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptor with required parameters and request content and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = "";
+
+Response response = client.GetSkillDescriptor("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("skillset").GetProperty("namespace").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("disaplyName").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("icon").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("category").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("catalogScope").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("enabled").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("creatorUserId").ToString());
+Console.WriteLine(result.GetProperty("skillset").GetProperty("ownersGroupId").ToString());
+Console.WriteLine(result.GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("format").ToString());
+Console.WriteLine(result.GetProperty("displayName").ToString());
+Console.WriteLine(result.GetProperty("altName").ToString());
+Console.WriteLine(result.GetProperty("dependencies")[0].GetProperty("skillsetName").ToString());
+Console.WriteLine(result.GetProperty("dependencies")[0].GetProperty("skillName").ToString());
+Console.WriteLine(result.GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("examplePrompts")[0].ToString());
+Console.WriteLine(result.GetProperty("hidden").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("required").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("placeholderValue").ToString());
+Console.WriteLine(result.GetProperty("inputs")[0].GetProperty("enum")[0].ToString());
+Console.WriteLine(result.GetProperty("outputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("outputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result.GetProperty("outputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result.GetProperty("promptAlignedName").ToString());
+Console.WriteLine(result.GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("userVisibility").ToString());
+Console.WriteLine(result.GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result.GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result.GetProperty("settings").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("skillSummaryMetadata").GetProperty("summaryStartMessage").ToString());
+Console.WriteLine(result.GetProperty("skillSummaryMetadata").GetProperty("summaryEndMessage").ToString());
+Console.WriteLine(result.GetProperty("enableVariableSubstitutionInCompose").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptorsAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetSkillDescriptorsAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptors with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetSkillDescriptors("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptorsAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetSkillDescriptorsAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("namespace").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("disaplyName").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("icon").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("category").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("catalogScope").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("enabled").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("hidden").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("userVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("creatorUserId").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("ownersGroupId").ToString());
+Console.WriteLine(result[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("format").ToString());
+Console.WriteLine(result[0].GetProperty("displayName").ToString());
+Console.WriteLine(result[0].GetProperty("altName").ToString());
+Console.WriteLine(result[0].GetProperty("dependencies")[0].GetProperty("skillsetName").ToString());
+Console.WriteLine(result[0].GetProperty("dependencies")[0].GetProperty("skillName").ToString());
+Console.WriteLine(result[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("examplePrompts")[0].ToString());
+Console.WriteLine(result[0].GetProperty("hidden").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("required").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("placeholderValue").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("enum")[0].ToString());
+Console.WriteLine(result[0].GetProperty("outputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("outputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("outputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("promptAlignedName").ToString());
+Console.WriteLine(result[0].GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("userVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("settings").GetProperty("").ToString());
+Console.WriteLine(result[0].GetProperty("skillSummaryMetadata").GetProperty("summaryStartMessage").ToString());
+Console.WriteLine(result[0].GetProperty("skillSummaryMetadata").GetProperty("summaryEndMessage").ToString());
+Console.WriteLine(result[0].GetProperty("enableVariableSubstitutionInCompose").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillDescriptors with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetSkillDescriptors("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("namespace").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("disaplyName").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("icon").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("category").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("catalogScope").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("enabled").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("hidden").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("userVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("creatorUserId").ToString());
+Console.WriteLine(result[0].GetProperty("skillset").GetProperty("ownersGroupId").ToString());
+Console.WriteLine(result[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("format").ToString());
+Console.WriteLine(result[0].GetProperty("displayName").ToString());
+Console.WriteLine(result[0].GetProperty("altName").ToString());
+Console.WriteLine(result[0].GetProperty("dependencies")[0].GetProperty("skillsetName").ToString());
+Console.WriteLine(result[0].GetProperty("dependencies")[0].GetProperty("skillName").ToString());
+Console.WriteLine(result[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("examplePrompts")[0].ToString());
+Console.WriteLine(result[0].GetProperty("hidden").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("required").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("placeholderValue").ToString());
+Console.WriteLine(result[0].GetProperty("inputs")[0].GetProperty("enum")[0].ToString());
+Console.WriteLine(result[0].GetProperty("outputs")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("outputs")[0].GetProperty("type").GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("outputs")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("promptAlignedName").ToString());
+Console.WriteLine(result[0].GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("userVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("settings").GetProperty("").ToString());
+Console.WriteLine(result[0].GetProperty("skillSummaryMetadata").GetProperty("summaryStartMessage").ToString());
+Console.WriteLine(result[0].GetProperty("skillSummaryMetadata").GetProperty("summaryEndMessage").ToString());
+Console.WriteLine(result[0].GetProperty("enableVariableSubstitutionInCompose").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetDescriptorsAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetSkillsetDescriptorsAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetDescriptors with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetSkillsetDescriptors("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetDescriptorsAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetSkillsetDescriptorsAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result[0].GetProperty("namespace").ToString());
+Console.WriteLine(result[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result[0].GetProperty("disaplyName").ToString());
+Console.WriteLine(result[0].GetProperty("icon").ToString());
+Console.WriteLine(result[0].GetProperty("category").ToString());
+Console.WriteLine(result[0].GetProperty("catalogScope").ToString());
+Console.WriteLine(result[0].GetProperty("enabled").ToString());
+Console.WriteLine(result[0].GetProperty("hidden").ToString());
+Console.WriteLine(result[0].GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result[0].GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result[0].GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result[0].GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("userVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("creatorUserId").ToString());
+Console.WriteLine(result[0].GetProperty("ownersGroupId").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetDescriptors with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetSkillsetDescriptors("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result[0].GetProperty("namespace").ToString());
+Console.WriteLine(result[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("descriptionDisplay").ToString());
+Console.WriteLine(result[0].GetProperty("disaplyName").ToString());
+Console.WriteLine(result[0].GetProperty("icon").ToString());
+Console.WriteLine(result[0].GetProperty("category").ToString());
+Console.WriteLine(result[0].GetProperty("catalogScope").ToString());
+Console.WriteLine(result[0].GetProperty("enabled").ToString());
+Console.WriteLine(result[0].GetProperty("hidden").ToString());
+Console.WriteLine(result[0].GetProperty("prerequisites")[0].ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("name").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("label").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("description").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("hintText").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("settingType").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("required").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("defaultValue").ToString());
+Console.WriteLine(result[0].GetProperty("settings")[0].GetProperty("value").ToString());
+Console.WriteLine(result[0].GetProperty("authorization").GetProperty("type").ToString());
+Console.WriteLine(result[0].GetProperty("supportedAuthTypes")[0].ToString());
+Console.WriteLine(result[0].GetProperty("userVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("userVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibilityFeatureFlags")[0].ToString());
+Console.WriteLine(result[0].GetProperty("plannerVisibility").ToString());
+Console.WriteLine(result[0].GetProperty("creatorUserId").ToString());
+Console.WriteLine(result[0].GetProperty("ownersGroupId").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetExecutionContextAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetExecutionContextAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetExecutionContext with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetExecutionContext("");
+]]>
+
+
+
+
+This sample shows how to call GetExecutionContextAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetExecutionContextAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("SessionId").ToString());
+Console.WriteLine(result.GetProperty("PromptId").ToString());
+Console.WriteLine(result.GetProperty("EvaluationId").ToString());
+Console.WriteLine(result.GetProperty("TenantId").ToString());
+Console.WriteLine(result.GetProperty("AccountId").ToString());
+Console.WriteLine(result.GetProperty("WorkspaceId").ToString());
+Console.WriteLine(result.GetProperty("UserName").ToString());
+Console.WriteLine(result.GetProperty("ApplicationId").ToString());
+Console.WriteLine(result.GetProperty("Source").ToString());
+Console.WriteLine(result.GetProperty("UnauthenticatedSourceApplicationId").ToString());
+Console.WriteLine(result.GetProperty("SelectedSkills").ToString());
+Console.WriteLine(result.GetProperty("SelectedSkillsets")[0].ToString());
+Console.WriteLine(result.GetProperty("IsFidelisUser").ToString());
+Console.WriteLine(result.GetProperty("InvocationType").ToString());
+Console.WriteLine(result.GetProperty("InvocationCategory").ToString());
+Console.WriteLine(result.GetProperty("EncryptedUserAccessToken").ToString());
+Console.WriteLine(result.GetProperty("ComplianceFlags").GetProperty("recordLog").ToString());
+Console.WriteLine(result.GetProperty("ComplianceFlags").GetProperty("customerOptedInToEyesOnProductImprovement").ToString());
+Console.WriteLine(result.GetProperty("ComplianceFlags").GetProperty("customerOptedInToModelImprovement").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("ApiVersion").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("Environment").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("IsGPUProxyEnabled").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("GpuProcessingGeo").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("CustomerAllowCrossGeoCompute").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("EcsAllowCrossGeoCompute").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("ContentFilterProperties").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("ReportingProperties").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("PreviewState").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetExecutionContext with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetExecutionContext("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("SessionId").ToString());
+Console.WriteLine(result.GetProperty("PromptId").ToString());
+Console.WriteLine(result.GetProperty("EvaluationId").ToString());
+Console.WriteLine(result.GetProperty("TenantId").ToString());
+Console.WriteLine(result.GetProperty("AccountId").ToString());
+Console.WriteLine(result.GetProperty("WorkspaceId").ToString());
+Console.WriteLine(result.GetProperty("UserName").ToString());
+Console.WriteLine(result.GetProperty("ApplicationId").ToString());
+Console.WriteLine(result.GetProperty("Source").ToString());
+Console.WriteLine(result.GetProperty("UnauthenticatedSourceApplicationId").ToString());
+Console.WriteLine(result.GetProperty("SelectedSkills").ToString());
+Console.WriteLine(result.GetProperty("SelectedSkillsets")[0].ToString());
+Console.WriteLine(result.GetProperty("IsFidelisUser").ToString());
+Console.WriteLine(result.GetProperty("InvocationType").ToString());
+Console.WriteLine(result.GetProperty("InvocationCategory").ToString());
+Console.WriteLine(result.GetProperty("EncryptedUserAccessToken").ToString());
+Console.WriteLine(result.GetProperty("ComplianceFlags").GetProperty("recordLog").ToString());
+Console.WriteLine(result.GetProperty("ComplianceFlags").GetProperty("customerOptedInToEyesOnProductImprovement").ToString());
+Console.WriteLine(result.GetProperty("ComplianceFlags").GetProperty("customerOptedInToModelImprovement").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("ApiVersion").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("Environment").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("IsGPUProxyEnabled").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("GpuProcessingGeo").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("CustomerAllowCrossGeoCompute").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("EcsAllowCrossGeoCompute").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("ContentFilterProperties").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("AzureOpenAIExecutionContext").GetProperty("ReportingProperties").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("PreviewState").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetPromptHistoryAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetPromptHistoryAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetPromptHistory with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetPromptHistory("");
+]]>
+
+
+
+
+This sample shows how to call GetPromptHistoryAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetPromptHistoryAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("prompts")[0].GetProperty("prompt").ToString());
+Console.WriteLine(result.GetProperty("prompts")[0].GetProperty("response").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetPromptHistory with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetPromptHistory("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("prompts")[0].GetProperty("prompt").ToString());
+Console.WriteLine(result.GetProperty("prompts")[0].GetProperty("response").ToString());
+]]>
+
+
+
+
+This sample shows how to call LogProgressAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var logProgressRequest = new LogProgressRequest("")
+{
+ Level = ProgressLogLevel.Error,
+};
+var result = await client.LogProgressAsync("", logProgressRequest);
+]]>
+
+
+
+
+This sample shows how to call LogProgress with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var logProgressRequest = new LogProgressRequest("")
+{
+ Level = ProgressLogLevel.Error,
+};
+var result = client.LogProgress("", logProgressRequest);
+]]>
+
+
+
+
+This sample shows how to call LogProgressAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ message = "",
+};
+
+Response response = await client.LogProgressAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call LogProgressAsync with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ level = "Error",
+ message = "",
+};
+
+Response response = await client.LogProgressAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call LogProgress with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ message = "",
+};
+
+Response response = client.LogProgress("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call LogProgress with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ level = "Error",
+ message = "",
+};
+
+Response response = client.LogProgress("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetSkillOutputAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var evaluationResultOutput = new EvaluationResultOutput(SkillOutputType.Primitive)
+{
+ PrimitiveOutput = new OutputSkillVariable(true, new SkillSource[]
+{
+ new SkillSource("", "", SkillSourceType.Uri)
+{
+ SourceSerializedData = "",
+ }
+ }, new SuggestedPrompt[]
+{
+ new SuggestedPrompt("")
+ }, "", new Dictionary
+{
+ ["key"] = "",
+ }, "", SkillOutputType.Primitive)
+{
+ Type = "",
+ Value = "",
+ },
+ StructuredOutput = new SkillStructuredOutput(new SkillOutputComponent[]
+{
+ new SkillOutputComponent("", "", "", SkillOutputComponentAction.None, true)
+ }),
+ PrimitiveOutputValue = "",
+};
+var result = await client.SetSkillOutputAsync("", evaluationResultOutput);
+]]>
+
+
+
+
+This sample shows how to call SetSkillOutput with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var evaluationResultOutput = new EvaluationResultOutput(SkillOutputType.Primitive)
+{
+ PrimitiveOutput = new OutputSkillVariable(true, new SkillSource[]
+{
+ new SkillSource("", "", SkillSourceType.Uri)
+{
+ SourceSerializedData = "",
+ }
+ }, new SuggestedPrompt[]
+{
+ new SuggestedPrompt("")
+ }, "", new Dictionary
+{
+ ["key"] = "",
+ }, "", SkillOutputType.Primitive)
+{
+ Type = "",
+ Value = "",
+ },
+ StructuredOutput = new SkillStructuredOutput(new SkillOutputComponent[]
+{
+ new SkillOutputComponent("", "", "", SkillOutputComponentAction.None, true)
+ }),
+ PrimitiveOutputValue = "",
+};
+var result = client.SetSkillOutput("", evaluationResultOutput);
+]]>
+
+
+
+
+This sample shows how to call SetSkillOutputAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillOutputType = "Primitive",
+};
+
+Response response = await client.SetSkillOutputAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call SetSkillOutputAsync with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillOutputType = "Primitive",
+ primitiveOutput = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+ structuredOutput = new {
+ components = new[] {
+ new {
+ action = "None",
+ includeInEvalResultAsRawComponent = true,
+ name = "",
+ content = "",
+ description = "",
+ type = "GptOutput",
+ }
+ },
+ },
+ primitiveOutputValue = "",
+};
+
+Response response = await client.SetSkillOutputAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetSkillOutput with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillOutputType = "Primitive",
+};
+
+Response response = client.SetSkillOutput("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call SetSkillOutput with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ skillOutputType = "Primitive",
+ primitiveOutput = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+ structuredOutput = new {
+ components = new[] {
+ new {
+ action = "None",
+ includeInEvalResultAsRawComponent = true,
+ name = "",
+ content = "",
+ description = "",
+ type = "GptOutput",
+ }
+ },
+ },
+ primitiveOutputValue = "",
+};
+
+Response response = client.SetSkillOutput("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetSettingsAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetSkillsetSettingsAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetSettings with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetSkillsetSettings("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetSettingsAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetSkillsetSettingsAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetSettings with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetSkillsetSettings("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("").ToString());
+]]>
+
+
+
+
+This sample shows how to call SetSkillInvocationStartedAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.SetSkillInvocationStartedAsync("");
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetSkillInvocationStarted with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.SetSkillInvocationStarted("");
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetSkillInvocationCompletedAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.SetSkillInvocationCompletedAsync("");
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetSkillInvocationCompleted with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.SetSkillInvocationCompleted("");
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetAuthInfoAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = await client.GetSkillsetAuthInfoAsync("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetAuthInfo with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var result = client.GetSkillsetAuthInfo("");
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetAuthInfoAsync with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = await client.GetSkillsetAuthInfoAsync("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("authLocation").ToString());
+Console.WriteLine(result.GetProperty("authInfo").GetProperty("").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetSkillsetAuthInfo with required parameters and parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+Response response = client.GetSkillsetAuthInfo("", new RequestContext());
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("authLocation").ToString());
+Console.WriteLine(result.GetProperty("authInfo").GetProperty("").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetTokenCredentialAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var getTokenCredentialRequest = new GetTokenCredentialRequest(new string[]
+{
+ ""
+}, TokenCredentialEnum.None)
+{
+ TenantId = "",
+};
+var result = await client.GetTokenCredentialAsync("", getTokenCredentialRequest);
+]]>
+
+
+
+
+This sample shows how to call GetTokenCredential with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var getTokenCredentialRequest = new GetTokenCredentialRequest(new string[]
+{
+ ""
+}, TokenCredentialEnum.None)
+{
+ TenantId = "",
+};
+var result = client.GetTokenCredential("", getTokenCredentialRequest);
+]]>
+
+
+
+
+This sample shows how to call GetTokenCredentialAsync with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ scopes = new[] {
+ ""
+ },
+ tokenCredentialType = "None",
+};
+
+Response response = await client.GetTokenCredentialAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("token").ToString());
+Console.WriteLine(result.GetProperty("expiresOn").ToString());
+]]>
+This sample shows how to call GetTokenCredentialAsync with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ scopes = new[] {
+ ""
+ },
+ tokenCredentialType = "None",
+ tenantId = "",
+};
+
+Response response = await client.GetTokenCredentialAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("token").ToString());
+Console.WriteLine(result.GetProperty("expiresOn").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetTokenCredential with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ scopes = new[] {
+ ""
+ },
+ tokenCredentialType = "None",
+};
+
+Response response = client.GetTokenCredential("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("token").ToString());
+Console.WriteLine(result.GetProperty("expiresOn").ToString());
+]]>
+This sample shows how to call GetTokenCredential with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ scopes = new[] {
+ ""
+ },
+ tokenCredentialType = "None",
+ tenantId = "",
+};
+
+Response response = client.GetTokenCredential("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("token").ToString());
+Console.WriteLine(result.GetProperty("expiresOn").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetInputAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var getInputRequest = new GetInputRequest("")
+{
+ DefaultValue = new SkillVariable(true)
+{
+ Type = "",
+ Value = "",
+ },
+};
+var result = await client.GetInputAsync("", getInputRequest);
+]]>
+
+
+
+
+This sample shows how to call GetInput with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var getInputRequest = new GetInputRequest("")
+{
+ DefaultValue = new SkillVariable(true)
+{
+ Type = "",
+ Value = "",
+ },
+};
+var result = client.GetInput("", getInputRequest);
+]]>
+
+
+
+
+This sample shows how to call GetInputAsync with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+};
+
+Response response = await client.GetInputAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+This sample shows how to call GetInputAsync with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+ defaultValue = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+};
+
+Response response = await client.GetInputAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+
+
+
+
+This sample shows how to call GetInput with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+};
+
+Response response = client.GetInput("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+This sample shows how to call GetInput with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+ defaultValue = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+};
+
+Response response = client.GetInput("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("type").ToString());
+Console.WriteLine(result.GetProperty("value").ToString());
+Console.WriteLine(result.GetProperty("valueStoredAsJson").ToString());
+]]>
+
+
+
+
+This sample shows how to call SetInputAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var setInputRequest = new SetInputRequest("")
+{
+ DefaultValue = new SkillVariable(true)
+{
+ Type = "",
+ Value = "",
+ },
+};
+var result = await client.SetInputAsync("", setInputRequest);
+]]>
+
+
+
+
+This sample shows how to call SetInput with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var setInputRequest = new SetInputRequest("")
+{
+ DefaultValue = new SkillVariable(true)
+{
+ Type = "",
+ Value = "",
+ },
+};
+var result = client.SetInput("", setInputRequest);
+]]>
+
+
+
+
+This sample shows how to call SetInputAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+};
+
+Response response = await client.SetInputAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call SetInputAsync with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+ defaultValue = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+};
+
+Response response = await client.SetInputAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetInput with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+};
+
+Response response = client.SetInput("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call SetInput with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ inputName = "",
+ defaultValue = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+ skillName = "",
+ skillInputs = new {
+ key = "",
+ },
+ outputLanguage = "",
+ outputType = "Primitive",
+ type = "",
+ value = "",
+ valueStoredAsJson = true,
+ },
+};
+
+Response response = client.SetInput("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call AddSourcesAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var addSourcesRequest = new AddSourcesRequest(new SkillSource[]
+{
+ new SkillSource("", "", SkillSourceType.Uri)
+{
+ SourceSerializedData = "",
+ }
+});
+var result = await client.AddSourcesAsync("", addSourcesRequest);
+]]>
+
+
+
+
+This sample shows how to call AddSources with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var addSourcesRequest = new AddSourcesRequest(new SkillSource[]
+{
+ new SkillSource("", "", SkillSourceType.Uri)
+{
+ SourceSerializedData = "",
+ }
+});
+var result = client.AddSources("", addSourcesRequest);
+]]>
+
+
+
+
+This sample shows how to call AddSourcesAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+};
+
+Response response = await client.AddSourcesAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call AddSources with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ sources = new[] {
+ new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ }
+ },
+};
+
+Response response = client.AddSources("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call AddSourceAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var addSourceRequest = new AddSourceRequest(new SkillSource("", "", SkillSourceType.Uri)
+{
+ SourceSerializedData = "",
+});
+var result = await client.AddSourceAsync("", addSourceRequest);
+]]>
+
+
+
+
+This sample shows how to call AddSource with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var addSourceRequest = new AddSourceRequest(new SkillSource("", "", SkillSourceType.Uri)
+{
+ SourceSerializedData = "",
+});
+var result = client.AddSource("", addSourceRequest);
+]]>
+
+
+
+
+This sample shows how to call AddSourceAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ SkillSource = new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ },
+};
+
+Response response = await client.AddSourceAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call AddSourceAsync with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ SkillSource = new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ },
+};
+
+Response response = await client.AddSourceAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call AddSource with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ SkillSource = new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ },
+};
+
+Response response = client.AddSource("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call AddSource with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ SkillSource = new {
+ displayName = "",
+ sourceContent = "",
+ sourceType = "Uri",
+ sourceSerializedData = "",
+ },
+};
+
+Response response = client.AddSource("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call AddSuggestedPromptsAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var addSuggestedPromptsRequest = new AddSuggestedPromptsRequest(new SuggestedPrompt[]
+{
+ new SuggestedPrompt("")
+});
+var result = await client.AddSuggestedPromptsAsync("", addSuggestedPromptsRequest);
+]]>
+
+
+
+
+This sample shows how to call AddSuggestedPrompts with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var addSuggestedPromptsRequest = new AddSuggestedPromptsRequest(new SuggestedPrompt[]
+{
+ new SuggestedPrompt("")
+});
+var result = client.AddSuggestedPrompts("", addSuggestedPromptsRequest);
+]]>
+
+
+
+
+This sample shows how to call AddSuggestedPromptsAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+};
+
+Response response = await client.AddSuggestedPromptsAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call AddSuggestedPrompts with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ suggestedPrompts = new[] {
+ new {
+ prompt = "",
+ }
+ },
+};
+
+Response response = client.AddSuggestedPrompts("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetFinalResponseSettingsAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var setFinalResponseSettingsRequest = new SetFinalResponseSettingsRequest("")
+{
+ FinalResponseFormat = "",
+ FinalResponsePersona = "",
+ FinalResponseFallback = "",
+};
+var result = await client.SetFinalResponseSettingsAsync("", setFinalResponseSettingsRequest);
+]]>
+
+
+
+
+This sample shows how to call SetFinalResponseSettings with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var setFinalResponseSettingsRequest = new SetFinalResponseSettingsRequest("")
+{
+ FinalResponseFormat = "",
+ FinalResponsePersona = "",
+ FinalResponseFallback = "",
+};
+var result = client.SetFinalResponseSettings("", setFinalResponseSettingsRequest);
+]]>
+
+
+
+
+This sample shows how to call SetFinalResponseSettingsAsync with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ finalResponseBehavior = "",
+};
+
+Response response = await client.SetFinalResponseSettingsAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call SetFinalResponseSettingsAsync with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ finalResponseBehavior = "",
+ finalResponseFormat = "",
+ finalResponsePersona = "",
+ finalResponseFallback = "",
+};
+
+Response response = await client.SetFinalResponseSettingsAsync("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call SetFinalResponseSettings with required parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ finalResponseBehavior = "",
+};
+
+Response response = client.SetFinalResponseSettings("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+This sample shows how to call SetFinalResponseSettings with all parameters and request content.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ finalResponseBehavior = "",
+ finalResponseFormat = "",
+ finalResponsePersona = "",
+ finalResponseFallback = "",
+};
+
+Response response = client.SetFinalResponseSettings("", RequestContent.Create(data));
+Console.WriteLine(response.Status);
+]]>
+
+
+
+
+This sample shows how to call CreateChatCompletionAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var request = new CreateChatCompletionRequest(new ChatCompletionRequest(new string[]
+{
+ ""
+}, null, BinaryData.FromString(""), new Message[]
+{
+ new Message("")
+{
+ Content = "",
+ Name = "",
+ FunctionCall = new FunctionCall("")
+{
+ Arguments =
+{
+ ["key"] = "",
+ },
+ },
+ ToolCalls =
+{
+ new ToolCall("", "", new ToolFunctionCall("", ""))
+ },
+ ToolCallId = "",
+ }
+}, new GPTFunction[]
+{
+ new GPTFunction("", "", new FunctionParameter("", new Dictionary
+{
+ ["key"] = new FunctionParameterProperty("", "", new string[]
+{
+ ""
+ }),
+ }, new string[]
+{
+ ""
+ }), new FunctionResult(""))
+}, "")
+{
+ Tools =
+{
+ new Tools("", new FunctionDefinition("", "", BinaryData.FromString("")))
+ },
+ ToolChoice = "",
+ ParallelToolCalls = true,
+})
+{
+ DeploymentId = "",
+ OpenAiExecutionContext = new AzureOpenAIExecutionContext("", "", true, true, true)
+{
+ GpuProcessingGeo = "",
+ ContentFilterProperties =
+{
+ ["key"] = "",
+ },
+ ReportingProperties =
+{
+ ["key"] = "",
+ },
+ },
+};
+var result = await client.CreateChatCompletionAsync("", request);
+]]>
+
+
+
+
+This sample shows how to call CreateChatCompletion with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var request = new CreateChatCompletionRequest(new ChatCompletionRequest(new string[]
+{
+ ""
+}, null, BinaryData.FromString(""), new Message[]
+{
+ new Message("")
+{
+ Content = "",
+ Name = "",
+ FunctionCall = new FunctionCall("")
+{
+ Arguments =
+{
+ ["key"] = "",
+ },
+ },
+ ToolCalls =
+{
+ new ToolCall("", "", new ToolFunctionCall("", ""))
+ },
+ ToolCallId = "",
+ }
+}, new GPTFunction[]
+{
+ new GPTFunction("", "", new FunctionParameter("", new Dictionary
+{
+ ["key"] = new FunctionParameterProperty("", "", new string[]
+{
+ ""
+ }),
+ }, new string[]
+{
+ ""
+ }), new FunctionResult(""))
+}, "")
+{
+ Tools =
+{
+ new Tools("", new FunctionDefinition("", "", BinaryData.FromString("")))
+ },
+ ToolChoice = "",
+ ParallelToolCalls = true,
+})
+{
+ DeploymentId = "",
+ OpenAiExecutionContext = new AzureOpenAIExecutionContext("", "", true, true, true)
+{
+ GpuProcessingGeo = "",
+ ContentFilterProperties =
+{
+ ["key"] = "",
+ },
+ ReportingProperties =
+{
+ ["key"] = "",
+ },
+ },
+};
+var result = client.CreateChatCompletion("", request);
+]]>
+
+
+
+
+This sample shows how to call CreateChatCompletionAsync with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ chatCompletionRequest = new {
+ Messages = new[] {
+ new {
+ Role = "",
+ }
+ },
+ Functions = new[] {
+ new {
+ Name = "",
+ Description = "",
+ Parameters = new {
+ Type = "",
+ Properties = new {
+ key = new {
+ Type = "",
+ Description = "",
+ Enum = new[] {
+ ""
+ },
+ },
+ },
+ Required = new[] {
+ ""
+ },
+ },
+ Result = new {
+ Type = "",
+ },
+ }
+ },
+ FunctionCall = "",
+ Stop = new[] {
+ ""
+ },
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+};
+
+Response response = await client.CreateChatCompletionAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Role").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+This sample shows how to call CreateChatCompletionAsync with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ deploymentId = "",
+ chatCompletionRequest = new {
+ Messages = new[] {
+ new {
+ Content = "",
+ Role = "",
+ Name = "",
+ FunctionCall = new {
+ Name = "",
+ Arguments = new {
+ key = "",
+ },
+ },
+ ToolCalls = new[] {
+ new {
+ Id = "",
+ Type = "",
+ Function = new {
+ Name = "",
+ Arguments = "",
+ },
+ }
+ },
+ ToolCallId = "",
+ }
+ },
+ Functions = new[] {
+ new {
+ Name = "",
+ Description = "",
+ Parameters = new {
+ Type = "",
+ Properties = new {
+ key = new {
+ Type = "",
+ Description = "",
+ Enum = new[] {
+ ""
+ },
+ },
+ },
+ Required = new[] {
+ ""
+ },
+ },
+ Result = new {
+ Type = "",
+ },
+ }
+ },
+ FunctionCall = "",
+ Tools = new[] {
+ new {
+ Type = "",
+ Function = new {
+ Description = "",
+ Name = "",
+ Parameters = new {},
+ },
+ }
+ },
+ ToolChoice = "",
+ ParallelToolCalls = true,
+ MaxTokens = 1234,
+ Temperature = 123.45d,
+ TopP = 123.45d,
+ N = 1234,
+ Stream = true,
+ Logprobs = 1234,
+ Echo = true,
+ Stop = new[] {
+ ""
+ },
+ PresencePenalty = 123.45d,
+ FrequencyPenalty = 123.45d,
+ BestOf = 1234,
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+ openAiExecutionContext = new {
+ ApiVersion = "",
+ Environment = "",
+ IsGPUProxyEnabled = true,
+ GpuProcessingGeo = "",
+ CustomerAllowCrossGeoCompute = true,
+ EcsAllowCrossGeoCompute = true,
+ ContentFilterProperties = new {
+ key = "",
+ },
+ ReportingProperties = new {
+ key = "",
+ },
+ },
+};
+
+Response response = await client.CreateChatCompletionAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Content").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Role").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Name").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("FunctionCall").GetProperty("Name").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("FunctionCall").GetProperty("Arguments").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Type").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Function").GetProperty("Name").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Function").GetProperty("Arguments").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCallId").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterResults").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterError").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+
+
+
+
+This sample shows how to call CreateChatCompletion with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ chatCompletionRequest = new {
+ Messages = new[] {
+ new {
+ Role = "",
+ }
+ },
+ Functions = new[] {
+ new {
+ Name = "",
+ Description = "",
+ Parameters = new {
+ Type = "",
+ Properties = new {
+ key = new {
+ Type = "",
+ Description = "",
+ Enum = new[] {
+ ""
+ },
+ },
+ },
+ Required = new[] {
+ ""
+ },
+ },
+ Result = new {
+ Type = "",
+ },
+ }
+ },
+ FunctionCall = "",
+ Stop = new[] {
+ ""
+ },
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+};
+
+Response response = client.CreateChatCompletion("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Role").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+This sample shows how to call CreateChatCompletion with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ deploymentId = "",
+ chatCompletionRequest = new {
+ Messages = new[] {
+ new {
+ Content = "",
+ Role = "",
+ Name = "",
+ FunctionCall = new {
+ Name = "",
+ Arguments = new {
+ key = "",
+ },
+ },
+ ToolCalls = new[] {
+ new {
+ Id = "",
+ Type = "",
+ Function = new {
+ Name = "",
+ Arguments = "",
+ },
+ }
+ },
+ ToolCallId = "",
+ }
+ },
+ Functions = new[] {
+ new {
+ Name = "",
+ Description = "",
+ Parameters = new {
+ Type = "",
+ Properties = new {
+ key = new {
+ Type = "",
+ Description = "",
+ Enum = new[] {
+ ""
+ },
+ },
+ },
+ Required = new[] {
+ ""
+ },
+ },
+ Result = new {
+ Type = "",
+ },
+ }
+ },
+ FunctionCall = "",
+ Tools = new[] {
+ new {
+ Type = "",
+ Function = new {
+ Description = "",
+ Name = "",
+ Parameters = new {},
+ },
+ }
+ },
+ ToolChoice = "",
+ ParallelToolCalls = true,
+ MaxTokens = 1234,
+ Temperature = 123.45d,
+ TopP = 123.45d,
+ N = 1234,
+ Stream = true,
+ Logprobs = 1234,
+ Echo = true,
+ Stop = new[] {
+ ""
+ },
+ PresencePenalty = 123.45d,
+ FrequencyPenalty = 123.45d,
+ BestOf = 1234,
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+ openAiExecutionContext = new {
+ ApiVersion = "",
+ Environment = "",
+ IsGPUProxyEnabled = true,
+ GpuProcessingGeo = "",
+ CustomerAllowCrossGeoCompute = true,
+ EcsAllowCrossGeoCompute = true,
+ ContentFilterProperties = new {
+ key = "",
+ },
+ ReportingProperties = new {
+ key = "",
+ },
+ },
+};
+
+Response response = client.CreateChatCompletion("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Content").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Role").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("Name").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("FunctionCall").GetProperty("Name").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("FunctionCall").GetProperty("Arguments").GetProperty("").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Type").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Function").GetProperty("Name").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCalls")[0].GetProperty("Function").GetProperty("Arguments").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Message").GetProperty("ToolCallId").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterResults").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterError").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+
+
+
+
+This sample shows how to call CreateCompletionAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var request = new CreateCompletionRequest(new CompletionRequest(new string[]
+{
+ ""
+}, null, BinaryData.FromString(""), ""))
+{
+ DeploymentId = "",
+ OpenAiExecutionContext = new AzureOpenAIExecutionContext("", "", true, true, true)
+{
+ GpuProcessingGeo = "",
+ ContentFilterProperties =
+{
+ ["key"] = "",
+ },
+ ReportingProperties =
+{
+ ["key"] = "",
+ },
+ },
+};
+var result = await client.CreateCompletionAsync("", request);
+]]>
+
+
+
+
+This sample shows how to call CreateCompletion with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var request = new CreateCompletionRequest(new CompletionRequest(new string[]
+{
+ ""
+}, null, BinaryData.FromString(""), ""))
+{
+ DeploymentId = "",
+ OpenAiExecutionContext = new AzureOpenAIExecutionContext("", "", true, true, true)
+{
+ GpuProcessingGeo = "",
+ ContentFilterProperties =
+{
+ ["key"] = "",
+ },
+ ReportingProperties =
+{
+ ["key"] = "",
+ },
+ },
+};
+var result = client.CreateCompletion("", request);
+]]>
+
+
+
+
+This sample shows how to call CreateCompletionAsync with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ completionRequest = new {
+ Prompt = "",
+ Stop = new[] {
+ ""
+ },
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+};
+
+Response response = await client.CreateCompletionAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Text").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+This sample shows how to call CreateCompletionAsync with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ deploymentId = "",
+ completionRequest = new {
+ Prompt = "",
+ MaxTokens = 1234,
+ Temperature = 123.45d,
+ TopP = 123.45d,
+ N = 1234,
+ Stream = true,
+ Logprobs = 1234,
+ Echo = true,
+ Stop = new[] {
+ ""
+ },
+ PresencePenalty = 123.45d,
+ FrequencyPenalty = 123.45d,
+ BestOf = 1234,
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+ openAiExecutionContext = new {
+ ApiVersion = "",
+ Environment = "",
+ IsGPUProxyEnabled = true,
+ GpuProcessingGeo = "",
+ CustomerAllowCrossGeoCompute = true,
+ EcsAllowCrossGeoCompute = true,
+ ContentFilterProperties = new {
+ key = "",
+ },
+ ReportingProperties = new {
+ key = "",
+ },
+ },
+};
+
+Response response = await client.CreateCompletionAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Text").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterResults").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterError").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+
+
+
+
+This sample shows how to call CreateCompletion with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ completionRequest = new {
+ Prompt = "",
+ Stop = new[] {
+ ""
+ },
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+};
+
+Response response = client.CreateCompletion("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Text").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+This sample shows how to call CreateCompletion with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ deploymentId = "",
+ completionRequest = new {
+ Prompt = "",
+ MaxTokens = 1234,
+ Temperature = 123.45d,
+ TopP = 123.45d,
+ N = 1234,
+ Stream = true,
+ Logprobs = 1234,
+ Echo = true,
+ Stop = new[] {
+ ""
+ },
+ PresencePenalty = 123.45d,
+ FrequencyPenalty = 123.45d,
+ BestOf = 1234,
+ LogitBias = new {
+ key = 1234,
+ },
+ ResponseFormat = new {},
+ },
+ openAiExecutionContext = new {
+ ApiVersion = "",
+ Environment = "",
+ IsGPUProxyEnabled = true,
+ GpuProcessingGeo = "",
+ CustomerAllowCrossGeoCompute = true,
+ EcsAllowCrossGeoCompute = true,
+ ContentFilterProperties = new {
+ key = "",
+ },
+ ReportingProperties = new {
+ key = "",
+ },
+ },
+};
+
+Response response = client.CreateCompletion("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Text").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("LogProbs").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("FinishReason").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterResults").ToString());
+Console.WriteLine(result.GetProperty("Choices")[0].GetProperty("ContentFilterError").ToString());
+Console.WriteLine(result.GetProperty("Id").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Created").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+Console.WriteLine(result.GetProperty("PromptFilterResults")[0].ToString());
+]]>
+
+
+
+
+This sample shows how to call CreateEmbeddingAsync with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var request = new CreateEmbeddingRequest(new EmbeddingRequest(BinaryData.FromString("")))
+{
+ DeploymentId = "",
+ OpenAiExecutionContext = new AzureOpenAIExecutionContext("", "", true, true, true)
+{
+ GpuProcessingGeo = "",
+ ContentFilterProperties =
+{
+ ["key"] = "",
+ },
+ ReportingProperties =
+{
+ ["key"] = "",
+ },
+ },
+};
+var result = await client.CreateEmbeddingAsync("", request);
+]]>
+
+
+
+
+This sample shows how to call CreateEmbedding with required parameters.
+");
+var client = new SkillContextClient(endpoint);
+
+var request = new CreateEmbeddingRequest(new EmbeddingRequest(BinaryData.FromString("")))
+{
+ DeploymentId = "",
+ OpenAiExecutionContext = new AzureOpenAIExecutionContext("", "", true, true, true)
+{
+ GpuProcessingGeo = "",
+ ContentFilterProperties =
+{
+ ["key"] = "",
+ },
+ ReportingProperties =
+{
+ ["key"] = "",
+ },
+ },
+};
+var result = client.CreateEmbedding("", request);
+]]>
+
+
+
+
+This sample shows how to call CreateEmbeddingAsync with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ embeddingRequest = new {
+ Input = new {},
+ },
+};
+
+Response response = await client.CreateEmbeddingAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Embedding")[0].ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+]]>
+This sample shows how to call CreateEmbeddingAsync with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ deploymentId = "",
+ embeddingRequest = new {
+ Input = new {},
+ },
+ openAiExecutionContext = new {
+ ApiVersion = "",
+ Environment = "",
+ IsGPUProxyEnabled = true,
+ GpuProcessingGeo = "",
+ CustomerAllowCrossGeoCompute = true,
+ EcsAllowCrossGeoCompute = true,
+ ContentFilterProperties = new {
+ key = "",
+ },
+ ReportingProperties = new {
+ key = "",
+ },
+ },
+};
+
+Response response = await client.CreateEmbeddingAsync("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Embedding")[0].ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+]]>
+
+
+
+
+This sample shows how to call CreateEmbedding with required parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ embeddingRequest = new {
+ Input = new {},
+ },
+};
+
+Response response = client.CreateEmbedding("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Embedding")[0].ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+]]>
+This sample shows how to call CreateEmbedding with all parameters and request content, and how to parse the result.
+");
+var client = new SkillContextClient(endpoint);
+
+var data = new {
+ deploymentId = "",
+ embeddingRequest = new {
+ Input = new {},
+ },
+ openAiExecutionContext = new {
+ ApiVersion = "",
+ Environment = "",
+ IsGPUProxyEnabled = true,
+ GpuProcessingGeo = "",
+ CustomerAllowCrossGeoCompute = true,
+ EcsAllowCrossGeoCompute = true,
+ ContentFilterProperties = new {
+ key = "",
+ },
+ ReportingProperties = new {
+ key = "",
+ },
+ },
+};
+
+Response response = client.CreateEmbedding("", RequestContent.Create(data));
+
+JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Embedding")[0].ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Index").ToString());
+Console.WriteLine(result.GetProperty("Data")[0].GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Model").ToString());
+Console.WriteLine(result.GetProperty("Object").ToString());
+Console.WriteLine(result.GetProperty("Usage").ToString());
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/MicrosoftSecurityCopilotSkillsetAuthoringClientBuilderExtensions.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/MicrosoftSecurityCopilotSkillsetAuthoringClientBuilderExtensions.cs
new file mode 100644
index 000000000000..2de6ca4d72a6
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/MicrosoftSecurityCopilotSkillsetAuthoringClientBuilderExtensions.cs
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core.Extensions;
+using Microsoft.Security.Copilot.SkillsetAuthoring;
+
+namespace Microsoft.Extensions.Azure
+{
+ /// Extension methods to add to client builder.
+ public static partial class MicrosoftSecurityCopilotSkillsetAuthoringClientBuilderExtensions
+ {
+ /// Registers a instance.
+ /// The builder to register with.
+ ///
+ /// Supported Security Copilot API endpoints (protocol and host name, such as
+ /// https://api.medeina-dev.defender.microsoft.com).
+ ///
+ public static IAzureClientBuilder AddSkillContextClient(this TBuilder builder, Uri endpoint)
+ where TBuilder : IAzureClientFactoryBuilder
+ {
+ return builder.RegisterClientFactory((options) => new SkillContextClient(endpoint, options));
+ }
+
+ /// Registers a instance.
+ /// The builder to register with.
+ /// The configuration values.
+ public static IAzureClientBuilder AddSkillContextClient(this TBuilder builder, TConfiguration configuration)
+ where TBuilder : IAzureClientFactoryBuilderWithConfiguration
+ {
+ return builder.RegisterClientFactory(configuration);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/MicrosoftSecurityCopilotSkillsetAuthoringModelFactory.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/MicrosoftSecurityCopilotSkillsetAuthoringModelFactory.cs
new file mode 100644
index 000000000000..1d9fc6ed0259
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/MicrosoftSecurityCopilotSkillsetAuthoringModelFactory.cs
@@ -0,0 +1,414 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Model factory for models.
+ public static partial class MicrosoftSecurityCopilotSkillsetAuthoringModelFactory
+ {
+ /// Initializes a new instance of SkillContextResponse.
+ /// Skill descriptor containing attributes that describe a skill (i.e. Inputs required to execute the skill).
+ /// SkillContext Id.
+ /// Array of feature flags.
+ /// Skill Variable Collection.
+ /// Additional skill specific settings.
+ /// TODO.
+ /// Tenant id of tenant in which skill invocation occured.
+ /// User id of user that invoked the skill.
+ /// Current session ID.
+ /// Current prompt ID.
+ /// Current evaluation ID.
+ /// Compliance flags for logging.
+ /// Fidelis Workspace Id.
+ /// Originating source tag for the evaluation (i.e. Immersive, Logic Apps, etc.).
+ /// Indicates whether the evaluation is user driven or automated.
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ /// Username of the user that invoked the skill.
+ /// A new instance for mocking.
+ public static SkillContextResponse SkillContextResponse(SkillDescriptor descriptor = null, string id = null, IEnumerable featureFlags = null, IReadOnlyDictionary inputs = null, IReadOnlyDictionary properties = null, DateTimeOffset startTime = default, string tenantId = null, string userId = null, string sessionId = null, string promptId = null, string evaluationId = null, ComplianceFlags complianceFlags = null, string workspaceId = null, string source = null, EvaluationInvocationType invocationType = default, EvaluationInvocationCategory invocationCategory = default, string userName = null)
+ {
+ featureFlags ??= new List();
+ inputs ??= new Dictionary();
+ properties ??= new Dictionary();
+
+ return new SkillContextResponse(descriptor, id, featureFlags?.ToList(), inputs, properties, startTime, tenantId, userId, sessionId, promptId, evaluationId, complianceFlags, workspaceId, source, invocationType, invocationCategory, userName);
+ }
+
+ /// Initializes a new instance of SkillDescriptor.
+ /// The skillset descriptor.
+ /// The name of the skill.
+ /// The format of the skill.
+ /// The display name of the skill.
+ /// An alternative name for the skill as some planners follow different naming convensions. This is set by the planner to map the name back to the skill.
+ /// The dependencies of the skill.
+ /// The description of the skill.
+ /// A list of example prompts for the skill.
+ /// Whether the skill is hidden TODO what does this mean.
+ /// The inputs required for the skill.
+ /// The outputs of the skill.
+ /// The prompt aligned name of the skill TODO what does this mean.
+ /// A list of feature flags. At least one of the feature flags is required to enabled in the prompt context in order for the skillset to be available.
+ /// Controls the conditions under which the users can see or use this skillset.
+ /// Visibility flags required for the planner to user the skillset TODO confirm what this does.
+ /// Controls the conditions under a prompt can use this skillset.
+ /// The settings of the skill.
+ /// skillSummaryMetadata.
+ /// EnableVariableSubstitutionInCompose.
+ /// A new instance for mocking.
+ public static SkillDescriptor SkillDescriptor(SkillsetDescriptor skillset = null, string name = null, string format = null, string displayName = null, string altName = null, IEnumerable dependencies = null, string description = null, IEnumerable examplePrompts = null, bool hidden = default, IEnumerable inputs = null, IEnumerable outputs = null, string promptAlignedName = null, IEnumerable userVisibilityFeatureFlags = null, SkillVisibility userVisibility = default, IEnumerable plannerVisibilityFeatureFlags = null, SkillVisibility plannerVisibility = default, IReadOnlyDictionary settings = null, SkillSummaryDescriptor skillSummaryMetadata = null, bool enableVariableSubstitutionInCompose = default)
+ {
+ dependencies ??= new List();
+ examplePrompts ??= new List();
+ inputs ??= new List();
+ outputs ??= new List();
+ userVisibilityFeatureFlags ??= new List();
+ plannerVisibilityFeatureFlags ??= new List();
+ settings ??= new Dictionary();
+
+ return new SkillDescriptor(skillset, name, format, displayName, altName, dependencies?.ToList(), description, examplePrompts?.ToList(), hidden, inputs?.ToList(), outputs?.ToList(), promptAlignedName, userVisibilityFeatureFlags?.ToList(), userVisibility, plannerVisibilityFeatureFlags?.ToList(), plannerVisibility, settings, skillSummaryMetadata, enableVariableSubstitutionInCompose);
+ }
+
+ /// Initializes a new instance of SkillsetDescriptor.
+ /// Namespace for the skillset.
+ /// The name of the Skillset.
+ /// The description of the Skillset.
+ /// The description of the skillset that's displayed TODO postman/dev figure out where this is displayed.
+ /// The Skillset name that's displayed in the portal.
+ /// The icon displayed for the skillset in the console.
+ /// The category of the Skillset.
+ /// CatalogScope of the Skillset.
+ /// Whether the skillset is enabled TODO how is this different than Hidden.
+ /// Whether the skillset is hidden TODO how is this different than enabled.
+ /// The prerequisites of a skillset TODO what does this mean.
+ /// The settings of a skillset.
+ /// The settings of a skillset.
+ /// The types of authentication supported by the skillset.
+ /// A list of feature flags. At least one of the feature flags is required to enabled in the prompt context in order for the skillset to be available.
+ /// Controls the conditions under which the users can see or use this skillset.
+ /// Visibility flags required for the planner to user the skillset TODO confirm what this does.
+ /// Controls the conditions under a prompt can use this skillset.
+ /// The user ID of the user who created this skillset.
+ /// The ID of an Entra group that contains the owners for this Skillset.
+ /// A new instance for mocking.
+ public static SkillsetDescriptor SkillsetDescriptor(string @namespace = null, string name = null, string description = null, string descriptionDisplay = null, string disaplyName = null, string icon = null, SkillsetCategory category = default, SkillsetCatalogScope catalogScope = default, bool enabled = default, bool hidden = default, IEnumerable prerequisites = null, IEnumerable settings = null, SkillsetAuth authorization = null, IEnumerable supportedAuthTypes = null, IEnumerable userVisibilityFeatureFlags = null, SkillVisibility userVisibility = default, IEnumerable plannerVisibilityFeatureFlags = null, SkillVisibility plannerVisibility = default, string creatorUserId = null, string ownersGroupId = null)
+ {
+ prerequisites ??= new List();
+ settings ??= new List();
+ supportedAuthTypes ??= new List();
+ userVisibilityFeatureFlags ??= new List();
+ plannerVisibilityFeatureFlags ??= new List();
+
+ return new SkillsetDescriptor(@namespace, name, description, descriptionDisplay, disaplyName, icon, category, catalogScope, enabled, hidden, prerequisites?.ToList(), settings?.ToList(), authorization, supportedAuthTypes?.ToList(), userVisibilityFeatureFlags?.ToList(), userVisibility, plannerVisibilityFeatureFlags?.ToList(), plannerVisibility, creatorUserId, ownersGroupId);
+ }
+
+ /// Initializes a new instance of SkillsetSetting.
+ /// The name of the skillset setting.
+ /// The label of the skillset setting.
+ /// The description of the skillset setting used to describe the setting to the user in an info text box.
+ /// The hint text used to fill in the setting box.
+ /// The type of the skillset setting.
+ /// Whether the skillset setting is required.
+ /// The default value of the skillset setting.
+ /// The value of the skillset setting.
+ /// , , , , or is null.
+ /// A new instance for mocking.
+ public static SkillsetSetting SkillsetSetting(string name = null, string label = null, string description = null, string hintText = null, SkillsetSettingType settingType = default, bool required = default, string defaultValue = null, string value = null)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+ if (label == null)
+ {
+ throw new ArgumentNullException(nameof(label));
+ }
+ if (description == null)
+ {
+ throw new ArgumentNullException(nameof(description));
+ }
+ if (hintText == null)
+ {
+ throw new ArgumentNullException(nameof(hintText));
+ }
+ if (defaultValue == null)
+ {
+ throw new ArgumentNullException(nameof(defaultValue));
+ }
+ if (value == null)
+ {
+ throw new ArgumentNullException(nameof(value));
+ }
+
+ return new SkillsetSetting(name, label, description, hintText, settingType, required, defaultValue, value);
+ }
+
+ /// Initializes a new instance of SkillsetAuth.
+ /// SkillsetAuth Type.
+ /// A new instance for mocking.
+ public static SkillsetAuth SkillsetAuth(SkillsetAuthType type = default)
+ {
+ return new SkillsetAuth(type);
+ }
+
+ /// Initializes a new instance of SkillDependencyDescriptor.
+ /// The skillset name.
+ /// The name of the skill.
+ /// or is null.
+ /// A new instance for mocking.
+ public static SkillDependencyDescriptor SkillDependencyDescriptor(string skillsetName = null, string skillName = null)
+ {
+ if (skillsetName == null)
+ {
+ throw new ArgumentNullException(nameof(skillsetName));
+ }
+ if (skillName == null)
+ {
+ throw new ArgumentNullException(nameof(skillName));
+ }
+
+ return new SkillDependencyDescriptor(skillsetName, skillName);
+ }
+
+ /// Initializes a new instance of SkillInputDescriptor.
+ /// The name of the skill input.
+ /// The type of the skill input.
+ /// The description of the skill.
+ /// Whether a skill input is required.
+ /// The default value of the skill input.
+ /// The placeholder value of the skill input TODO how is this different than the default.
+ /// Enum.
+ /// A new instance for mocking.
+ public static SkillInputDescriptor SkillInputDescriptor(string name = null, SkillTypeDescriptor type = null, string description = null, bool required = default, string defaultValue = null, string placeholderValue = null, IEnumerable @enum = null)
+ {
+ @enum ??= new List();
+
+ return new SkillInputDescriptor(name, type, description, required, defaultValue, placeholderValue, @enum?.ToList());
+ }
+
+ /// Initializes a new instance of SkillTypeDescriptor.
+ /// The name of the skill type.
+ /// is null.
+ /// A new instance for mocking.
+ public static SkillTypeDescriptor SkillTypeDescriptor(string name = null)
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException(nameof(name));
+ }
+
+ return new SkillTypeDescriptor(name);
+ }
+
+ /// Initializes a new instance of SkillOutputDescriptor.
+ /// The name of the skill input.
+ /// The type of the skill input.
+ /// The description of the skill.
+ /// A new instance for mocking.
+ public static SkillOutputDescriptor SkillOutputDescriptor(string name = null, SkillTypeDescriptor type = null, string description = null)
+ {
+ return new SkillOutputDescriptor(name, type, description);
+ }
+
+ /// Initializes a new instance of SkillSummaryDescriptor.
+ /// SummaryStartMessage.
+ /// SummaryEndMessage.
+ /// or is null.
+ /// A new instance for mocking.
+ public static SkillSummaryDescriptor SkillSummaryDescriptor(string summaryStartMessage = null, string summaryEndMessage = null)
+ {
+ if (summaryStartMessage == null)
+ {
+ throw new ArgumentNullException(nameof(summaryStartMessage));
+ }
+ if (summaryEndMessage == null)
+ {
+ throw new ArgumentNullException(nameof(summaryEndMessage));
+ }
+
+ return new SkillSummaryDescriptor(summaryStartMessage, summaryEndMessage);
+ }
+
+ /// Initializes a new instance of ComplianceFlags.
+ /// Whether to record logs in Geneva and Kusto for this user.
+ /// Locked down tables not required and non-customer content table does not have to be redacted.
+ /// When this is true, the data may be used for model improvement. This flag does not affect redaction.
+ /// A new instance for mocking.
+ public static ComplianceFlags ComplianceFlags(bool recordLog = default, bool customerOptedInToEyesOnProductImprovement = default, bool customerOptedInToModelImprovement = default)
+ {
+ return new ComplianceFlags(recordLog, customerOptedInToEyesOnProductImprovement, customerOptedInToModelImprovement);
+ }
+
+ /// Initializes a new instance of MedeinaExecutionContext.
+ /// The session id.
+ /// The prompt id.
+ /// The evaluation id.
+ /// The tenant id.
+ /// The account id.
+ /// The workspace id.
+ /// The display name of the user.
+ /// The Application Id that created the Session.
+ /// The Source tag i.e. 'immersive'.
+ /// The source application ID.
+ /// The selected skills.
+ /// The skillsets identified for execution during the evaluation process post skill selection.
+ /// Indicates whether the context is for a user onboarded to Fidelis.
+ /// Indicates whether the evaluation is manually generated or user driven.
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ /// The encrypted token used to authenticate the user.
+ /// Compliance flags for logging.
+ /// Contains the context for the Azure OpenAI requests such as the deployment id.
+ /// Preview state of the execution context.
+ /// A new instance for mocking.
+ public static MedeinaExecutionContext MedeinaExecutionContext(string sessionId = null, string promptId = null, string evaluationId = null, string tenantId = null, string accountId = null, string workspaceId = null, string userName = null, string applicationId = null, string source = null, string unauthenticatedSourceApplicationId = null, string selectedSkills = null, IEnumerable selectedSkillsets = null, bool isFidelisUser = default, EvaluationInvocationType invocationType = default, EvaluationInvocationCategory invocationCategory = default, string encryptedUserAccessToken = null, ComplianceFlags complianceFlags = null, AzureOpenAIExecutionContext azureOpenAIExecutionContext = null, SkillPreviewState previewState = default)
+ {
+ selectedSkillsets ??= new List();
+
+ return new MedeinaExecutionContext(sessionId, promptId, evaluationId, tenantId, accountId, workspaceId, userName, applicationId, source, unauthenticatedSourceApplicationId, selectedSkills, selectedSkillsets?.ToList(), isFidelisUser, invocationType, invocationCategory, encryptedUserAccessToken, complianceFlags, azureOpenAIExecutionContext, previewState);
+ }
+
+ /// Initializes a new instance of PromptHistoryResponse.
+ /// List of prompts that have been evaluated in the current session.
+ /// A new instance for mocking.
+ public static PromptHistoryResponse PromptHistoryResponse(IEnumerable prompts = null)
+ {
+ prompts ??= new List();
+
+ return new PromptHistoryResponse(prompts?.ToList());
+ }
+
+ /// Initializes a new instance of SessionPrompt.
+ /// The content of the prompt.
+ /// Prompt response returned by the prompt evaluation.
+ /// is null.
+ /// A new instance for mocking.
+ public static SessionPrompt SessionPrompt(string prompt = null, string response = null)
+ {
+ if (prompt == null)
+ {
+ throw new ArgumentNullException(nameof(prompt));
+ }
+
+ return new SessionPrompt(prompt, response);
+ }
+
+ /// Initializes a new instance of AuthDetails.
+ /// Auth Location.
+ /// Auth Info.
+ /// is null.
+ /// A new instance for mocking.
+ public static AuthDetails AuthDetails(AuthLocationEnum authLocation = default, IReadOnlyDictionary authInfo = null)
+ {
+ authInfo ??= new Dictionary();
+
+ return new AuthDetails(authLocation, authInfo);
+ }
+
+ /// Initializes a new instance of AccessToken.
+ /// Token string.
+ /// Expiry time.
+ /// is null.
+ /// A new instance for mocking.
+ public static AccessToken AccessToken(string token = null, DateTimeOffset expiresOn = default)
+ {
+ if (token == null)
+ {
+ throw new ArgumentNullException(nameof(token));
+ }
+
+ return new AccessToken(token, expiresOn);
+ }
+
+ /// Initializes a new instance of ChatCompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ /// List of choices in the chat completion response.
+ /// A new instance for mocking.
+ public static ChatCompletionResponse ChatCompletionResponse(string id = null, string @object = null, DateTimeOffset created = default, string model = null, BinaryData usage = null, IEnumerable promptFilterResults = null, IEnumerable choices = null)
+ {
+ promptFilterResults ??= new List();
+ choices ??= new List();
+
+ return new ChatCompletionResponse(id, @object, created, model, usage, promptFilterResults?.ToList(), choices?.ToList());
+ }
+
+ /// Initializes a new instance of ChatChoice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// This object contains the list of content filter annotations.
+ /// This indicates when the content filtering system does not run on the chat completion.
+ /// The message associated with the chat choice.
+ /// A new instance for mocking.
+ public static ChatChoice ChatChoice(int index = default, BinaryData logProbs = null, string finishReason = null, BinaryData contentFilterResults = null, BinaryData contentFilterError = null, Message message = null)
+ {
+ return new ChatChoice(index, logProbs, finishReason, contentFilterResults, contentFilterError, message);
+ }
+
+ /// Initializes a new instance of Choice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// This object contains the list of content filter annotations.
+ /// This indicates when the content filtering system does not run on the chat completion.
+ ///
+ /// A new instance for mocking.
+ public static Choice Choice(int index = default, BinaryData logProbs = null, string finishReason = null, BinaryData contentFilterResults = null, BinaryData contentFilterError = null, string text = null)
+ {
+ return new Choice(index, logProbs, finishReason, contentFilterResults, contentFilterError, text);
+ }
+
+ /// Initializes a new instance of CompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ ///
+ /// A new instance for mocking.
+ public static CompletionResponse CompletionResponse(string id = null, string @object = null, DateTimeOffset created = default, string model = null, BinaryData usage = null, IEnumerable promptFilterResults = null, IEnumerable choices = null)
+ {
+ promptFilterResults ??= new List();
+ choices ??= new List();
+
+ return new CompletionResponse(id, @object, created, model, usage, promptFilterResults?.ToList(), choices?.ToList());
+ }
+
+ /// Initializes a new instance of EmbeddingResponse.
+ ///
+ ///
+ ///
+ ///
+ /// A new instance for mocking.
+ public static EmbeddingResponse EmbeddingResponse(IEnumerable data = null, string model = null, string @object = null, BinaryData usage = null)
+ {
+ data ??= new List();
+
+ return new EmbeddingResponse(data?.ToList(), model, @object, usage);
+ }
+
+ /// Initializes a new instance of EmbeddingData.
+ ///
+ ///
+ ///
+ /// A new instance for mocking.
+ public static EmbeddingData EmbeddingData(IEnumerable embedding = null, int index = default, string @object = null)
+ {
+ embedding ??= new List();
+
+ return new EmbeddingData(embedding?.ToList(), index, @object);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AccessToken.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AccessToken.Serialization.cs
new file mode 100644
index 000000000000..2e1ad14ec9b8
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AccessToken.Serialization.cs
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class AccessToken
+ {
+ internal static AccessToken DeserializeAccessToken(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string token = default;
+ DateTimeOffset expiresOn = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("token"u8))
+ {
+ token = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("expiresOn"u8))
+ {
+ expiresOn = property.Value.GetDateTimeOffset("O");
+ continue;
+ }
+ }
+ return new AccessToken(token, expiresOn);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static AccessToken FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeAccessToken(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AccessToken.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AccessToken.cs
new file mode 100644
index 000000000000..b87c812de578
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AccessToken.cs
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// AccessToken.
+ public partial class AccessToken
+ {
+ /// Initializes a new instance of AccessToken.
+ /// Token string.
+ /// Expiry time.
+ /// is null.
+ internal AccessToken(string token, DateTimeOffset expiresOn)
+ {
+ Argument.AssertNotNull(token, nameof(token));
+
+ Token = token;
+ ExpiresOn = expiresOn;
+ }
+
+ /// Token string.
+ public string Token { get; }
+ /// Expiry time.
+ public DateTimeOffset ExpiresOn { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourceRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourceRequest.Serialization.cs
new file mode 100644
index 000000000000..93bf377601f6
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourceRequest.Serialization.cs
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class AddSourceRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("SkillSource"u8);
+ writer.WriteObjectValue(SkillSource);
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourceRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourceRequest.cs
new file mode 100644
index 000000000000..47b314d4d8c5
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourceRequest.cs
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// AddSourceRequest.
+ public partial class AddSourceRequest
+ {
+ /// Initializes a new instance of AddSourceRequest.
+ /// SkillSource.
+ /// is null.
+ public AddSourceRequest(SkillSource skillSource)
+ {
+ Argument.AssertNotNull(skillSource, nameof(skillSource));
+
+ SkillSource = skillSource;
+ }
+
+ /// SkillSource.
+ public SkillSource SkillSource { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourcesRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourcesRequest.Serialization.cs
new file mode 100644
index 000000000000..c70001c3d09e
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourcesRequest.Serialization.cs
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class AddSourcesRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("sources"u8);
+ writer.WriteStartArray();
+ foreach (var item in Sources)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourcesRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourcesRequest.cs
new file mode 100644
index 000000000000..3cbcd167cdc0
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSourcesRequest.cs
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// AddSourcesRequest.
+ public partial class AddSourcesRequest
+ {
+ /// Initializes a new instance of AddSourcesRequest.
+ /// List of SkillSource.
+ /// is null.
+ public AddSourcesRequest(IEnumerable sources)
+ {
+ Argument.AssertNotNull(sources, nameof(sources));
+
+ Sources = sources.ToList();
+ }
+
+ /// Initializes a new instance of AddSourcesRequest.
+ /// List of SkillSource.
+ internal AddSourcesRequest(IList sources)
+ {
+ Sources = sources;
+ }
+
+ /// List of SkillSource.
+ public IList Sources { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSuggestedPromptsRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSuggestedPromptsRequest.Serialization.cs
new file mode 100644
index 000000000000..def9956dc864
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSuggestedPromptsRequest.Serialization.cs
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class AddSuggestedPromptsRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("suggestedPrompts"u8);
+ writer.WriteStartArray();
+ foreach (var item in SuggestedPrompts)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSuggestedPromptsRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSuggestedPromptsRequest.cs
new file mode 100644
index 000000000000..1feddb17ffae
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AddSuggestedPromptsRequest.cs
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// AddSuggestedPromptsRequest.
+ public partial class AddSuggestedPromptsRequest
+ {
+ /// Initializes a new instance of AddSuggestedPromptsRequest.
+ /// List of SuggestedPrompt.
+ /// is null.
+ public AddSuggestedPromptsRequest(IEnumerable suggestedPrompts)
+ {
+ Argument.AssertNotNull(suggestedPrompts, nameof(suggestedPrompts));
+
+ SuggestedPrompts = suggestedPrompts.ToList();
+ }
+
+ /// Initializes a new instance of AddSuggestedPromptsRequest.
+ /// List of SuggestedPrompt.
+ internal AddSuggestedPromptsRequest(IList suggestedPrompts)
+ {
+ SuggestedPrompts = suggestedPrompts;
+ }
+
+ /// List of SuggestedPrompt.
+ public IList SuggestedPrompts { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthDetails.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthDetails.Serialization.cs
new file mode 100644
index 000000000000..65f7be672d00
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthDetails.Serialization.cs
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class AuthDetails
+ {
+ internal static AuthDetails DeserializeAuthDetails(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ AuthLocationEnum authLocation = default;
+ IReadOnlyDictionary authInfo = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("authLocation"u8))
+ {
+ authLocation = new AuthLocationEnum(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("authInfo"u8))
+ {
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, property0.Value.GetString());
+ }
+ authInfo = dictionary;
+ continue;
+ }
+ }
+ return new AuthDetails(authLocation, authInfo);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static AuthDetails FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeAuthDetails(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthDetails.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthDetails.cs
new file mode 100644
index 000000000000..a1950a6a962b
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthDetails.cs
@@ -0,0 +1,34 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Auth Details.
+ public partial class AuthDetails
+ {
+ /// Initializes a new instance of AuthDetails.
+ /// Auth Location.
+ /// Auth Info.
+ /// is null.
+ internal AuthDetails(AuthLocationEnum authLocation, IReadOnlyDictionary authInfo)
+ {
+ Argument.AssertNotNull(authInfo, nameof(authInfo));
+
+ AuthLocation = authLocation;
+ AuthInfo = authInfo;
+ }
+
+ /// Auth Location.
+ public AuthLocationEnum AuthLocation { get; }
+ /// Auth Info.
+ public IReadOnlyDictionary AuthInfo { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthLocationEnum.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthLocationEnum.cs
new file mode 100644
index 000000000000..aa3e0cbcc274
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AuthLocationEnum.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ComponentModel;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Auth Location.
+ public readonly partial struct AuthLocationEnum : IEquatable
+ {
+ private readonly string _value;
+
+ /// Initializes a new instance of .
+ /// is null.
+ public AuthLocationEnum(string value)
+ {
+ _value = value ?? throw new ArgumentNullException(nameof(value));
+ }
+
+ private const string HeaderValue = "Header";
+ private const string QueryParamsValue = "QueryParams";
+
+ /// Using Header.
+ public static AuthLocationEnum Header { get; } = new AuthLocationEnum(HeaderValue);
+ /// Using QueryParams.
+ public static AuthLocationEnum QueryParams { get; } = new AuthLocationEnum(QueryParamsValue);
+ /// Determines if two values are the same.
+ public static bool operator ==(AuthLocationEnum left, AuthLocationEnum right) => left.Equals(right);
+ /// Determines if two values are not the same.
+ public static bool operator !=(AuthLocationEnum left, AuthLocationEnum right) => !left.Equals(right);
+ /// Converts a string to a .
+ public static implicit operator AuthLocationEnum(string value) => new AuthLocationEnum(value);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override bool Equals(object obj) => obj is AuthLocationEnum other && Equals(other);
+ ///
+ public bool Equals(AuthLocationEnum other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+ ///
+ public override string ToString() => _value;
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AzureOpenAIExecutionContext.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AzureOpenAIExecutionContext.Serialization.cs
new file mode 100644
index 000000000000..1717a03c8c10
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AzureOpenAIExecutionContext.Serialization.cs
@@ -0,0 +1,154 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class AzureOpenAIExecutionContext : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("ApiVersion"u8);
+ writer.WriteStringValue(ApiVersion);
+ writer.WritePropertyName("Environment"u8);
+ writer.WriteStringValue(Environment);
+ writer.WritePropertyName("IsGPUProxyEnabled"u8);
+ writer.WriteBooleanValue(IsGPUProxyEnabled);
+ if (Optional.IsDefined(GpuProcessingGeo))
+ {
+ writer.WritePropertyName("GpuProcessingGeo"u8);
+ writer.WriteStringValue(GpuProcessingGeo);
+ }
+ writer.WritePropertyName("CustomerAllowCrossGeoCompute"u8);
+ writer.WriteBooleanValue(CustomerAllowCrossGeoCompute);
+ writer.WritePropertyName("EcsAllowCrossGeoCompute"u8);
+ writer.WriteBooleanValue(EcsAllowCrossGeoCompute);
+ if (Optional.IsCollectionDefined(ContentFilterProperties))
+ {
+ writer.WritePropertyName("ContentFilterProperties"u8);
+ writer.WriteStartObject();
+ foreach (var item in ContentFilterProperties)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteStringValue(item.Value);
+ }
+ writer.WriteEndObject();
+ }
+ if (Optional.IsCollectionDefined(ReportingProperties))
+ {
+ writer.WritePropertyName("ReportingProperties"u8);
+ writer.WriteStartObject();
+ foreach (var item in ReportingProperties)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteStringValue(item.Value);
+ }
+ writer.WriteEndObject();
+ }
+ writer.WriteEndObject();
+ }
+
+ internal static AzureOpenAIExecutionContext DeserializeAzureOpenAIExecutionContext(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string apiVersion = default;
+ string environment = default;
+ bool isGPUProxyEnabled = default;
+ Optional gpuProcessingGeo = default;
+ bool customerAllowCrossGeoCompute = default;
+ bool ecsAllowCrossGeoCompute = default;
+ Optional> contentFilterProperties = default;
+ Optional> reportingProperties = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("ApiVersion"u8))
+ {
+ apiVersion = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Environment"u8))
+ {
+ environment = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("IsGPUProxyEnabled"u8))
+ {
+ isGPUProxyEnabled = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("GpuProcessingGeo"u8))
+ {
+ gpuProcessingGeo = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("CustomerAllowCrossGeoCompute"u8))
+ {
+ customerAllowCrossGeoCompute = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("EcsAllowCrossGeoCompute"u8))
+ {
+ ecsAllowCrossGeoCompute = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("ContentFilterProperties"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, property0.Value.GetString());
+ }
+ contentFilterProperties = dictionary;
+ continue;
+ }
+ if (property.NameEquals("ReportingProperties"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, property0.Value.GetString());
+ }
+ reportingProperties = dictionary;
+ continue;
+ }
+ }
+ return new AzureOpenAIExecutionContext(apiVersion, environment, isGPUProxyEnabled, gpuProcessingGeo.Value, customerAllowCrossGeoCompute, ecsAllowCrossGeoCompute, Optional.ToDictionary(contentFilterProperties), Optional.ToDictionary(reportingProperties));
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static AzureOpenAIExecutionContext FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeAzureOpenAIExecutionContext(document.RootElement);
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AzureOpenAIExecutionContext.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AzureOpenAIExecutionContext.cs
new file mode 100644
index 000000000000..18cf4ec52c5c
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/AzureOpenAIExecutionContext.cs
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents the Azure OpenAI execution context.
+ public partial class AzureOpenAIExecutionContext
+ {
+ /// Initializes a new instance of AzureOpenAIExecutionContext.
+ /// The API version.
+ /// The environment where the request is being made.
+ /// Determines if the GPU proxy is enabled.
+ /// Whether the customer allows cross-geo compute in their workspace capacity.
+ /// ECS controlled flag to allow cross-geo compute.
+ /// or is null.
+ public AzureOpenAIExecutionContext(string apiVersion, string environment, bool isGPUProxyEnabled, bool customerAllowCrossGeoCompute, bool ecsAllowCrossGeoCompute)
+ {
+ Argument.AssertNotNull(apiVersion, nameof(apiVersion));
+ Argument.AssertNotNull(environment, nameof(environment));
+
+ ApiVersion = apiVersion;
+ Environment = environment;
+ IsGPUProxyEnabled = isGPUProxyEnabled;
+ CustomerAllowCrossGeoCompute = customerAllowCrossGeoCompute;
+ EcsAllowCrossGeoCompute = ecsAllowCrossGeoCompute;
+ ContentFilterProperties = new ChangeTrackingDictionary();
+ ReportingProperties = new ChangeTrackingDictionary();
+ }
+
+ /// Initializes a new instance of AzureOpenAIExecutionContext.
+ /// The API version.
+ /// The environment where the request is being made.
+ /// Determines if the GPU proxy is enabled.
+ /// The geographic location where the GPU processing is being done.
+ /// Whether the customer allows cross-geo compute in their workspace capacity.
+ /// ECS controlled flag to allow cross-geo compute.
+ /// Properties used to add content prompt and content filter details from the response.
+ /// Properties used to report information about the skill invocation. Must not contain customer content.
+ internal AzureOpenAIExecutionContext(string apiVersion, string environment, bool isGPUProxyEnabled, string gpuProcessingGeo, bool customerAllowCrossGeoCompute, bool ecsAllowCrossGeoCompute, IDictionary contentFilterProperties, IDictionary reportingProperties)
+ {
+ ApiVersion = apiVersion;
+ Environment = environment;
+ IsGPUProxyEnabled = isGPUProxyEnabled;
+ GpuProcessingGeo = gpuProcessingGeo;
+ CustomerAllowCrossGeoCompute = customerAllowCrossGeoCompute;
+ EcsAllowCrossGeoCompute = ecsAllowCrossGeoCompute;
+ ContentFilterProperties = contentFilterProperties;
+ ReportingProperties = reportingProperties;
+ }
+
+ /// The API version.
+ public string ApiVersion { get; set; }
+ /// The environment where the request is being made.
+ public string Environment { get; set; }
+ /// Determines if the GPU proxy is enabled.
+ public bool IsGPUProxyEnabled { get; set; }
+ /// The geographic location where the GPU processing is being done.
+ public string GpuProcessingGeo { get; set; }
+ /// Whether the customer allows cross-geo compute in their workspace capacity.
+ public bool CustomerAllowCrossGeoCompute { get; set; }
+ /// ECS controlled flag to allow cross-geo compute.
+ public bool EcsAllowCrossGeoCompute { get; set; }
+ /// Properties used to add content prompt and content filter details from the response.
+ public IDictionary ContentFilterProperties { get; }
+ /// Properties used to report information about the skill invocation. Must not contain customer content.
+ public IDictionary ReportingProperties { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseChoice.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseChoice.cs
new file mode 100644
index 000000000000..487ee931a829
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseChoice.cs
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The BaseChoice.
+ public partial class BaseChoice
+ {
+ /// Initializes a new instance of BaseChoice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// or is null.
+ internal BaseChoice(int index, BinaryData logProbs, string finishReason)
+ {
+ Argument.AssertNotNull(logProbs, nameof(logProbs));
+ Argument.AssertNotNull(finishReason, nameof(finishReason));
+
+ Index = index;
+ LogProbs = logProbs;
+ FinishReason = finishReason;
+ }
+
+ /// Initializes a new instance of BaseChoice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// This object contains the list of content filter annotations.
+ /// This indicates when the content filtering system does not run on the chat completion.
+ internal BaseChoice(int index, BinaryData logProbs, string finishReason, BinaryData contentFilterResults, BinaryData contentFilterError)
+ {
+ Index = index;
+ LogProbs = logProbs;
+ FinishReason = finishReason;
+ ContentFilterResults = contentFilterResults;
+ ContentFilterError = contentFilterError;
+ }
+
+ /// Gets the index.
+ public int Index { get; }
+ ///
+ /// Log probabilities for this choice.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData LogProbs { get; }
+ /// The reason why the operation finished.
+ public string FinishReason { get; }
+ ///
+ /// This object contains the list of content filter annotations.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData ContentFilterResults { get; }
+ ///
+ /// This indicates when the content filtering system does not run on the chat completion.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData ContentFilterError { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseCompletionRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseCompletionRequest.cs
new file mode 100644
index 000000000000..e606657c249b
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseCompletionRequest.cs
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents the base completion request with common parameters.
+ public partial class BaseCompletionRequest
+ {
+ /// Initializes a new instance of BaseCompletionRequest.
+ /// Stop sequences to terminate generation.
+ /// Adjusts likelihood of specific tokens.
+ /// The response format specification.
+ /// , or is null.
+ internal BaseCompletionRequest(IEnumerable stop, IReadOnlyDictionary logitBias, BinaryData responseFormat)
+ {
+ Argument.AssertNotNull(stop, nameof(stop));
+ Argument.AssertNotNull(logitBias, nameof(logitBias));
+ Argument.AssertNotNull(responseFormat, nameof(responseFormat));
+
+ Stop = stop.ToList();
+ LogitBias = logitBias;
+ ResponseFormat = responseFormat;
+ }
+
+ /// Initializes a new instance of BaseCompletionRequest.
+ /// The maximum number of tokens to generate.
+ /// The sampling temperature to use.
+ /// The nucleus sampling parameter.
+ /// The number of completions to generate.
+ /// Specifies whether to stream the response.
+ /// The number of log probabilities to include.
+ /// Whether to include the prompt in the output.
+ /// Stop sequences to terminate generation.
+ /// The penalty for repeating words in the presence.
+ /// The penalty for repeating tokens.
+ /// The number of completions to choose the best from.
+ /// Adjusts likelihood of specific tokens.
+ /// The response format specification.
+ internal BaseCompletionRequest(int? maxTokens, double? temperature, double? topP, int? n, bool? stream, int? logprobs, bool? echo, IReadOnlyList stop, double? presencePenalty, double? frequencyPenalty, int? bestOf, IReadOnlyDictionary logitBias, BinaryData responseFormat)
+ {
+ MaxTokens = maxTokens;
+ Temperature = temperature;
+ TopP = topP;
+ N = n;
+ Stream = stream;
+ Logprobs = logprobs;
+ Echo = echo;
+ Stop = stop;
+ PresencePenalty = presencePenalty;
+ FrequencyPenalty = frequencyPenalty;
+ BestOf = bestOf;
+ LogitBias = logitBias;
+ ResponseFormat = responseFormat;
+ }
+
+ /// The maximum number of tokens to generate.
+ public int? MaxTokens { get; }
+ /// The sampling temperature to use.
+ public double? Temperature { get; }
+ /// The nucleus sampling parameter.
+ public double? TopP { get; }
+ /// The number of completions to generate.
+ public int? N { get; }
+ /// Specifies whether to stream the response.
+ public bool? Stream { get; }
+ /// The number of log probabilities to include.
+ public int? Logprobs { get; }
+ /// Whether to include the prompt in the output.
+ public bool? Echo { get; }
+ /// Stop sequences to terminate generation.
+ public IReadOnlyList Stop { get; }
+ /// The penalty for repeating words in the presence.
+ public double? PresencePenalty { get; }
+ /// The penalty for repeating tokens.
+ public double? FrequencyPenalty { get; }
+ /// The number of completions to choose the best from.
+ public int? BestOf { get; }
+ /// Adjusts likelihood of specific tokens.
+ public IReadOnlyDictionary LogitBias { get; }
+ ///
+ /// The response format specification.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData ResponseFormat { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseCompletionResponse.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseCompletionResponse.cs
new file mode 100644
index 000000000000..bb50d60c448a
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/BaseCompletionResponse.cs
@@ -0,0 +1,130 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents the base completion response.
+ public partial class BaseCompletionResponse
+ {
+ /// Initializes a new instance of BaseCompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ /// , , , or is null.
+ internal BaseCompletionResponse(string id, string @object, DateTimeOffset created, string model, BinaryData usage, IEnumerable promptFilterResults)
+ {
+ Argument.AssertNotNull(id, nameof(id));
+ Argument.AssertNotNull(@object, nameof(@object));
+ Argument.AssertNotNull(model, nameof(model));
+ Argument.AssertNotNull(usage, nameof(usage));
+ Argument.AssertNotNull(promptFilterResults, nameof(promptFilterResults));
+
+ Id = id;
+ Object = @object;
+ Created = created;
+ Model = model;
+ Usage = usage;
+ PromptFilterResults = promptFilterResults.ToList();
+ }
+
+ /// Initializes a new instance of BaseCompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ internal BaseCompletionResponse(string id, string @object, DateTimeOffset created, string model, BinaryData usage, IReadOnlyList promptFilterResults)
+ {
+ Id = id;
+ Object = @object;
+ Created = created;
+ Model = model;
+ Usage = usage;
+ PromptFilterResults = promptFilterResults;
+ }
+
+ /// The unique identifier for the response.
+ public string Id { get; }
+ /// The object type.
+ public string Object { get; }
+ /// The creation timestamp.
+ public DateTimeOffset Created { get; }
+ /// The model used for completion.
+ public string Model { get; }
+ ///
+ /// The usage statistics for the response.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData Usage { get; }
+ ///
+ /// The results of prompt filtering.
+ ///
+ /// To assign an object to the element of this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public IReadOnlyList PromptFilterResults { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatChoice.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatChoice.Serialization.cs
new file mode 100644
index 000000000000..19ffaa37de28
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatChoice.Serialization.cs
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class ChatChoice
+ {
+ internal static ChatChoice DeserializeChatChoice(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ Message message = default;
+ int index = default;
+ BinaryData logProbs = default;
+ string finishReason = default;
+ Optional contentFilterResults = default;
+ Optional contentFilterError = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Message"u8))
+ {
+ message = Message.DeserializeMessage(property.Value);
+ continue;
+ }
+ if (property.NameEquals("Index"u8))
+ {
+ index = property.Value.GetInt32();
+ continue;
+ }
+ if (property.NameEquals("LogProbs"u8))
+ {
+ logProbs = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ if (property.NameEquals("FinishReason"u8))
+ {
+ finishReason = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("ContentFilterResults"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ contentFilterResults = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ if (property.NameEquals("ContentFilterError"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ contentFilterError = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ }
+ return new ChatChoice(index, logProbs, finishReason, contentFilterResults.Value, contentFilterError.Value, message);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ChatChoice FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeChatChoice(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatChoice.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatChoice.cs
new file mode 100644
index 000000000000..467997faab40
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatChoice.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The ChatChoice.
+ public partial class ChatChoice : BaseChoice
+ {
+ /// Initializes a new instance of ChatChoice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// The message associated with the chat choice.
+ /// , or is null.
+ internal ChatChoice(int index, BinaryData logProbs, string finishReason, Message message) : base(index, logProbs, finishReason)
+ {
+ Argument.AssertNotNull(logProbs, nameof(logProbs));
+ Argument.AssertNotNull(finishReason, nameof(finishReason));
+ Argument.AssertNotNull(message, nameof(message));
+
+ Message = message;
+ }
+
+ /// Initializes a new instance of ChatChoice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// This object contains the list of content filter annotations.
+ /// This indicates when the content filtering system does not run on the chat completion.
+ /// The message associated with the chat choice.
+ internal ChatChoice(int index, BinaryData logProbs, string finishReason, BinaryData contentFilterResults, BinaryData contentFilterError, Message message) : base(index, logProbs, finishReason, contentFilterResults, contentFilterError)
+ {
+ Message = message;
+ }
+
+ /// The message associated with the chat choice.
+ public Message Message { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionRequest.Serialization.cs
new file mode 100644
index 000000000000..0a00f6b60bbc
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionRequest.Serialization.cs
@@ -0,0 +1,136 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class ChatCompletionRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Messages"u8);
+ writer.WriteStartArray();
+ foreach (var item in Messages)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WritePropertyName("Functions"u8);
+ writer.WriteStartArray();
+ foreach (var item in Functions)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WritePropertyName("FunctionCall"u8);
+ writer.WriteStringValue(FunctionCall);
+ if (Optional.IsCollectionDefined(Tools))
+ {
+ writer.WritePropertyName("Tools"u8);
+ writer.WriteStartArray();
+ foreach (var item in Tools)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ }
+ if (Optional.IsDefined(ToolChoice))
+ {
+ writer.WritePropertyName("ToolChoice"u8);
+ writer.WriteStringValue(ToolChoice);
+ }
+ if (Optional.IsDefined(ParallelToolCalls))
+ {
+ writer.WritePropertyName("ParallelToolCalls"u8);
+ writer.WriteBooleanValue(ParallelToolCalls.Value);
+ }
+ if (Optional.IsDefined(MaxTokens))
+ {
+ writer.WritePropertyName("MaxTokens"u8);
+ writer.WriteNumberValue(MaxTokens.Value);
+ }
+ if (Optional.IsDefined(Temperature))
+ {
+ writer.WritePropertyName("Temperature"u8);
+ writer.WriteNumberValue(Temperature.Value);
+ }
+ if (Optional.IsDefined(TopP))
+ {
+ writer.WritePropertyName("TopP"u8);
+ writer.WriteNumberValue(TopP.Value);
+ }
+ if (Optional.IsDefined(N))
+ {
+ writer.WritePropertyName("N"u8);
+ writer.WriteNumberValue(N.Value);
+ }
+ if (Optional.IsDefined(Stream))
+ {
+ writer.WritePropertyName("Stream"u8);
+ writer.WriteBooleanValue(Stream.Value);
+ }
+ if (Optional.IsDefined(Logprobs))
+ {
+ writer.WritePropertyName("Logprobs"u8);
+ writer.WriteNumberValue(Logprobs.Value);
+ }
+ if (Optional.IsDefined(Echo))
+ {
+ writer.WritePropertyName("Echo"u8);
+ writer.WriteBooleanValue(Echo.Value);
+ }
+ writer.WritePropertyName("Stop"u8);
+ writer.WriteStartArray();
+ foreach (var item in Stop)
+ {
+ writer.WriteStringValue(item);
+ }
+ writer.WriteEndArray();
+ if (Optional.IsDefined(PresencePenalty))
+ {
+ writer.WritePropertyName("PresencePenalty"u8);
+ writer.WriteNumberValue(PresencePenalty.Value);
+ }
+ if (Optional.IsDefined(FrequencyPenalty))
+ {
+ writer.WritePropertyName("FrequencyPenalty"u8);
+ writer.WriteNumberValue(FrequencyPenalty.Value);
+ }
+ if (Optional.IsDefined(BestOf))
+ {
+ writer.WritePropertyName("BestOf"u8);
+ writer.WriteNumberValue(BestOf.Value);
+ }
+ writer.WritePropertyName("LogitBias"u8);
+ writer.WriteStartObject();
+ foreach (var item in LogitBias)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteNumberValue(item.Value);
+ }
+ writer.WriteEndObject();
+ writer.WritePropertyName("ResponseFormat"u8);
+#if NET6_0_OR_GREATER
+ writer.WriteRawValue(ResponseFormat);
+#else
+ JsonSerializer.Serialize(writer, JsonDocument.Parse(ResponseFormat.ToString()).RootElement);
+#endif
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionRequest.cs
new file mode 100644
index 000000000000..b9943be08f8b
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionRequest.cs
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a chat completion request.
+ public partial class ChatCompletionRequest : BaseCompletionRequest
+ {
+ /// Initializes a new instance of ChatCompletionRequest.
+ /// Stop sequences to terminate generation.
+ /// Adjusts likelihood of specific tokens.
+ /// The response format specification.
+ /// The messages associated with the request.
+ /// The functions associated with the request.
+ /// Specifies the function to call.
+ /// , , , , or is null.
+ public ChatCompletionRequest(IEnumerable stop, IReadOnlyDictionary logitBias, BinaryData responseFormat, IEnumerable messages, IEnumerable functions, string functionCall) : base(stop, logitBias, responseFormat)
+ {
+ Argument.AssertNotNull(stop, nameof(stop));
+ Argument.AssertNotNull(logitBias, nameof(logitBias));
+ Argument.AssertNotNull(responseFormat, nameof(responseFormat));
+ Argument.AssertNotNull(messages, nameof(messages));
+ Argument.AssertNotNull(functions, nameof(functions));
+ Argument.AssertNotNull(functionCall, nameof(functionCall));
+
+ Messages = messages.ToList();
+ Functions = functions.ToList();
+ FunctionCall = functionCall;
+ Tools = new ChangeTrackingList();
+ }
+
+ /// Initializes a new instance of ChatCompletionRequest.
+ /// The maximum number of tokens to generate.
+ /// The sampling temperature to use.
+ /// The nucleus sampling parameter.
+ /// The number of completions to generate.
+ /// Specifies whether to stream the response.
+ /// The number of log probabilities to include.
+ /// Whether to include the prompt in the output.
+ /// Stop sequences to terminate generation.
+ /// The penalty for repeating words in the presence.
+ /// The penalty for repeating tokens.
+ /// The number of completions to choose the best from.
+ /// Adjusts likelihood of specific tokens.
+ /// The response format specification.
+ /// The messages associated with the request.
+ /// The functions associated with the request.
+ /// Specifies the function to call.
+ /// The tools available for this request.
+ /// The selected tool for execution.
+ /// Indicates whether tools can be called in parallel.
+ internal ChatCompletionRequest(int? maxTokens, double? temperature, double? topP, int? n, bool? stream, int? logprobs, bool? echo, IReadOnlyList stop, double? presencePenalty, double? frequencyPenalty, int? bestOf, IReadOnlyDictionary logitBias, BinaryData responseFormat, IList messages, IList functions, string functionCall, IList tools, string toolChoice, bool? parallelToolCalls) : base(maxTokens, temperature, topP, n, stream, logprobs, echo, stop, presencePenalty, frequencyPenalty, bestOf, logitBias, responseFormat)
+ {
+ Messages = messages;
+ Functions = functions;
+ FunctionCall = functionCall;
+ Tools = tools;
+ ToolChoice = toolChoice;
+ ParallelToolCalls = parallelToolCalls;
+ }
+
+ /// The messages associated with the request.
+ public IList Messages { get; }
+ /// The functions associated with the request.
+ public IList Functions { get; }
+ /// Specifies the function to call.
+ public string FunctionCall { get; }
+ /// The tools available for this request.
+ public IList Tools { get; }
+ /// The selected tool for execution.
+ public string ToolChoice { get; set; }
+ /// Indicates whether tools can be called in parallel.
+ public bool? ParallelToolCalls { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionResponse.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionResponse.Serialization.cs
new file mode 100644
index 000000000000..4ad3bae15c8f
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionResponse.Serialization.cs
@@ -0,0 +1,97 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class ChatCompletionResponse
+ {
+ internal static ChatCompletionResponse DeserializeChatCompletionResponse(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ IReadOnlyList choices = default;
+ string id = default;
+ string @object = default;
+ DateTimeOffset created = default;
+ string model = default;
+ BinaryData usage = default;
+ IReadOnlyList promptFilterResults = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Choices"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(ChatChoice.DeserializeChatChoice(item));
+ }
+ choices = array;
+ continue;
+ }
+ if (property.NameEquals("Id"u8))
+ {
+ id = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Object"u8))
+ {
+ @object = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Created"u8))
+ {
+ created = property.Value.GetDateTimeOffset("O");
+ continue;
+ }
+ if (property.NameEquals("Model"u8))
+ {
+ model = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Usage"u8))
+ {
+ usage = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ if (property.NameEquals("PromptFilterResults"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ if (item.ValueKind == JsonValueKind.Null)
+ {
+ array.Add(null);
+ }
+ else
+ {
+ array.Add(BinaryData.FromString(item.GetRawText()));
+ }
+ }
+ promptFilterResults = array;
+ continue;
+ }
+ }
+ return new ChatCompletionResponse(id, @object, created, model, usage, promptFilterResults, choices);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ChatCompletionResponse FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeChatCompletionResponse(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionResponse.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionResponse.cs
new file mode 100644
index 000000000000..4ed4aba62252
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ChatCompletionResponse.cs
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The ChatCompletionResponse.
+ public partial class ChatCompletionResponse : BaseCompletionResponse
+ {
+ /// Initializes a new instance of ChatCompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ /// List of choices in the chat completion response.
+ /// , , , , or is null.
+ internal ChatCompletionResponse(string id, string @object, DateTimeOffset created, string model, BinaryData usage, IEnumerable promptFilterResults, IEnumerable choices) : base(id, @object, created, model, usage, promptFilterResults)
+ {
+ Argument.AssertNotNull(id, nameof(id));
+ Argument.AssertNotNull(@object, nameof(@object));
+ Argument.AssertNotNull(model, nameof(model));
+ Argument.AssertNotNull(usage, nameof(usage));
+ Argument.AssertNotNull(promptFilterResults, nameof(promptFilterResults));
+ Argument.AssertNotNull(choices, nameof(choices));
+
+ Choices = choices.ToList();
+ }
+
+ /// Initializes a new instance of ChatCompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ /// List of choices in the chat completion response.
+ internal ChatCompletionResponse(string id, string @object, DateTimeOffset created, string model, BinaryData usage, IReadOnlyList promptFilterResults, IReadOnlyList choices) : base(id, @object, created, model, usage, promptFilterResults)
+ {
+ Choices = choices;
+ }
+
+ /// List of choices in the chat completion response.
+ public IReadOnlyList Choices { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Choice.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Choice.Serialization.cs
new file mode 100644
index 000000000000..dcddfe8ec553
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Choice.Serialization.cs
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class Choice
+ {
+ internal static Choice DeserializeChoice(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string text = default;
+ int index = default;
+ BinaryData logProbs = default;
+ string finishReason = default;
+ Optional contentFilterResults = default;
+ Optional contentFilterError = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Text"u8))
+ {
+ text = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Index"u8))
+ {
+ index = property.Value.GetInt32();
+ continue;
+ }
+ if (property.NameEquals("LogProbs"u8))
+ {
+ logProbs = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ if (property.NameEquals("FinishReason"u8))
+ {
+ finishReason = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("ContentFilterResults"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ contentFilterResults = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ if (property.NameEquals("ContentFilterError"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ contentFilterError = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ }
+ return new Choice(index, logProbs, finishReason, contentFilterResults.Value, contentFilterError.Value, text);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static Choice FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeChoice(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Choice.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Choice.cs
new file mode 100644
index 000000000000..7a2e816bf1d7
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Choice.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The Choice.
+ public partial class Choice : BaseChoice
+ {
+ /// Initializes a new instance of Choice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ ///
+ /// , or is null.
+ internal Choice(int index, BinaryData logProbs, string finishReason, string text) : base(index, logProbs, finishReason)
+ {
+ Argument.AssertNotNull(logProbs, nameof(logProbs));
+ Argument.AssertNotNull(finishReason, nameof(finishReason));
+ Argument.AssertNotNull(text, nameof(text));
+
+ Text = text;
+ }
+
+ /// Initializes a new instance of Choice.
+ ///
+ /// Log probabilities for this choice.
+ /// The reason why the operation finished.
+ /// This object contains the list of content filter annotations.
+ /// This indicates when the content filtering system does not run on the chat completion.
+ ///
+ internal Choice(int index, BinaryData logProbs, string finishReason, BinaryData contentFilterResults, BinaryData contentFilterError, string text) : base(index, logProbs, finishReason, contentFilterResults, contentFilterError)
+ {
+ Text = text;
+ }
+
+ /// Gets the text.
+ public string Text { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionRequest.Serialization.cs
new file mode 100644
index 000000000000..4bbd1ae3c383
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionRequest.Serialization.cs
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class CompletionRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Prompt"u8);
+ writer.WriteStringValue(Prompt);
+ if (Optional.IsDefined(MaxTokens))
+ {
+ writer.WritePropertyName("MaxTokens"u8);
+ writer.WriteNumberValue(MaxTokens.Value);
+ }
+ if (Optional.IsDefined(Temperature))
+ {
+ writer.WritePropertyName("Temperature"u8);
+ writer.WriteNumberValue(Temperature.Value);
+ }
+ if (Optional.IsDefined(TopP))
+ {
+ writer.WritePropertyName("TopP"u8);
+ writer.WriteNumberValue(TopP.Value);
+ }
+ if (Optional.IsDefined(N))
+ {
+ writer.WritePropertyName("N"u8);
+ writer.WriteNumberValue(N.Value);
+ }
+ if (Optional.IsDefined(Stream))
+ {
+ writer.WritePropertyName("Stream"u8);
+ writer.WriteBooleanValue(Stream.Value);
+ }
+ if (Optional.IsDefined(Logprobs))
+ {
+ writer.WritePropertyName("Logprobs"u8);
+ writer.WriteNumberValue(Logprobs.Value);
+ }
+ if (Optional.IsDefined(Echo))
+ {
+ writer.WritePropertyName("Echo"u8);
+ writer.WriteBooleanValue(Echo.Value);
+ }
+ writer.WritePropertyName("Stop"u8);
+ writer.WriteStartArray();
+ foreach (var item in Stop)
+ {
+ writer.WriteStringValue(item);
+ }
+ writer.WriteEndArray();
+ if (Optional.IsDefined(PresencePenalty))
+ {
+ writer.WritePropertyName("PresencePenalty"u8);
+ writer.WriteNumberValue(PresencePenalty.Value);
+ }
+ if (Optional.IsDefined(FrequencyPenalty))
+ {
+ writer.WritePropertyName("FrequencyPenalty"u8);
+ writer.WriteNumberValue(FrequencyPenalty.Value);
+ }
+ if (Optional.IsDefined(BestOf))
+ {
+ writer.WritePropertyName("BestOf"u8);
+ writer.WriteNumberValue(BestOf.Value);
+ }
+ writer.WritePropertyName("LogitBias"u8);
+ writer.WriteStartObject();
+ foreach (var item in LogitBias)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteNumberValue(item.Value);
+ }
+ writer.WriteEndObject();
+ writer.WritePropertyName("ResponseFormat"u8);
+#if NET6_0_OR_GREATER
+ writer.WriteRawValue(ResponseFormat);
+#else
+ JsonSerializer.Serialize(writer, JsonDocument.Parse(ResponseFormat.ToString()).RootElement);
+#endif
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionRequest.cs
new file mode 100644
index 000000000000..7526e782b619
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionRequest.cs
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The CompletionRequest.
+ public partial class CompletionRequest : BaseCompletionRequest
+ {
+ /// Initializes a new instance of CompletionRequest.
+ /// Stop sequences to terminate generation.
+ /// Adjusts likelihood of specific tokens.
+ /// The response format specification.
+ ///
+ /// , , or is null.
+ public CompletionRequest(IEnumerable stop, IReadOnlyDictionary logitBias, BinaryData responseFormat, string prompt) : base(stop, logitBias, responseFormat)
+ {
+ Argument.AssertNotNull(stop, nameof(stop));
+ Argument.AssertNotNull(logitBias, nameof(logitBias));
+ Argument.AssertNotNull(responseFormat, nameof(responseFormat));
+ Argument.AssertNotNull(prompt, nameof(prompt));
+
+ Prompt = prompt;
+ }
+
+ /// Initializes a new instance of CompletionRequest.
+ /// The maximum number of tokens to generate.
+ /// The sampling temperature to use.
+ /// The nucleus sampling parameter.
+ /// The number of completions to generate.
+ /// Specifies whether to stream the response.
+ /// The number of log probabilities to include.
+ /// Whether to include the prompt in the output.
+ /// Stop sequences to terminate generation.
+ /// The penalty for repeating words in the presence.
+ /// The penalty for repeating tokens.
+ /// The number of completions to choose the best from.
+ /// Adjusts likelihood of specific tokens.
+ /// The response format specification.
+ ///
+ internal CompletionRequest(int? maxTokens, double? temperature, double? topP, int? n, bool? stream, int? logprobs, bool? echo, IReadOnlyList stop, double? presencePenalty, double? frequencyPenalty, int? bestOf, IReadOnlyDictionary logitBias, BinaryData responseFormat, string prompt) : base(maxTokens, temperature, topP, n, stream, logprobs, echo, stop, presencePenalty, frequencyPenalty, bestOf, logitBias, responseFormat)
+ {
+ Prompt = prompt;
+ }
+
+ /// Gets the prompt.
+ public string Prompt { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionResponse.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionResponse.Serialization.cs
new file mode 100644
index 000000000000..a4e5bef324da
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionResponse.Serialization.cs
@@ -0,0 +1,97 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class CompletionResponse
+ {
+ internal static CompletionResponse DeserializeCompletionResponse(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ IReadOnlyList choices = default;
+ string id = default;
+ string @object = default;
+ DateTimeOffset created = default;
+ string model = default;
+ BinaryData usage = default;
+ IReadOnlyList promptFilterResults = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Choices"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(Choice.DeserializeChoice(item));
+ }
+ choices = array;
+ continue;
+ }
+ if (property.NameEquals("Id"u8))
+ {
+ id = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Object"u8))
+ {
+ @object = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Created"u8))
+ {
+ created = property.Value.GetDateTimeOffset("O");
+ continue;
+ }
+ if (property.NameEquals("Model"u8))
+ {
+ model = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Usage"u8))
+ {
+ usage = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ if (property.NameEquals("PromptFilterResults"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ if (item.ValueKind == JsonValueKind.Null)
+ {
+ array.Add(null);
+ }
+ else
+ {
+ array.Add(BinaryData.FromString(item.GetRawText()));
+ }
+ }
+ promptFilterResults = array;
+ continue;
+ }
+ }
+ return new CompletionResponse(id, @object, created, model, usage, promptFilterResults, choices);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static CompletionResponse FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeCompletionResponse(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionResponse.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionResponse.cs
new file mode 100644
index 000000000000..19f0388ffbc1
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CompletionResponse.cs
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The CompletionResponse.
+ public partial class CompletionResponse : BaseCompletionResponse
+ {
+ /// Initializes a new instance of CompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ ///
+ /// , , , , or is null.
+ internal CompletionResponse(string id, string @object, DateTimeOffset created, string model, BinaryData usage, IEnumerable promptFilterResults, IEnumerable choices) : base(id, @object, created, model, usage, promptFilterResults)
+ {
+ Argument.AssertNotNull(id, nameof(id));
+ Argument.AssertNotNull(@object, nameof(@object));
+ Argument.AssertNotNull(model, nameof(model));
+ Argument.AssertNotNull(usage, nameof(usage));
+ Argument.AssertNotNull(promptFilterResults, nameof(promptFilterResults));
+ Argument.AssertNotNull(choices, nameof(choices));
+
+ Choices = choices.ToList();
+ }
+
+ /// Initializes a new instance of CompletionResponse.
+ /// The unique identifier for the response.
+ /// The object type.
+ /// The creation timestamp.
+ /// The model used for completion.
+ /// The usage statistics for the response.
+ /// The results of prompt filtering.
+ ///
+ internal CompletionResponse(string id, string @object, DateTimeOffset created, string model, BinaryData usage, IReadOnlyList promptFilterResults, IReadOnlyList choices) : base(id, @object, created, model, usage, promptFilterResults)
+ {
+ Choices = choices;
+ }
+
+ /// Gets the choices.
+ public IReadOnlyList Choices { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ComplianceFlags.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ComplianceFlags.Serialization.cs
new file mode 100644
index 000000000000..0536cf137f65
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ComplianceFlags.Serialization.cs
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class ComplianceFlags
+ {
+ internal static ComplianceFlags DeserializeComplianceFlags(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ bool recordLog = default;
+ bool customerOptedInToEyesOnProductImprovement = default;
+ bool customerOptedInToModelImprovement = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("recordLog"u8))
+ {
+ recordLog = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("customerOptedInToEyesOnProductImprovement"u8))
+ {
+ customerOptedInToEyesOnProductImprovement = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("customerOptedInToModelImprovement"u8))
+ {
+ customerOptedInToModelImprovement = property.Value.GetBoolean();
+ continue;
+ }
+ }
+ return new ComplianceFlags(recordLog, customerOptedInToEyesOnProductImprovement, customerOptedInToModelImprovement);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ComplianceFlags FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeComplianceFlags(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ComplianceFlags.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ComplianceFlags.cs
new file mode 100644
index 000000000000..209c0a785d43
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ComplianceFlags.cs
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// ComplianceFlags.
+ public partial class ComplianceFlags
+ {
+ /// Initializes a new instance of ComplianceFlags.
+ /// Whether to record logs in Geneva and Kusto for this user.
+ /// Locked down tables not required and non-customer content table does not have to be redacted.
+ /// When this is true, the data may be used for model improvement. This flag does not affect redaction.
+ internal ComplianceFlags(bool recordLog, bool customerOptedInToEyesOnProductImprovement, bool customerOptedInToModelImprovement)
+ {
+ RecordLog = recordLog;
+ CustomerOptedInToEyesOnProductImprovement = customerOptedInToEyesOnProductImprovement;
+ CustomerOptedInToModelImprovement = customerOptedInToModelImprovement;
+ }
+
+ /// Whether to record logs in Geneva and Kusto for this user.
+ public bool RecordLog { get; }
+ /// Locked down tables not required and non-customer content table does not have to be redacted.
+ public bool CustomerOptedInToEyesOnProductImprovement { get; }
+ /// When this is true, the data may be used for model improvement. This flag does not affect redaction.
+ public bool CustomerOptedInToModelImprovement { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateChatCompletionRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateChatCompletionRequest.Serialization.cs
new file mode 100644
index 000000000000..58cde763549e
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateChatCompletionRequest.Serialization.cs
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class CreateChatCompletionRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Optional.IsDefined(DeploymentId))
+ {
+ writer.WritePropertyName("deploymentId"u8);
+ writer.WriteStringValue(DeploymentId);
+ }
+ writer.WritePropertyName("chatCompletionRequest"u8);
+ writer.WriteObjectValue(ChatCompletionRequest);
+ if (Optional.IsDefined(OpenAiExecutionContext))
+ {
+ writer.WritePropertyName("openAiExecutionContext"u8);
+ writer.WriteObjectValue(OpenAiExecutionContext);
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateChatCompletionRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateChatCompletionRequest.cs
new file mode 100644
index 000000000000..11ffd1d35d36
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateChatCompletionRequest.cs
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a request to create a chat completion.
+ public partial class CreateChatCompletionRequest
+ {
+ /// Initializes a new instance of CreateChatCompletionRequest.
+ /// The chat completion request details.
+ /// is null.
+ public CreateChatCompletionRequest(ChatCompletionRequest chatCompletionRequest)
+ {
+ Argument.AssertNotNull(chatCompletionRequest, nameof(chatCompletionRequest));
+
+ ChatCompletionRequest = chatCompletionRequest;
+ }
+
+ /// Initializes a new instance of CreateChatCompletionRequest.
+ /// The deployment ID.
+ /// The chat completion request details.
+ /// The Azure OpenAI execution context.
+ internal CreateChatCompletionRequest(string deploymentId, ChatCompletionRequest chatCompletionRequest, AzureOpenAIExecutionContext openAiExecutionContext)
+ {
+ DeploymentId = deploymentId;
+ ChatCompletionRequest = chatCompletionRequest;
+ OpenAiExecutionContext = openAiExecutionContext;
+ }
+
+ /// The deployment ID.
+ public string DeploymentId { get; set; }
+ /// The chat completion request details.
+ public ChatCompletionRequest ChatCompletionRequest { get; }
+ /// The Azure OpenAI execution context.
+ public AzureOpenAIExecutionContext OpenAiExecutionContext { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateCompletionRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateCompletionRequest.Serialization.cs
new file mode 100644
index 000000000000..72a2a13adca6
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateCompletionRequest.Serialization.cs
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class CreateCompletionRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Optional.IsDefined(DeploymentId))
+ {
+ writer.WritePropertyName("deploymentId"u8);
+ writer.WriteStringValue(DeploymentId);
+ }
+ writer.WritePropertyName("completionRequest"u8);
+ writer.WriteObjectValue(CompletionRequest);
+ if (Optional.IsDefined(OpenAiExecutionContext))
+ {
+ writer.WritePropertyName("openAiExecutionContext"u8);
+ writer.WriteObjectValue(OpenAiExecutionContext);
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateCompletionRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateCompletionRequest.cs
new file mode 100644
index 000000000000..abd6aa12588a
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateCompletionRequest.cs
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a request to create a chat completion.
+ public partial class CreateCompletionRequest
+ {
+ /// Initializes a new instance of CreateCompletionRequest.
+ /// The chat completion request details.
+ /// is null.
+ public CreateCompletionRequest(CompletionRequest completionRequest)
+ {
+ Argument.AssertNotNull(completionRequest, nameof(completionRequest));
+
+ CompletionRequest = completionRequest;
+ }
+
+ /// Initializes a new instance of CreateCompletionRequest.
+ /// The deployment ID.
+ /// The chat completion request details.
+ /// The Azure OpenAI execution context.
+ internal CreateCompletionRequest(string deploymentId, CompletionRequest completionRequest, AzureOpenAIExecutionContext openAiExecutionContext)
+ {
+ DeploymentId = deploymentId;
+ CompletionRequest = completionRequest;
+ OpenAiExecutionContext = openAiExecutionContext;
+ }
+
+ /// The deployment ID.
+ public string DeploymentId { get; set; }
+ /// The chat completion request details.
+ public CompletionRequest CompletionRequest { get; }
+ /// The Azure OpenAI execution context.
+ public AzureOpenAIExecutionContext OpenAiExecutionContext { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateEmbeddingRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateEmbeddingRequest.Serialization.cs
new file mode 100644
index 000000000000..d7f2aa65ce6f
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateEmbeddingRequest.Serialization.cs
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class CreateEmbeddingRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Optional.IsDefined(DeploymentId))
+ {
+ writer.WritePropertyName("deploymentId"u8);
+ writer.WriteStringValue(DeploymentId);
+ }
+ writer.WritePropertyName("embeddingRequest"u8);
+ writer.WriteObjectValue(EmbeddingRequest);
+ if (Optional.IsDefined(OpenAiExecutionContext))
+ {
+ writer.WritePropertyName("openAiExecutionContext"u8);
+ writer.WriteObjectValue(OpenAiExecutionContext);
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateEmbeddingRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateEmbeddingRequest.cs
new file mode 100644
index 000000000000..3ed9beb39061
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/CreateEmbeddingRequest.cs
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a request to create embedding.
+ public partial class CreateEmbeddingRequest
+ {
+ /// Initializes a new instance of CreateEmbeddingRequest.
+ /// The embedding request details.
+ /// is null.
+ public CreateEmbeddingRequest(EmbeddingRequest embeddingRequest)
+ {
+ Argument.AssertNotNull(embeddingRequest, nameof(embeddingRequest));
+
+ EmbeddingRequest = embeddingRequest;
+ }
+
+ /// Initializes a new instance of CreateEmbeddingRequest.
+ /// The deployment ID.
+ /// The embedding request details.
+ /// The Azure OpenAI execution context.
+ internal CreateEmbeddingRequest(string deploymentId, EmbeddingRequest embeddingRequest, AzureOpenAIExecutionContext openAiExecutionContext)
+ {
+ DeploymentId = deploymentId;
+ EmbeddingRequest = embeddingRequest;
+ OpenAiExecutionContext = openAiExecutionContext;
+ }
+
+ /// The deployment ID.
+ public string DeploymentId { get; set; }
+ /// The embedding request details.
+ public EmbeddingRequest EmbeddingRequest { get; }
+ /// The Azure OpenAI execution context.
+ public AzureOpenAIExecutionContext OpenAiExecutionContext { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingData.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingData.Serialization.cs
new file mode 100644
index 000000000000..eb1b12b7dbdd
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingData.Serialization.cs
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class EmbeddingData
+ {
+ internal static EmbeddingData DeserializeEmbeddingData(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ IReadOnlyList embedding = default;
+ int index = default;
+ string @object = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Embedding"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(item.GetSingle());
+ }
+ embedding = array;
+ continue;
+ }
+ if (property.NameEquals("Index"u8))
+ {
+ index = property.Value.GetInt32();
+ continue;
+ }
+ if (property.NameEquals("Object"u8))
+ {
+ @object = property.Value.GetString();
+ continue;
+ }
+ }
+ return new EmbeddingData(embedding, index, @object);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static EmbeddingData FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeEmbeddingData(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingData.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingData.cs
new file mode 100644
index 000000000000..e7e1e774486f
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingData.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The EmbeddingData.
+ public partial class EmbeddingData
+ {
+ /// Initializes a new instance of EmbeddingData.
+ ///
+ ///
+ ///
+ /// or is null.
+ internal EmbeddingData(IEnumerable embedding, int index, string @object)
+ {
+ Argument.AssertNotNull(embedding, nameof(embedding));
+ Argument.AssertNotNull(@object, nameof(@object));
+
+ Embedding = embedding.ToList();
+ Index = index;
+ Object = @object;
+ }
+
+ /// Initializes a new instance of EmbeddingData.
+ ///
+ ///
+ ///
+ internal EmbeddingData(IReadOnlyList embedding, int index, string @object)
+ {
+ Embedding = embedding;
+ Index = index;
+ Object = @object;
+ }
+
+ /// Gets the embedding.
+ public IReadOnlyList Embedding { get; }
+ /// Gets the index.
+ public int Index { get; }
+ /// Gets the object.
+ public string Object { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingRequest.Serialization.cs
new file mode 100644
index 000000000000..58bd9e548852
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingRequest.Serialization.cs
@@ -0,0 +1,35 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class EmbeddingRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Input"u8);
+#if NET6_0_OR_GREATER
+ writer.WriteRawValue(Input);
+#else
+ JsonSerializer.Serialize(writer, JsonDocument.Parse(Input.ToString()).RootElement);
+#endif
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingRequest.cs
new file mode 100644
index 000000000000..f6e45cdee760
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingRequest.cs
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The EmbeddingRequest.
+ public partial class EmbeddingRequest
+ {
+ /// Initializes a new instance of EmbeddingRequest.
+ /// The object to embed.
+ /// is null.
+ public EmbeddingRequest(BinaryData input)
+ {
+ Argument.AssertNotNull(input, nameof(input));
+
+ Input = input;
+ }
+
+ ///
+ /// The object to embed.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData Input { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingResponse.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingResponse.Serialization.cs
new file mode 100644
index 000000000000..b48f7154f747
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingResponse.Serialization.cs
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class EmbeddingResponse
+ {
+ internal static EmbeddingResponse DeserializeEmbeddingResponse(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ IReadOnlyList data = default;
+ string model = default;
+ string @object = default;
+ BinaryData usage = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Data"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(EmbeddingData.DeserializeEmbeddingData(item));
+ }
+ data = array;
+ continue;
+ }
+ if (property.NameEquals("Model"u8))
+ {
+ model = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Object"u8))
+ {
+ @object = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Usage"u8))
+ {
+ usage = BinaryData.FromString(property.Value.GetRawText());
+ continue;
+ }
+ }
+ return new EmbeddingResponse(data, model, @object, usage);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static EmbeddingResponse FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeEmbeddingResponse(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingResponse.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingResponse.cs
new file mode 100644
index 000000000000..8a7d2116bddc
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EmbeddingResponse.cs
@@ -0,0 +1,88 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The EmbeddingResponse.
+ public partial class EmbeddingResponse
+ {
+ /// Initializes a new instance of EmbeddingResponse.
+ ///
+ ///
+ ///
+ ///
+ /// , , or is null.
+ internal EmbeddingResponse(IEnumerable data, string model, string @object, BinaryData usage)
+ {
+ Argument.AssertNotNull(data, nameof(data));
+ Argument.AssertNotNull(model, nameof(model));
+ Argument.AssertNotNull(@object, nameof(@object));
+ Argument.AssertNotNull(usage, nameof(usage));
+
+ Data = data.ToList();
+ Model = model;
+ Object = @object;
+ Usage = usage;
+ }
+
+ /// Initializes a new instance of EmbeddingResponse.
+ ///
+ ///
+ ///
+ ///
+ internal EmbeddingResponse(IReadOnlyList data, string model, string @object, BinaryData usage)
+ {
+ Data = data;
+ Model = model;
+ Object = @object;
+ Usage = usage;
+ }
+
+ /// Gets the data.
+ public IReadOnlyList Data { get; }
+ /// Gets the model.
+ public string Model { get; }
+ /// Gets the object.
+ public string Object { get; }
+ ///
+ /// Gets the usage
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData Usage { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationInvocationCategory.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationInvocationCategory.cs
new file mode 100644
index 000000000000..be0e6c69167e
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationInvocationCategory.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ComponentModel;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Evaluation Invocation Category.
+ public readonly partial struct EvaluationInvocationCategory : IEquatable
+ {
+ private readonly string _value;
+
+ /// Initializes a new instance of .
+ /// is null.
+ public EvaluationInvocationCategory(string value)
+ {
+ _value = value ?? throw new ArgumentNullException(nameof(value));
+ }
+
+ private const string UserPromptValue = "UserPrompt";
+ private const string PromptbooksValue = "Promptbooks";
+
+ /// Generated from a Prompt.
+ public static EvaluationInvocationCategory UserPrompt { get; } = new EvaluationInvocationCategory(UserPromptValue);
+ /// Generated from a Promptbook.
+ public static EvaluationInvocationCategory Promptbooks { get; } = new EvaluationInvocationCategory(PromptbooksValue);
+ /// Determines if two values are the same.
+ public static bool operator ==(EvaluationInvocationCategory left, EvaluationInvocationCategory right) => left.Equals(right);
+ /// Determines if two values are not the same.
+ public static bool operator !=(EvaluationInvocationCategory left, EvaluationInvocationCategory right) => !left.Equals(right);
+ /// Converts a string to a .
+ public static implicit operator EvaluationInvocationCategory(string value) => new EvaluationInvocationCategory(value);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override bool Equals(object obj) => obj is EvaluationInvocationCategory other && Equals(other);
+ ///
+ public bool Equals(EvaluationInvocationCategory other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+ ///
+ public override string ToString() => _value;
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationInvocationType.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationInvocationType.cs
new file mode 100644
index 000000000000..4d1ea7e91f31
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationInvocationType.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ComponentModel;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Evaluation Invocation Type.
+ public readonly partial struct EvaluationInvocationType : IEquatable
+ {
+ private readonly string _value;
+
+ /// Initializes a new instance of .
+ /// is null.
+ public EvaluationInvocationType(string value)
+ {
+ _value = value ?? throw new ArgumentNullException(nameof(value));
+ }
+
+ private const string ManualValue = "Manual";
+ private const string AutomatedValue = "Automated";
+
+ /// Manual generation.
+ public static EvaluationInvocationType Manual { get; } = new EvaluationInvocationType(ManualValue);
+ /// Automated generation.
+ public static EvaluationInvocationType Automated { get; } = new EvaluationInvocationType(AutomatedValue);
+ /// Determines if two values are the same.
+ public static bool operator ==(EvaluationInvocationType left, EvaluationInvocationType right) => left.Equals(right);
+ /// Determines if two values are not the same.
+ public static bool operator !=(EvaluationInvocationType left, EvaluationInvocationType right) => !left.Equals(right);
+ /// Converts a string to a .
+ public static implicit operator EvaluationInvocationType(string value) => new EvaluationInvocationType(value);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override bool Equals(object obj) => obj is EvaluationInvocationType other && Equals(other);
+ ///
+ public bool Equals(EvaluationInvocationType other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+ ///
+ public override string ToString() => _value;
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationResultOutput.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationResultOutput.Serialization.cs
new file mode 100644
index 000000000000..21e3a7f31750
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationResultOutput.Serialization.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class EvaluationResultOutput : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("skillOutputType"u8);
+ writer.WriteStringValue(SkillOutputType.ToString());
+ if (Optional.IsDefined(PrimitiveOutput))
+ {
+ writer.WritePropertyName("primitiveOutput"u8);
+ writer.WriteObjectValue(PrimitiveOutput);
+ }
+ if (Optional.IsDefined(StructuredOutput))
+ {
+ writer.WritePropertyName("structuredOutput"u8);
+ writer.WriteObjectValue(StructuredOutput);
+ }
+ if (Optional.IsDefined(PrimitiveOutputValue))
+ {
+ writer.WritePropertyName("primitiveOutputValue"u8);
+ writer.WriteStringValue(PrimitiveOutputValue);
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationResultOutput.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationResultOutput.cs
new file mode 100644
index 000000000000..dad0eb29ee2b
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/EvaluationResultOutput.cs
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The EvaluationResultOutput.
+ public partial class EvaluationResultOutput
+ {
+ /// Initializes a new instance of EvaluationResultOutput.
+ ///
+ public EvaluationResultOutput(SkillOutputType skillOutputType)
+ {
+ SkillOutputType = skillOutputType;
+ }
+
+ /// Initializes a new instance of EvaluationResultOutput.
+ ///
+ ///
+ ///
+ ///
+ internal EvaluationResultOutput(SkillOutputType skillOutputType, OutputSkillVariable primitiveOutput, SkillStructuredOutput structuredOutput, string primitiveOutputValue)
+ {
+ SkillOutputType = skillOutputType;
+ PrimitiveOutput = primitiveOutput;
+ StructuredOutput = structuredOutput;
+ PrimitiveOutputValue = primitiveOutputValue;
+ }
+
+ /// Gets the skill output type.
+ public SkillOutputType SkillOutputType { get; }
+ /// Gets or sets the primitive output.
+ public OutputSkillVariable PrimitiveOutput { get; set; }
+ /// Gets or sets the structured output.
+ public SkillStructuredOutput StructuredOutput { get; set; }
+ /// Gets or sets the primitive output value.
+ public string PrimitiveOutputValue { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionCall.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionCall.Serialization.cs
new file mode 100644
index 000000000000..3e44393853f8
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionCall.Serialization.cs
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class FunctionCall : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Name"u8);
+ writer.WriteStringValue(Name);
+ if (Optional.IsCollectionDefined(Arguments))
+ {
+ writer.WritePropertyName("Arguments"u8);
+ writer.WriteStartObject();
+ foreach (var item in Arguments)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteStringValue(item.Value);
+ }
+ writer.WriteEndObject();
+ }
+ writer.WriteEndObject();
+ }
+
+ internal static FunctionCall DeserializeFunctionCall(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string name = default;
+ Optional> arguments = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Name"u8))
+ {
+ name = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Arguments"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, property0.Value.GetString());
+ }
+ arguments = dictionary;
+ continue;
+ }
+ }
+ return new FunctionCall(name, Optional.ToDictionary(arguments));
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static FunctionCall FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeFunctionCall(document.RootElement);
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionCall.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionCall.cs
new file mode 100644
index 000000000000..ac2308c1b499
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionCall.cs
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a function call.
+ public partial class FunctionCall
+ {
+ /// Initializes a new instance of FunctionCall.
+ /// The name of the function.
+ /// is null.
+ public FunctionCall(string name)
+ {
+ Argument.AssertNotNull(name, nameof(name));
+
+ Name = name;
+ Arguments = new ChangeTrackingDictionary();
+ }
+
+ /// Initializes a new instance of FunctionCall.
+ /// The name of the function.
+ /// The arguments passed to the function.
+ internal FunctionCall(string name, IDictionary arguments)
+ {
+ Name = name;
+ Arguments = arguments;
+ }
+
+ /// The name of the function.
+ public string Name { get; set; }
+ /// The arguments passed to the function.
+ public IDictionary Arguments { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionDefinition.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionDefinition.Serialization.cs
new file mode 100644
index 000000000000..a1c654ccfdcb
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionDefinition.Serialization.cs
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class FunctionDefinition : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Description"u8);
+ writer.WriteStringValue(Description);
+ writer.WritePropertyName("Name"u8);
+ writer.WriteStringValue(Name);
+ writer.WritePropertyName("Parameters"u8);
+#if NET6_0_OR_GREATER
+ writer.WriteRawValue(Parameters);
+#else
+ JsonSerializer.Serialize(writer, JsonDocument.Parse(Parameters.ToString()).RootElement);
+#endif
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionDefinition.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionDefinition.cs
new file mode 100644
index 000000000000..e661cc806aa4
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionDefinition.cs
@@ -0,0 +1,68 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents the definition of a function.
+ public partial class FunctionDefinition
+ {
+ /// Initializes a new instance of FunctionDefinition.
+ /// The description of the function.
+ /// The name of the function.
+ /// The parameters for the function.
+ /// , or is null.
+ public FunctionDefinition(string description, string name, BinaryData parameters)
+ {
+ Argument.AssertNotNull(description, nameof(description));
+ Argument.AssertNotNull(name, nameof(name));
+ Argument.AssertNotNull(parameters, nameof(parameters));
+
+ Description = description;
+ Name = name;
+ Parameters = parameters;
+ }
+
+ /// The description of the function.
+ public string Description { get; }
+ /// The name of the function.
+ public string Name { get; }
+ ///
+ /// The parameters for the function.
+ ///
+ /// To assign an object to this property use .
+ ///
+ ///
+ /// To assign an already formated json string to this property use .
+ ///
+ ///
+ /// Examples:
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson("foo")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromString("\"foo\"")
+ /// Creates a payload of "foo".
+ ///
+ /// -
+ /// BinaryData.FromObjectAsJson(new { key = "value" })
+ /// Creates a payload of { "key": "value" }.
+ ///
+ /// -
+ /// BinaryData.FromString("{\"key\": \"value\"}")
+ /// Creates a payload of { "key": "value" }.
+ ///
+ ///
+ ///
+ ///
+ public BinaryData Parameters { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameter.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameter.Serialization.cs
new file mode 100644
index 000000000000..762f54c7b5b6
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameter.Serialization.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class FunctionParameter : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Type"u8);
+ writer.WriteStringValue(Type);
+ writer.WritePropertyName("Properties"u8);
+ writer.WriteStartObject();
+ foreach (var item in Properties)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteObjectValue(item.Value);
+ }
+ writer.WriteEndObject();
+ writer.WritePropertyName("Required"u8);
+ writer.WriteStartArray();
+ foreach (var item in Required)
+ {
+ writer.WriteStringValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameter.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameter.cs
new file mode 100644
index 000000000000..ac337f06febd
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameter.cs
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents parameters for a function.
+ public partial class FunctionParameter
+ {
+ /// Initializes a new instance of FunctionParameter.
+ /// The type of the parameter.
+ /// The properties of the parameter.
+ /// The list of required properties.
+ /// , or is null.
+ public FunctionParameter(string type, IDictionary properties, IEnumerable required)
+ {
+ Argument.AssertNotNull(type, nameof(type));
+ Argument.AssertNotNull(properties, nameof(properties));
+ Argument.AssertNotNull(required, nameof(required));
+
+ Type = type;
+ Properties = properties;
+ Required = required.ToList();
+ }
+
+ /// Initializes a new instance of FunctionParameter.
+ /// The type of the parameter.
+ /// The properties of the parameter.
+ /// The list of required properties.
+ internal FunctionParameter(string type, IDictionary properties, IList required)
+ {
+ Type = type;
+ Properties = properties;
+ Required = required;
+ }
+
+ /// The type of the parameter.
+ public string Type { get; }
+ /// The properties of the parameter.
+ public IDictionary Properties { get; }
+ /// The list of required properties.
+ public IList Required { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameterProperty.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameterProperty.Serialization.cs
new file mode 100644
index 000000000000..b25de89f42e3
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameterProperty.Serialization.cs
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class FunctionParameterProperty : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Type"u8);
+ writer.WriteStringValue(Type);
+ writer.WritePropertyName("Description"u8);
+ writer.WriteStringValue(Description);
+ writer.WritePropertyName("Enum"u8);
+ writer.WriteStartArray();
+ foreach (var item in Enum)
+ {
+ writer.WriteStringValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameterProperty.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameterProperty.cs
new file mode 100644
index 000000000000..5a107c8f2c83
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionParameterProperty.cs
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents parameters properties for a function.
+ public partial class FunctionParameterProperty
+ {
+ /// Initializes a new instance of FunctionParameterProperty.
+ /// The type of the parameter property.
+ /// The description of property of the parameter.
+ /// The list of enums.
+ /// , or is null.
+ public FunctionParameterProperty(string type, string description, IEnumerable @enum)
+ {
+ Argument.AssertNotNull(type, nameof(type));
+ Argument.AssertNotNull(description, nameof(description));
+ Argument.AssertNotNull(@enum, nameof(@enum));
+
+ Type = type;
+ Description = description;
+ Enum = @enum.ToList();
+ }
+
+ /// Initializes a new instance of FunctionParameterProperty.
+ /// The type of the parameter property.
+ /// The description of property of the parameter.
+ /// The list of enums.
+ internal FunctionParameterProperty(string type, string description, IList @enum)
+ {
+ Type = type;
+ Description = description;
+ Enum = @enum;
+ }
+
+ /// The type of the parameter property.
+ public string Type { get; }
+ /// The description of property of the parameter.
+ public string Description { get; }
+ /// The list of enums.
+ public IList Enum { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionResult.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionResult.Serialization.cs
new file mode 100644
index 000000000000..c31059ce5dcc
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionResult.Serialization.cs
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class FunctionResult : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Type"u8);
+ writer.WriteStringValue(Type);
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionResult.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionResult.cs
new file mode 100644
index 000000000000..1714a3e5efa2
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/FunctionResult.cs
@@ -0,0 +1,29 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents the result of a function.
+ public partial class FunctionResult
+ {
+ /// Initializes a new instance of FunctionResult.
+ /// The type of the result.
+ /// is null.
+ public FunctionResult(string type)
+ {
+ Argument.AssertNotNull(type, nameof(type));
+
+ Type = type;
+ }
+
+ /// The type of the result.
+ public string Type { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GPTFunction.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GPTFunction.Serialization.cs
new file mode 100644
index 000000000000..e4198c588b8c
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GPTFunction.Serialization.cs
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class GPTFunction : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("Name"u8);
+ writer.WriteStringValue(Name);
+ writer.WritePropertyName("Description"u8);
+ writer.WriteStringValue(Description);
+ writer.WritePropertyName("Parameters"u8);
+ writer.WriteObjectValue(Parameters);
+ writer.WritePropertyName("Result"u8);
+ writer.WriteObjectValue(Result);
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GPTFunction.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GPTFunction.cs
new file mode 100644
index 000000000000..9215851ec46b
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GPTFunction.cs
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a GPT function definition.
+ public partial class GPTFunction
+ {
+ /// Initializes a new instance of GPTFunction.
+ /// The name of the GPT function.
+ /// The description of the GPT function.
+ /// The parameters required by the GPT function.
+ /// The result of the GPT function.
+ /// , , or is null.
+ public GPTFunction(string name, string description, FunctionParameter parameters, FunctionResult result)
+ {
+ Argument.AssertNotNull(name, nameof(name));
+ Argument.AssertNotNull(description, nameof(description));
+ Argument.AssertNotNull(parameters, nameof(parameters));
+ Argument.AssertNotNull(result, nameof(result));
+
+ Name = name;
+ Description = description;
+ Parameters = parameters;
+ Result = result;
+ }
+
+ /// The name of the GPT function.
+ public string Name { get; }
+ /// The description of the GPT function.
+ public string Description { get; }
+ /// The parameters required by the GPT function.
+ public FunctionParameter Parameters { get; }
+ /// The result of the GPT function.
+ public FunctionResult Result { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetInputRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetInputRequest.Serialization.cs
new file mode 100644
index 000000000000..b5bd69e7e78f
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetInputRequest.Serialization.cs
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class GetInputRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("inputName"u8);
+ writer.WriteStringValue(InputName);
+ if (Optional.IsDefined(DefaultValue))
+ {
+ if (DefaultValue != null)
+ {
+ writer.WritePropertyName("defaultValue"u8);
+ writer.WriteObjectValue(DefaultValue);
+ }
+ else
+ {
+ writer.WriteNull("defaultValue");
+ }
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetInputRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetInputRequest.cs
new file mode 100644
index 000000000000..cf99bb06ba09
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetInputRequest.cs
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// GetInputRequest.
+ public partial class GetInputRequest
+ {
+ /// Initializes a new instance of GetInputRequest.
+ /// Input Name.
+ /// is null.
+ public GetInputRequest(string inputName)
+ {
+ Argument.AssertNotNull(inputName, nameof(inputName));
+
+ InputName = inputName;
+ }
+
+ /// Initializes a new instance of GetInputRequest.
+ /// Input Name.
+ /// Default value for the input.
+ internal GetInputRequest(string inputName, SkillVariable defaultValue)
+ {
+ InputName = inputName;
+ DefaultValue = defaultValue;
+ }
+
+ /// Input Name.
+ public string InputName { get; }
+ /// Default value for the input.
+ public SkillVariable DefaultValue { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetTokenCredentialRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetTokenCredentialRequest.Serialization.cs
new file mode 100644
index 000000000000..f9b0084a34d4
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetTokenCredentialRequest.Serialization.cs
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class GetTokenCredentialRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("scopes"u8);
+ writer.WriteStartArray();
+ foreach (var item in Scopes)
+ {
+ writer.WriteStringValue(item);
+ }
+ writer.WriteEndArray();
+ writer.WritePropertyName("tokenCredentialType"u8);
+ writer.WriteStringValue(TokenCredentialType.ToString());
+ if (Optional.IsDefined(TenantId))
+ {
+ if (TenantId != null)
+ {
+ writer.WritePropertyName("tenantId"u8);
+ writer.WriteStringValue(TenantId);
+ }
+ else
+ {
+ writer.WriteNull("tenantId");
+ }
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetTokenCredentialRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetTokenCredentialRequest.cs
new file mode 100644
index 000000000000..a77e10c58b40
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/GetTokenCredentialRequest.cs
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// TokenCredentialRequest.
+ public partial class GetTokenCredentialRequest
+ {
+ /// Initializes a new instance of GetTokenCredentialRequest.
+ /// Scopes.
+ /// TokenCredential Type.
+ /// is null.
+ public GetTokenCredentialRequest(IEnumerable scopes, TokenCredentialEnum tokenCredentialType)
+ {
+ Argument.AssertNotNull(scopes, nameof(scopes));
+
+ Scopes = scopes.ToList();
+ TokenCredentialType = tokenCredentialType;
+ }
+
+ /// Initializes a new instance of GetTokenCredentialRequest.
+ /// Scopes.
+ /// TokenCredential Type.
+ /// TenantId.
+ internal GetTokenCredentialRequest(IList scopes, TokenCredentialEnum tokenCredentialType, string tenantId)
+ {
+ Scopes = scopes;
+ TokenCredentialType = tokenCredentialType;
+ TenantId = tenantId;
+ }
+
+ /// Scopes.
+ public IList Scopes { get; }
+ /// TokenCredential Type.
+ public TokenCredentialEnum TokenCredentialType { get; }
+ /// TenantId.
+ public string TenantId { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/InvokeSkillRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/InvokeSkillRequest.Serialization.cs
new file mode 100644
index 000000000000..961c38aee8f7
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/InvokeSkillRequest.Serialization.cs
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class InvokeSkillRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Optional.IsDefined(SkillsetName))
+ {
+ writer.WritePropertyName("skillsetName"u8);
+ writer.WriteStringValue(SkillsetName);
+ }
+ writer.WritePropertyName("skillName"u8);
+ writer.WriteStringValue(SkillName);
+ if (Inputs != null && Optional.IsCollectionDefined(Inputs))
+ {
+ writer.WritePropertyName("inputs"u8);
+ writer.WriteStartObject();
+ foreach (var item in Inputs)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteObjectValue(item.Value);
+ }
+ writer.WriteEndObject();
+ }
+ else
+ {
+ writer.WriteNull("inputs");
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/InvokeSkillRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/InvokeSkillRequest.cs
new file mode 100644
index 000000000000..bf31f0df9056
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/InvokeSkillRequest.cs
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Invoke skill request including necessary inputs for invoking a skill.
+ public partial class InvokeSkillRequest
+ {
+ /// Initializes a new instance of InvokeSkillRequest.
+ /// Name of skill to be invoked.
+ /// Skill inputs.
+ /// is null.
+ public InvokeSkillRequest(string skillName, IDictionary inputs)
+ {
+ Argument.AssertNotNull(skillName, nameof(skillName));
+
+ SkillName = skillName;
+ Inputs = inputs;
+ }
+
+ /// Initializes a new instance of InvokeSkillRequest.
+ /// Name of skillset in which desired skill to invoke resides.
+ /// Name of skill to be invoked.
+ /// Skill inputs.
+ internal InvokeSkillRequest(string skillsetName, string skillName, IDictionary inputs)
+ {
+ SkillsetName = skillsetName;
+ SkillName = skillName;
+ Inputs = inputs;
+ }
+
+ /// Name of skillset in which desired skill to invoke resides.
+ public string SkillsetName { get; set; }
+ /// Name of skill to be invoked.
+ public string SkillName { get; }
+ /// Skill inputs.
+ public IDictionary Inputs { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/LogProgressRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/LogProgressRequest.Serialization.cs
new file mode 100644
index 000000000000..bd8762cd0b9c
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/LogProgressRequest.Serialization.cs
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class LogProgressRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Optional.IsDefined(Level))
+ {
+ writer.WritePropertyName("level"u8);
+ writer.WriteStringValue(Level.Value.ToString());
+ }
+ writer.WritePropertyName("message"u8);
+ writer.WriteStringValue(Message);
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/LogProgressRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/LogProgressRequest.cs
new file mode 100644
index 000000000000..b0fd3c9159c6
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/LogProgressRequest.cs
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The progress message to log during a skill invocation.
+ public partial class LogProgressRequest
+ {
+ /// Initializes a new instance of LogProgressRequest.
+ /// Log message.
+ /// is null.
+ public LogProgressRequest(string message)
+ {
+ Argument.AssertNotNull(message, nameof(message));
+
+ Message = message;
+ }
+
+ /// Initializes a new instance of LogProgressRequest.
+ /// Log level.
+ /// Log message.
+ internal LogProgressRequest(ProgressLogLevel? level, string message)
+ {
+ Level = level;
+ Message = message;
+ }
+
+ /// Log level.
+ public ProgressLogLevel? Level { get; set; }
+ /// Log message.
+ public string Message { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/MedeinaExecutionContext.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/MedeinaExecutionContext.Serialization.cs
new file mode 100644
index 000000000000..7f3a1a4b0913
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/MedeinaExecutionContext.Serialization.cs
@@ -0,0 +1,156 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class MedeinaExecutionContext
+ {
+ internal static MedeinaExecutionContext DeserializeMedeinaExecutionContext(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string sessionId = default;
+ string promptId = default;
+ string evaluationId = default;
+ string tenantId = default;
+ string accountId = default;
+ string workspaceId = default;
+ string userName = default;
+ Optional applicationId = default;
+ string source = default;
+ string unauthenticatedSourceApplicationId = default;
+ string selectedSkills = default;
+ IReadOnlyList selectedSkillsets = default;
+ bool isFidelisUser = default;
+ EvaluationInvocationType invocationType = default;
+ EvaluationInvocationCategory invocationCategory = default;
+ string encryptedUserAccessToken = default;
+ ComplianceFlags complianceFlags = default;
+ AzureOpenAIExecutionContext azureOpenAIExecutionContext = default;
+ SkillPreviewState previewState = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("SessionId"u8))
+ {
+ sessionId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("PromptId"u8))
+ {
+ promptId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("EvaluationId"u8))
+ {
+ evaluationId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("TenantId"u8))
+ {
+ tenantId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("AccountId"u8))
+ {
+ accountId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("WorkspaceId"u8))
+ {
+ workspaceId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("UserName"u8))
+ {
+ userName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("ApplicationId"u8))
+ {
+ applicationId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Source"u8))
+ {
+ source = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("UnauthenticatedSourceApplicationId"u8))
+ {
+ unauthenticatedSourceApplicationId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("SelectedSkills"u8))
+ {
+ selectedSkills = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("SelectedSkillsets"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(item.GetString());
+ }
+ selectedSkillsets = array;
+ continue;
+ }
+ if (property.NameEquals("IsFidelisUser"u8))
+ {
+ isFidelisUser = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("InvocationType"u8))
+ {
+ invocationType = new EvaluationInvocationType(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("InvocationCategory"u8))
+ {
+ invocationCategory = new EvaluationInvocationCategory(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("EncryptedUserAccessToken"u8))
+ {
+ encryptedUserAccessToken = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("ComplianceFlags"u8))
+ {
+ complianceFlags = ComplianceFlags.DeserializeComplianceFlags(property.Value);
+ continue;
+ }
+ if (property.NameEquals("AzureOpenAIExecutionContext"u8))
+ {
+ azureOpenAIExecutionContext = AzureOpenAIExecutionContext.DeserializeAzureOpenAIExecutionContext(property.Value);
+ continue;
+ }
+ if (property.NameEquals("PreviewState"u8))
+ {
+ previewState = new SkillPreviewState(property.Value.GetString());
+ continue;
+ }
+ }
+ return new MedeinaExecutionContext(sessionId, promptId, evaluationId, tenantId, accountId, workspaceId, userName, applicationId.Value, source, unauthenticatedSourceApplicationId, selectedSkills, selectedSkillsets, isFidelisUser, invocationType, invocationCategory, encryptedUserAccessToken, complianceFlags, azureOpenAIExecutionContext, previewState);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static MedeinaExecutionContext FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeMedeinaExecutionContext(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/MedeinaExecutionContext.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/MedeinaExecutionContext.cs
new file mode 100644
index 000000000000..016e748f8b6d
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/MedeinaExecutionContext.cs
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents the execution context for the current session.
+ public partial class MedeinaExecutionContext
+ {
+ /// Initializes a new instance of MedeinaExecutionContext.
+ /// The session id.
+ /// The prompt id.
+ /// The evaluation id.
+ /// The tenant id.
+ /// The account id.
+ /// The workspace id.
+ /// The display name of the user.
+ /// The Source tag i.e. 'immersive'.
+ /// The source application ID.
+ /// The selected skills.
+ /// The skillsets identified for execution during the evaluation process post skill selection.
+ /// Indicates whether the context is for a user onboarded to Fidelis.
+ /// Indicates whether the evaluation is manually generated or user driven.
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ /// The encrypted token used to authenticate the user.
+ /// Compliance flags for logging.
+ /// Contains the context for the Azure OpenAI requests such as the deployment id.
+ /// Preview state of the execution context.
+ /// , , , , , , , , , , , , or is null.
+ internal MedeinaExecutionContext(string sessionId, string promptId, string evaluationId, string tenantId, string accountId, string workspaceId, string userName, string source, string unauthenticatedSourceApplicationId, string selectedSkills, IEnumerable selectedSkillsets, bool isFidelisUser, EvaluationInvocationType invocationType, EvaluationInvocationCategory invocationCategory, string encryptedUserAccessToken, ComplianceFlags complianceFlags, AzureOpenAIExecutionContext azureOpenAIExecutionContext, SkillPreviewState previewState)
+ {
+ Argument.AssertNotNull(sessionId, nameof(sessionId));
+ Argument.AssertNotNull(promptId, nameof(promptId));
+ Argument.AssertNotNull(evaluationId, nameof(evaluationId));
+ Argument.AssertNotNull(tenantId, nameof(tenantId));
+ Argument.AssertNotNull(accountId, nameof(accountId));
+ Argument.AssertNotNull(workspaceId, nameof(workspaceId));
+ Argument.AssertNotNull(userName, nameof(userName));
+ Argument.AssertNotNull(source, nameof(source));
+ Argument.AssertNotNull(unauthenticatedSourceApplicationId, nameof(unauthenticatedSourceApplicationId));
+ Argument.AssertNotNull(selectedSkills, nameof(selectedSkills));
+ Argument.AssertNotNull(selectedSkillsets, nameof(selectedSkillsets));
+ Argument.AssertNotNull(encryptedUserAccessToken, nameof(encryptedUserAccessToken));
+ Argument.AssertNotNull(complianceFlags, nameof(complianceFlags));
+ Argument.AssertNotNull(azureOpenAIExecutionContext, nameof(azureOpenAIExecutionContext));
+
+ SessionId = sessionId;
+ PromptId = promptId;
+ EvaluationId = evaluationId;
+ TenantId = tenantId;
+ AccountId = accountId;
+ WorkspaceId = workspaceId;
+ UserName = userName;
+ Source = source;
+ UnauthenticatedSourceApplicationId = unauthenticatedSourceApplicationId;
+ SelectedSkills = selectedSkills;
+ SelectedSkillsets = selectedSkillsets.ToList();
+ IsFidelisUser = isFidelisUser;
+ InvocationType = invocationType;
+ InvocationCategory = invocationCategory;
+ EncryptedUserAccessToken = encryptedUserAccessToken;
+ ComplianceFlags = complianceFlags;
+ AzureOpenAIExecutionContext = azureOpenAIExecutionContext;
+ PreviewState = previewState;
+ }
+
+ /// Initializes a new instance of MedeinaExecutionContext.
+ /// The session id.
+ /// The prompt id.
+ /// The evaluation id.
+ /// The tenant id.
+ /// The account id.
+ /// The workspace id.
+ /// The display name of the user.
+ /// The Application Id that created the Session.
+ /// The Source tag i.e. 'immersive'.
+ /// The source application ID.
+ /// The selected skills.
+ /// The skillsets identified for execution during the evaluation process post skill selection.
+ /// Indicates whether the context is for a user onboarded to Fidelis.
+ /// Indicates whether the evaluation is manually generated or user driven.
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ /// The encrypted token used to authenticate the user.
+ /// Compliance flags for logging.
+ /// Contains the context for the Azure OpenAI requests such as the deployment id.
+ /// Preview state of the execution context.
+ internal MedeinaExecutionContext(string sessionId, string promptId, string evaluationId, string tenantId, string accountId, string workspaceId, string userName, string applicationId, string source, string unauthenticatedSourceApplicationId, string selectedSkills, IReadOnlyList selectedSkillsets, bool isFidelisUser, EvaluationInvocationType invocationType, EvaluationInvocationCategory invocationCategory, string encryptedUserAccessToken, ComplianceFlags complianceFlags, AzureOpenAIExecutionContext azureOpenAIExecutionContext, SkillPreviewState previewState)
+ {
+ SessionId = sessionId;
+ PromptId = promptId;
+ EvaluationId = evaluationId;
+ TenantId = tenantId;
+ AccountId = accountId;
+ WorkspaceId = workspaceId;
+ UserName = userName;
+ ApplicationId = applicationId;
+ Source = source;
+ UnauthenticatedSourceApplicationId = unauthenticatedSourceApplicationId;
+ SelectedSkills = selectedSkills;
+ SelectedSkillsets = selectedSkillsets;
+ IsFidelisUser = isFidelisUser;
+ InvocationType = invocationType;
+ InvocationCategory = invocationCategory;
+ EncryptedUserAccessToken = encryptedUserAccessToken;
+ ComplianceFlags = complianceFlags;
+ AzureOpenAIExecutionContext = azureOpenAIExecutionContext;
+ PreviewState = previewState;
+ }
+
+ /// The session id.
+ public string SessionId { get; }
+ /// The prompt id.
+ public string PromptId { get; }
+ /// The evaluation id.
+ public string EvaluationId { get; }
+ /// The tenant id.
+ public string TenantId { get; }
+ /// The account id.
+ public string AccountId { get; }
+ /// The workspace id.
+ public string WorkspaceId { get; }
+ /// The display name of the user.
+ public string UserName { get; }
+ /// The Application Id that created the Session.
+ public string ApplicationId { get; }
+ /// The Source tag i.e. 'immersive'.
+ public string Source { get; }
+ /// The source application ID.
+ public string UnauthenticatedSourceApplicationId { get; }
+ /// The selected skills.
+ public string SelectedSkills { get; }
+ /// The skillsets identified for execution during the evaluation process post skill selection.
+ public IReadOnlyList SelectedSkillsets { get; }
+ /// Indicates whether the context is for a user onboarded to Fidelis.
+ public bool IsFidelisUser { get; }
+ /// Indicates whether the evaluation is manually generated or user driven.
+ public EvaluationInvocationType InvocationType { get; }
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ public EvaluationInvocationCategory InvocationCategory { get; }
+ /// The encrypted token used to authenticate the user.
+ public string EncryptedUserAccessToken { get; }
+ /// Compliance flags for logging.
+ public ComplianceFlags ComplianceFlags { get; }
+ /// Contains the context for the Azure OpenAI requests such as the deployment id.
+ public AzureOpenAIExecutionContext AzureOpenAIExecutionContext { get; }
+ /// Preview state of the execution context.
+ public SkillPreviewState PreviewState { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Message.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Message.Serialization.cs
new file mode 100644
index 000000000000..9c518031b85f
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Message.Serialization.cs
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class Message : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Optional.IsDefined(Content))
+ {
+ writer.WritePropertyName("Content"u8);
+ writer.WriteStringValue(Content);
+ }
+ writer.WritePropertyName("Role"u8);
+ writer.WriteStringValue(Role);
+ if (Optional.IsDefined(Name))
+ {
+ writer.WritePropertyName("Name"u8);
+ writer.WriteStringValue(Name);
+ }
+ if (Optional.IsDefined(FunctionCall))
+ {
+ writer.WritePropertyName("FunctionCall"u8);
+ writer.WriteObjectValue(FunctionCall);
+ }
+ if (Optional.IsCollectionDefined(ToolCalls))
+ {
+ writer.WritePropertyName("ToolCalls"u8);
+ writer.WriteStartArray();
+ foreach (var item in ToolCalls)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ }
+ if (Optional.IsDefined(ToolCallId))
+ {
+ writer.WritePropertyName("ToolCallId"u8);
+ writer.WriteStringValue(ToolCallId);
+ }
+ writer.WriteEndObject();
+ }
+
+ internal static Message DeserializeMessage(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ Optional content = default;
+ string role = default;
+ Optional name = default;
+ Optional functionCall = default;
+ Optional> toolCalls = default;
+ Optional toolCallId = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("Content"u8))
+ {
+ content = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Role"u8))
+ {
+ role = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("Name"u8))
+ {
+ name = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("FunctionCall"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ functionCall = FunctionCall.DeserializeFunctionCall(property.Value);
+ continue;
+ }
+ if (property.NameEquals("ToolCalls"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(ToolCall.DeserializeToolCall(item));
+ }
+ toolCalls = array;
+ continue;
+ }
+ if (property.NameEquals("ToolCallId"u8))
+ {
+ toolCallId = property.Value.GetString();
+ continue;
+ }
+ }
+ return new Message(content.Value, role, name.Value, functionCall.Value, Optional.ToList(toolCalls), toolCallId.Value);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static Message FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeMessage(document.RootElement);
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Message.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Message.cs
new file mode 100644
index 000000000000..1c175ecbddb5
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/Message.cs
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Represents a message in the chat.
+ public partial class Message
+ {
+ /// Initializes a new instance of Message.
+ /// The role of the message sender.
+ /// is null.
+ public Message(string role)
+ {
+ Argument.AssertNotNull(role, nameof(role));
+
+ Role = role;
+ ToolCalls = new ChangeTrackingList();
+ }
+
+ /// Initializes a new instance of Message.
+ /// The content of the message.
+ /// The role of the message sender.
+ /// The name of the message sender.
+ /// The function call information.
+ /// The tool calls associated with the message.
+ /// The identifier for the tool call.
+ internal Message(string content, string role, string name, FunctionCall functionCall, IList toolCalls, string toolCallId)
+ {
+ Content = content;
+ Role = role;
+ Name = name;
+ FunctionCall = functionCall;
+ ToolCalls = toolCalls;
+ ToolCallId = toolCallId;
+ }
+
+ /// The content of the message.
+ public string Content { get; set; }
+ /// The role of the message sender.
+ public string Role { get; set; }
+ /// The name of the message sender.
+ public string Name { get; set; }
+ /// The function call information.
+ public FunctionCall FunctionCall { get; set; }
+ /// The tool calls associated with the message.
+ public IList ToolCalls { get; }
+ /// The identifier for the tool call.
+ public string ToolCallId { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputComponent.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputComponent.cs
new file mode 100644
index 000000000000..f007ecb7980a
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputComponent.cs
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The OutputComponent.
+ public partial class OutputComponent
+ {
+ /// Initializes a new instance of OutputComponent.
+ ///
+ ///
+ ///
+ /// , or is null.
+ internal OutputComponent(string name, string content, string type)
+ {
+ Argument.AssertNotNull(name, nameof(name));
+ Argument.AssertNotNull(content, nameof(content));
+ Argument.AssertNotNull(type, nameof(type));
+
+ Name = name;
+ Content = content;
+ Type = type;
+ }
+
+ /// Initializes a new instance of OutputComponent.
+ ///
+ ///
+ ///
+ ///
+ internal OutputComponent(string name, string content, string description, string type)
+ {
+ Name = name;
+ Content = content;
+ Description = description;
+ Type = type;
+ }
+
+ /// Gets the name.
+ public string Name { get; }
+ /// Gets the content.
+ public string Content { get; }
+ /// Gets the description.
+ public string Description { get; }
+ /// Gets the type.
+ public string Type { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputSkillVariable.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputSkillVariable.Serialization.cs
new file mode 100644
index 000000000000..adf8a8c886da
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputSkillVariable.Serialization.cs
@@ -0,0 +1,220 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class OutputSkillVariable : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ if (Sources != null && Optional.IsCollectionDefined(Sources))
+ {
+ writer.WritePropertyName("sources"u8);
+ writer.WriteStartArray();
+ foreach (var item in Sources)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ }
+ else
+ {
+ writer.WriteNull("sources");
+ }
+ if (SuggestedPrompts != null && Optional.IsCollectionDefined(SuggestedPrompts))
+ {
+ writer.WritePropertyName("suggestedPrompts"u8);
+ writer.WriteStartArray();
+ foreach (var item in SuggestedPrompts)
+ {
+ writer.WriteObjectValue(item);
+ }
+ writer.WriteEndArray();
+ }
+ else
+ {
+ writer.WriteNull("suggestedPrompts");
+ }
+ if (SkillName != null)
+ {
+ writer.WritePropertyName("skillName"u8);
+ writer.WriteStringValue(SkillName);
+ }
+ else
+ {
+ writer.WriteNull("skillName");
+ }
+ if (SkillInputs != null && Optional.IsCollectionDefined(SkillInputs))
+ {
+ writer.WritePropertyName("skillInputs"u8);
+ writer.WriteStartObject();
+ foreach (var item in SkillInputs)
+ {
+ writer.WritePropertyName(item.Key);
+ writer.WriteStringValue(item.Value);
+ }
+ writer.WriteEndObject();
+ }
+ else
+ {
+ writer.WriteNull("skillInputs");
+ }
+ if (OutputLanguage != null)
+ {
+ writer.WritePropertyName("outputLanguage"u8);
+ writer.WriteStringValue(OutputLanguage);
+ }
+ else
+ {
+ writer.WriteNull("outputLanguage");
+ }
+ writer.WritePropertyName("outputType"u8);
+ writer.WriteStringValue(OutputType.ToString());
+ if (Optional.IsDefined(Type))
+ {
+ writer.WritePropertyName("type"u8);
+ writer.WriteStringValue(Type);
+ }
+ if (Optional.IsDefined(Value))
+ {
+ writer.WritePropertyName("value"u8);
+ writer.WriteStringValue(Value);
+ }
+ writer.WritePropertyName("valueStoredAsJson"u8);
+ writer.WriteBooleanValue(ValueStoredAsJson);
+ writer.WriteEndObject();
+ }
+
+ internal static OutputSkillVariable DeserializeOutputSkillVariable(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ IList sources = default;
+ IList suggestedPrompts = default;
+ string skillName = default;
+ IDictionary skillInputs = default;
+ string outputLanguage = default;
+ SkillOutputType outputType = default;
+ Optional type = default;
+ Optional value = default;
+ bool valueStoredAsJson = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("sources"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ sources = new ChangeTrackingList();
+ continue;
+ }
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(SkillSource.DeserializeSkillSource(item));
+ }
+ sources = array;
+ continue;
+ }
+ if (property.NameEquals("suggestedPrompts"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ suggestedPrompts = new ChangeTrackingList();
+ continue;
+ }
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(SuggestedPrompt.DeserializeSuggestedPrompt(item));
+ }
+ suggestedPrompts = array;
+ continue;
+ }
+ if (property.NameEquals("skillName"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ skillName = null;
+ continue;
+ }
+ skillName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("skillInputs"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ skillInputs = new ChangeTrackingDictionary();
+ continue;
+ }
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, property0.Value.GetString());
+ }
+ skillInputs = dictionary;
+ continue;
+ }
+ if (property.NameEquals("outputLanguage"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ outputLanguage = null;
+ continue;
+ }
+ outputLanguage = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("outputType"u8))
+ {
+ outputType = new SkillOutputType(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("type"u8))
+ {
+ type = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("value"u8))
+ {
+ value = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("valueStoredAsJson"u8))
+ {
+ valueStoredAsJson = property.Value.GetBoolean();
+ continue;
+ }
+ }
+ return new OutputSkillVariable(type.Value, value.Value, valueStoredAsJson, sources, suggestedPrompts, skillName, skillInputs, outputLanguage, outputType);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static new OutputSkillVariable FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeOutputSkillVariable(document.RootElement);
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal override RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputSkillVariable.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputSkillVariable.cs
new file mode 100644
index 000000000000..5da77c1b78de
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/OutputSkillVariable.cs
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Skill variable parent entity adding additional attribute 'skillsource' to provide visibility to users as to what data/information was used in generating the output of a skill.
+ public partial class OutputSkillVariable : SkillVariable
+ {
+ /// Initializes a new instance of OutputSkillVariable.
+ /// Skill variable value is stored as json document.
+ /// Array of cited sources that were fetched by a skill and that impacted the output of the skill evaluation.
+ /// Suggested prompts providing assistance to users in understanding what prompts work well with CFS.
+ /// Skill name.
+ /// Skill inputs that were used in generating the output of the skill evaluation.
+ /// Skill output language.
+ /// Enum indicating the output type of the skill. Supports StructuredOutput and Primitive.
+ public OutputSkillVariable(bool valueStoredAsJson, IEnumerable sources, IEnumerable suggestedPrompts, string skillName, IDictionary skillInputs, string outputLanguage, SkillOutputType outputType) : base(valueStoredAsJson)
+ {
+ Sources = sources?.ToList();
+ SuggestedPrompts = suggestedPrompts?.ToList();
+ SkillName = skillName;
+ SkillInputs = skillInputs;
+ OutputLanguage = outputLanguage;
+ OutputType = outputType;
+ }
+
+ /// Initializes a new instance of OutputSkillVariable.
+ /// Skill variable type.
+ /// Skill variable value.
+ /// Skill variable value is stored as json document.
+ /// Array of cited sources that were fetched by a skill and that impacted the output of the skill evaluation.
+ /// Suggested prompts providing assistance to users in understanding what prompts work well with CFS.
+ /// Skill name.
+ /// Skill inputs that were used in generating the output of the skill evaluation.
+ /// Skill output language.
+ /// Enum indicating the output type of the skill. Supports StructuredOutput and Primitive.
+ internal OutputSkillVariable(string type, string value, bool valueStoredAsJson, IList sources, IList suggestedPrompts, string skillName, IDictionary skillInputs, string outputLanguage, SkillOutputType outputType) : base(type, value, valueStoredAsJson)
+ {
+ Sources = sources;
+ SuggestedPrompts = suggestedPrompts;
+ SkillName = skillName;
+ SkillInputs = skillInputs;
+ OutputLanguage = outputLanguage;
+ OutputType = outputType;
+ }
+
+ /// Array of cited sources that were fetched by a skill and that impacted the output of the skill evaluation.
+ public IList Sources { get; set; }
+ /// Suggested prompts providing assistance to users in understanding what prompts work well with CFS.
+ public IList SuggestedPrompts { get; set; }
+ /// Skill name.
+ public string SkillName { get; set; }
+ /// Skill inputs that were used in generating the output of the skill evaluation.
+ public IDictionary SkillInputs { get; set; }
+ /// Skill output language.
+ public string OutputLanguage { get; set; }
+ /// Enum indicating the output type of the skill. Supports StructuredOutput and Primitive.
+ public SkillOutputType OutputType { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ProgressLogLevel.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ProgressLogLevel.cs
new file mode 100644
index 000000000000..c2288319f9e7
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/ProgressLogLevel.cs
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ComponentModel;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// Level for progress logs.
+ public readonly partial struct ProgressLogLevel : IEquatable
+ {
+ private readonly string _value;
+
+ /// Initializes a new instance of .
+ /// is null.
+ public ProgressLogLevel(string value)
+ {
+ _value = value ?? throw new ArgumentNullException(nameof(value));
+ }
+
+ private const string ErrorValue = "Error";
+ private const string WarningValue = "Warning";
+ private const string InformationValue = "Information";
+ private const string VerboseValue = "Verbose";
+
+ /// Error log.
+ public static ProgressLogLevel Error { get; } = new ProgressLogLevel(ErrorValue);
+ /// Warning log.
+ public static ProgressLogLevel Warning { get; } = new ProgressLogLevel(WarningValue);
+ /// Information log.
+ public static ProgressLogLevel Information { get; } = new ProgressLogLevel(InformationValue);
+ /// Verbose log.
+ public static ProgressLogLevel Verbose { get; } = new ProgressLogLevel(VerboseValue);
+ /// Determines if two values are the same.
+ public static bool operator ==(ProgressLogLevel left, ProgressLogLevel right) => left.Equals(right);
+ /// Determines if two values are not the same.
+ public static bool operator !=(ProgressLogLevel left, ProgressLogLevel right) => !left.Equals(right);
+ /// Converts a string to a .
+ public static implicit operator ProgressLogLevel(string value) => new ProgressLogLevel(value);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override bool Equals(object obj) => obj is ProgressLogLevel other && Equals(other);
+ ///
+ public bool Equals(ProgressLogLevel other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
+
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+ ///
+ public override string ToString() => _value;
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/PromptHistoryResponse.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/PromptHistoryResponse.Serialization.cs
new file mode 100644
index 000000000000..6868dd20714b
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/PromptHistoryResponse.Serialization.cs
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class PromptHistoryResponse
+ {
+ internal static PromptHistoryResponse DeserializePromptHistoryResponse(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ IReadOnlyList prompts = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("prompts"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(SessionPrompt.DeserializeSessionPrompt(item));
+ }
+ prompts = array;
+ continue;
+ }
+ }
+ return new PromptHistoryResponse(prompts);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static PromptHistoryResponse FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializePromptHistoryResponse(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/PromptHistoryResponse.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/PromptHistoryResponse.cs
new file mode 100644
index 000000000000..748f1724a2e8
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/PromptHistoryResponse.cs
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The prompt history of the current session.
+ public partial class PromptHistoryResponse
+ {
+ /// Initializes a new instance of PromptHistoryResponse.
+ /// List of prompts that have been evaluated in the current session.
+ /// is null.
+ internal PromptHistoryResponse(IEnumerable prompts)
+ {
+ Argument.AssertNotNull(prompts, nameof(prompts));
+
+ Prompts = prompts.ToList();
+ }
+
+ /// Initializes a new instance of PromptHistoryResponse.
+ /// List of prompts that have been evaluated in the current session.
+ internal PromptHistoryResponse(IReadOnlyList prompts)
+ {
+ Prompts = prompts;
+ }
+
+ /// List of prompts that have been evaluated in the current session.
+ public IReadOnlyList Prompts { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SessionPrompt.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SessionPrompt.Serialization.cs
new file mode 100644
index 000000000000..46af7534dd62
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SessionPrompt.Serialization.cs
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class SessionPrompt
+ {
+ internal static SessionPrompt DeserializeSessionPrompt(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string prompt = default;
+ string response = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("prompt"u8))
+ {
+ prompt = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("response"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ response = null;
+ continue;
+ }
+ response = property.Value.GetString();
+ continue;
+ }
+ }
+ return new SessionPrompt(prompt, response);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static SessionPrompt FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeSessionPrompt(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SessionPrompt.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SessionPrompt.cs
new file mode 100644
index 000000000000..d4835dd0d072
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SessionPrompt.cs
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// A record for a prompt and response used in tracking session prompt history.
+ public partial class SessionPrompt
+ {
+ /// Initializes a new instance of SessionPrompt.
+ /// The content of the prompt.
+ /// Prompt response returned by the prompt evaluation.
+ /// is null.
+ internal SessionPrompt(string prompt, string response)
+ {
+ Argument.AssertNotNull(prompt, nameof(prompt));
+
+ Prompt = prompt;
+ Response = response;
+ }
+
+ /// The content of the prompt.
+ public string Prompt { get; }
+ /// Prompt response returned by the prompt evaluation.
+ public string Response { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetFinalResponseSettingsRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetFinalResponseSettingsRequest.Serialization.cs
new file mode 100644
index 000000000000..87d7d7f3c856
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetFinalResponseSettingsRequest.Serialization.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class SetFinalResponseSettingsRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("finalResponseBehavior"u8);
+ writer.WriteStringValue(FinalResponseBehavior);
+ if (Optional.IsDefined(FinalResponseFormat))
+ {
+ writer.WritePropertyName("finalResponseFormat"u8);
+ writer.WriteStringValue(FinalResponseFormat);
+ }
+ if (Optional.IsDefined(FinalResponsePersona))
+ {
+ writer.WritePropertyName("finalResponsePersona"u8);
+ writer.WriteStringValue(FinalResponsePersona);
+ }
+ if (Optional.IsDefined(FinalResponseFallback))
+ {
+ writer.WritePropertyName("finalResponseFallback"u8);
+ writer.WriteStringValue(FinalResponseFallback);
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetFinalResponseSettingsRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetFinalResponseSettingsRequest.cs
new file mode 100644
index 000000000000..14f88e96e3a3
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetFinalResponseSettingsRequest.cs
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// SetFinalResponseSettingsRequest.
+ public partial class SetFinalResponseSettingsRequest
+ {
+ /// Initializes a new instance of SetFinalResponseSettingsRequest.
+ /// FinalResponseBehavior.
+ /// is null.
+ public SetFinalResponseSettingsRequest(string finalResponseBehavior)
+ {
+ Argument.AssertNotNull(finalResponseBehavior, nameof(finalResponseBehavior));
+
+ FinalResponseBehavior = finalResponseBehavior;
+ }
+
+ /// Initializes a new instance of SetFinalResponseSettingsRequest.
+ /// FinalResponseBehavior.
+ /// FinalResponseFormat.
+ /// FinalResponsePersona.
+ /// FinalResponseFallback.
+ internal SetFinalResponseSettingsRequest(string finalResponseBehavior, string finalResponseFormat, string finalResponsePersona, string finalResponseFallback)
+ {
+ FinalResponseBehavior = finalResponseBehavior;
+ FinalResponseFormat = finalResponseFormat;
+ FinalResponsePersona = finalResponsePersona;
+ FinalResponseFallback = finalResponseFallback;
+ }
+
+ /// FinalResponseBehavior.
+ public string FinalResponseBehavior { get; }
+ /// FinalResponseFormat.
+ public string FinalResponseFormat { get; set; }
+ /// FinalResponsePersona.
+ public string FinalResponsePersona { get; set; }
+ /// FinalResponseFallback.
+ public string FinalResponseFallback { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetInputRequest.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetInputRequest.Serialization.cs
new file mode 100644
index 000000000000..6e77f05523df
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetInputRequest.Serialization.cs
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class SetInputRequest : IUtf8JsonSerializable
+ {
+ void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
+ {
+ writer.WriteStartObject();
+ writer.WritePropertyName("inputName"u8);
+ writer.WriteStringValue(InputName);
+ if (Optional.IsDefined(DefaultValue))
+ {
+ if (DefaultValue != null)
+ {
+ writer.WritePropertyName("defaultValue"u8);
+ writer.WriteObjectValue(DefaultValue);
+ }
+ else
+ {
+ writer.WriteNull("defaultValue");
+ }
+ }
+ writer.WriteEndObject();
+ }
+
+ /// Convert into a Utf8JsonRequestContent.
+ internal virtual RequestContent ToRequestContent()
+ {
+ var content = new Utf8JsonRequestContent();
+ content.JsonWriter.WriteObjectValue(this);
+ return content;
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetInputRequest.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetInputRequest.cs
new file mode 100644
index 000000000000..5a2ba14c11d2
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SetInputRequest.cs
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// SetInputRequest.
+ public partial class SetInputRequest
+ {
+ /// Initializes a new instance of SetInputRequest.
+ /// Input Name.
+ /// is null.
+ public SetInputRequest(string inputName)
+ {
+ Argument.AssertNotNull(inputName, nameof(inputName));
+
+ InputName = inputName;
+ }
+
+ /// Initializes a new instance of SetInputRequest.
+ /// Input Name.
+ /// Default value for the input.
+ internal SetInputRequest(string inputName, SkillVariable defaultValue)
+ {
+ InputName = inputName;
+ DefaultValue = defaultValue;
+ }
+
+ /// Input Name.
+ public string InputName { get; }
+ /// Default value for the input.
+ public SkillVariable DefaultValue { get; set; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillContextResponse.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillContextResponse.Serialization.cs
new file mode 100644
index 000000000000..14d493a9fdd7
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillContextResponse.Serialization.cs
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class SkillContextResponse
+ {
+ internal static SkillContextResponse DeserializeSkillContextResponse(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ SkillDescriptor descriptor = default;
+ string id = default;
+ IReadOnlyList featureFlags = default;
+ IReadOnlyDictionary inputs = default;
+ IReadOnlyDictionary properties = default;
+ DateTimeOffset startTime = default;
+ string tenantId = default;
+ string userId = default;
+ string sessionId = default;
+ string promptId = default;
+ string evaluationId = default;
+ ComplianceFlags complianceFlags = default;
+ string workspaceId = default;
+ string source = default;
+ EvaluationInvocationType invocationType = default;
+ EvaluationInvocationCategory invocationCategory = default;
+ string userName = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("descriptor"u8))
+ {
+ descriptor = SkillDescriptor.DeserializeSkillDescriptor(property.Value);
+ continue;
+ }
+ if (property.NameEquals("id"u8))
+ {
+ id = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("featureFlags"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(item.GetString());
+ }
+ featureFlags = array;
+ continue;
+ }
+ if (property.NameEquals("inputs"u8))
+ {
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, SkillVariable.DeserializeSkillVariable(property0.Value));
+ }
+ inputs = dictionary;
+ continue;
+ }
+ if (property.NameEquals("properties"u8))
+ {
+ Dictionary dictionary = new Dictionary();
+ foreach (var property0 in property.Value.EnumerateObject())
+ {
+ dictionary.Add(property0.Name, property0.Value.GetString());
+ }
+ properties = dictionary;
+ continue;
+ }
+ if (property.NameEquals("startTime"u8))
+ {
+ startTime = property.Value.GetDateTimeOffset("O");
+ continue;
+ }
+ if (property.NameEquals("tenantId"u8))
+ {
+ tenantId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("userId"u8))
+ {
+ userId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("sessionId"u8))
+ {
+ sessionId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("promptId"u8))
+ {
+ promptId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("evaluationId"u8))
+ {
+ evaluationId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("complianceFlags"u8))
+ {
+ complianceFlags = ComplianceFlags.DeserializeComplianceFlags(property.Value);
+ continue;
+ }
+ if (property.NameEquals("workspaceId"u8))
+ {
+ workspaceId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("source"u8))
+ {
+ source = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("invocationType"u8))
+ {
+ invocationType = new EvaluationInvocationType(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("invocationCategory"u8))
+ {
+ invocationCategory = new EvaluationInvocationCategory(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("userName"u8))
+ {
+ userName = property.Value.GetString();
+ continue;
+ }
+ }
+ return new SkillContextResponse(descriptor, id, featureFlags, inputs, properties, startTime, tenantId, userId, sessionId, promptId, evaluationId, complianceFlags, workspaceId, source, invocationType, invocationCategory, userName);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static SkillContextResponse FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeSkillContextResponse(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillContextResponse.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillContextResponse.cs
new file mode 100644
index 000000000000..06383aa392ec
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillContextResponse.cs
@@ -0,0 +1,147 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// SkillContext object containing properties of the current session relevant to the invoked skill.
+ public partial class SkillContextResponse
+ {
+ /// Initializes a new instance of SkillContextResponse.
+ /// Skill descriptor containing attributes that describe a skill (i.e. Inputs required to execute the skill).
+ /// SkillContext Id.
+ /// Array of feature flags.
+ /// Skill Variable Collection.
+ /// Additional skill specific settings.
+ /// TODO.
+ /// Tenant id of tenant in which skill invocation occured.
+ /// User id of user that invoked the skill.
+ /// Current session ID.
+ /// Current prompt ID.
+ /// Current evaluation ID.
+ /// Compliance flags for logging.
+ /// Fidelis Workspace Id.
+ /// Originating source tag for the evaluation (i.e. Immersive, Logic Apps, etc.).
+ /// Indicates whether the evaluation is user driven or automated.
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ /// Username of the user that invoked the skill.
+ /// , , , , , , , , , , , , or is null.
+ internal SkillContextResponse(SkillDescriptor descriptor, string id, IEnumerable featureFlags, IReadOnlyDictionary inputs, IReadOnlyDictionary properties, DateTimeOffset startTime, string tenantId, string userId, string sessionId, string promptId, string evaluationId, ComplianceFlags complianceFlags, string workspaceId, string source, EvaluationInvocationType invocationType, EvaluationInvocationCategory invocationCategory, string userName)
+ {
+ Argument.AssertNotNull(descriptor, nameof(descriptor));
+ Argument.AssertNotNull(id, nameof(id));
+ Argument.AssertNotNull(featureFlags, nameof(featureFlags));
+ Argument.AssertNotNull(inputs, nameof(inputs));
+ Argument.AssertNotNull(properties, nameof(properties));
+ Argument.AssertNotNull(tenantId, nameof(tenantId));
+ Argument.AssertNotNull(userId, nameof(userId));
+ Argument.AssertNotNull(sessionId, nameof(sessionId));
+ Argument.AssertNotNull(promptId, nameof(promptId));
+ Argument.AssertNotNull(evaluationId, nameof(evaluationId));
+ Argument.AssertNotNull(complianceFlags, nameof(complianceFlags));
+ Argument.AssertNotNull(workspaceId, nameof(workspaceId));
+ Argument.AssertNotNull(source, nameof(source));
+ Argument.AssertNotNull(userName, nameof(userName));
+
+ Descriptor = descriptor;
+ Id = id;
+ FeatureFlags = featureFlags.ToList();
+ Inputs = inputs;
+ Properties = properties;
+ StartTime = startTime;
+ TenantId = tenantId;
+ UserId = userId;
+ SessionId = sessionId;
+ PromptId = promptId;
+ EvaluationId = evaluationId;
+ ComplianceFlags = complianceFlags;
+ WorkspaceId = workspaceId;
+ Source = source;
+ InvocationType = invocationType;
+ InvocationCategory = invocationCategory;
+ UserName = userName;
+ }
+
+ /// Initializes a new instance of SkillContextResponse.
+ /// Skill descriptor containing attributes that describe a skill (i.e. Inputs required to execute the skill).
+ /// SkillContext Id.
+ /// Array of feature flags.
+ /// Skill Variable Collection.
+ /// Additional skill specific settings.
+ /// TODO.
+ /// Tenant id of tenant in which skill invocation occured.
+ /// User id of user that invoked the skill.
+ /// Current session ID.
+ /// Current prompt ID.
+ /// Current evaluation ID.
+ /// Compliance flags for logging.
+ /// Fidelis Workspace Id.
+ /// Originating source tag for the evaluation (i.e. Immersive, Logic Apps, etc.).
+ /// Indicates whether the evaluation is user driven or automated.
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ /// Username of the user that invoked the skill.
+ internal SkillContextResponse(SkillDescriptor descriptor, string id, IReadOnlyList featureFlags, IReadOnlyDictionary inputs, IReadOnlyDictionary properties, DateTimeOffset startTime, string tenantId, string userId, string sessionId, string promptId, string evaluationId, ComplianceFlags complianceFlags, string workspaceId, string source, EvaluationInvocationType invocationType, EvaluationInvocationCategory invocationCategory, string userName)
+ {
+ Descriptor = descriptor;
+ Id = id;
+ FeatureFlags = featureFlags;
+ Inputs = inputs;
+ Properties = properties;
+ StartTime = startTime;
+ TenantId = tenantId;
+ UserId = userId;
+ SessionId = sessionId;
+ PromptId = promptId;
+ EvaluationId = evaluationId;
+ ComplianceFlags = complianceFlags;
+ WorkspaceId = workspaceId;
+ Source = source;
+ InvocationType = invocationType;
+ InvocationCategory = invocationCategory;
+ UserName = userName;
+ }
+
+ /// Skill descriptor containing attributes that describe a skill (i.e. Inputs required to execute the skill).
+ public SkillDescriptor Descriptor { get; }
+ /// SkillContext Id.
+ public string Id { get; }
+ /// Array of feature flags.
+ public IReadOnlyList FeatureFlags { get; }
+ /// Skill Variable Collection.
+ public IReadOnlyDictionary Inputs { get; }
+ /// Additional skill specific settings.
+ public IReadOnlyDictionary Properties { get; }
+ /// TODO.
+ public DateTimeOffset StartTime { get; }
+ /// Tenant id of tenant in which skill invocation occured.
+ public string TenantId { get; }
+ /// User id of user that invoked the skill.
+ public string UserId { get; }
+ /// Current session ID.
+ public string SessionId { get; }
+ /// Current prompt ID.
+ public string PromptId { get; }
+ /// Current evaluation ID.
+ public string EvaluationId { get; }
+ /// Compliance flags for logging.
+ public ComplianceFlags ComplianceFlags { get; }
+ /// Fidelis Workspace Id.
+ public string WorkspaceId { get; }
+ /// Originating source tag for the evaluation (i.e. Immersive, Logic Apps, etc.).
+ public string Source { get; }
+ /// Indicates whether the evaluation is user driven or automated.
+ public EvaluationInvocationType InvocationType { get; }
+ /// Indicates whether the evaluation is from a Prompt or a Promptbook.
+ public EvaluationInvocationCategory InvocationCategory { get; }
+ /// Username of the user that invoked the skill.
+ public string UserName { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDependencyDescriptor.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDependencyDescriptor.Serialization.cs
new file mode 100644
index 000000000000..48ab43c0cb66
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDependencyDescriptor.Serialization.cs
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class SkillDependencyDescriptor
+ {
+ internal static SkillDependencyDescriptor DeserializeSkillDependencyDescriptor(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string skillsetName = default;
+ string skillName = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("skillsetName"u8))
+ {
+ skillsetName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("skillName"u8))
+ {
+ skillName = property.Value.GetString();
+ continue;
+ }
+ }
+ return new SkillDependencyDescriptor(skillsetName, skillName);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static SkillDependencyDescriptor FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content);
+ return DeserializeSkillDependencyDescriptor(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDependencyDescriptor.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDependencyDescriptor.cs
new file mode 100644
index 000000000000..54111c3c7e81
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDependencyDescriptor.cs
@@ -0,0 +1,34 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ /// The descriptor of a skill dependency.
+ public partial class SkillDependencyDescriptor
+ {
+ /// Initializes a new instance of SkillDependencyDescriptor.
+ /// The skillset name.
+ /// The name of the skill.
+ /// or is null.
+ internal SkillDependencyDescriptor(string skillsetName, string skillName)
+ {
+ Argument.AssertNotNull(skillsetName, nameof(skillsetName));
+ Argument.AssertNotNull(skillName, nameof(skillName));
+
+ SkillsetName = skillsetName;
+ SkillName = skillName;
+ }
+
+ /// The skillset name.
+ public string SkillsetName { get; }
+ /// The name of the skill.
+ public string SkillName { get; }
+ }
+}
diff --git a/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDescriptor.Serialization.cs b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDescriptor.Serialization.cs
new file mode 100644
index 000000000000..855d6c6bd932
--- /dev/null
+++ b/sdk/securitycopilot/Microsoft.Security.Copilot.SkillsetAuthoring/Generated/Models/SkillDescriptor.Serialization.cs
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Collections.Generic;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+
+namespace Microsoft.Security.Copilot.SkillsetAuthoring.Models
+{
+ public partial class SkillDescriptor
+ {
+ internal static SkillDescriptor DeserializeSkillDescriptor(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ SkillsetDescriptor skillset = default;
+ string name = default;
+ string format = default;
+ string displayName = default;
+ string altName = default;
+ IReadOnlyList dependencies = default;
+ string description = default;
+ IReadOnlyList examplePrompts = default;
+ bool hidden = default;
+ IReadOnlyList inputs = default;
+ IReadOnlyList outputs = default;
+ string promptAlignedName = default;
+ IReadOnlyList userVisibilityFeatureFlags = default;
+ SkillVisibility userVisibility = default;
+ IReadOnlyList plannerVisibilityFeatureFlags = default;
+ SkillVisibility plannerVisibility = default;
+ IReadOnlyDictionary settings = default;
+ SkillSummaryDescriptor skillSummaryMetadata = default;
+ bool enableVariableSubstitutionInCompose = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("skillset"u8))
+ {
+ skillset = SkillsetDescriptor.DeserializeSkillsetDescriptor(property.Value);
+ continue;
+ }
+ if (property.NameEquals("name"u8))
+ {
+ name = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("format"u8))
+ {
+ format = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("displayName"u8))
+ {
+ displayName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("altName"u8))
+ {
+ altName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("dependencies"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(SkillDependencyDescriptor.DeserializeSkillDependencyDescriptor(item));
+ }
+ dependencies = array;
+ continue;
+ }
+ if (property.NameEquals("description"u8))
+ {
+ description = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("examplePrompts"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(item.GetString());
+ }
+ examplePrompts = array;
+ continue;
+ }
+ if (property.NameEquals("hidden"u8))
+ {
+ hidden = property.Value.GetBoolean();
+ continue;
+ }
+ if (property.NameEquals("inputs"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(SkillInputDescriptor.DeserializeSkillInputDescriptor(item));
+ }
+ inputs = array;
+ continue;
+ }
+ if (property.NameEquals("outputs"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(SkillOutputDescriptor.DeserializeSkillOutputDescriptor(item));
+ }
+ outputs = array;
+ continue;
+ }
+ if (property.NameEquals("promptAlignedName"u8))
+ {
+ promptAlignedName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("userVisibilityFeatureFlags"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(item.GetString());
+ }
+ userVisibilityFeatureFlags = array;
+ continue;
+ }
+ if (property.NameEquals("userVisibility"u8))
+ {
+ userVisibility = new SkillVisibility(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("plannerVisibilityFeatureFlags"u8))
+ {
+ List array = new List();
+ foreach (var item in property.Value.EnumerateArray())
+ {
+ array.Add(item.GetString());
+ }
+ plannerVisibilityFeatureFlags = array;
+ continue;
+ }
+ if (property.NameEquals("plannerVisibility"u8))
+ {
+ plannerVisibility = new SkillVisibility(property.Value.GetString());
+ continue;
+ }
+ if (property.NameEquals("settings"u8))
+ {
+ Dictionary dictionary = new Dictionary