diff --git a/.codegen.json b/.codegen.json
index cc90bbb1..d1da2423 100644
--- a/.codegen.json
+++ b/.codegen.json
@@ -1 +1 @@
-{ "engineHash": "f6257bd", "specHash": "0043492", "version": "0.3.1" }
+{ "engineHash": "f6257bd", "specHash": "e95d6fa", "version": "0.3.1" }
diff --git a/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs b/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs
index 6bc31cd0..c73dcc78 100644
--- a/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs
+++ b/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs
@@ -16,7 +16,7 @@ public AiManagerTests() {
[TestMethod]
public async System.Threading.Tasks.Task TestAskAiSingleItem() {
FileFull fileToAsk = await new CommonsManager().UploadNewFileAsync();
- AiResponse response = await client.Ai.CreateAiAskAsync(requestBody: new AiAsk(mode: "single_item_qa", prompt: "which direction sun rises", items: Array.AsReadOnly(new [] {new AiAskItemsField(id: fileToAsk.Id, type: AiAskItemsTypeField.File) { Content = "Sun rises in the East" }})));
+ AiResponse response = await client.Ai.CreateAiAskAsync(requestBody: new AiAsk(mode: AiAskModeField.SingleItemQa, prompt: "which direction sun rises", items: Array.AsReadOnly(new [] {new AiAskItemsField(id: fileToAsk.Id, type: AiAskItemsTypeField.File) { Content = "Sun rises in the East" }})));
Assert.IsTrue(response.Answer.Contains("East"));
Assert.IsTrue(response.CompletionReason == "done");
await client.Files.DeleteFileByIdAsync(fileId: fileToAsk.Id);
@@ -26,7 +26,7 @@ public async System.Threading.Tasks.Task TestAskAiSingleItem() {
public async System.Threading.Tasks.Task TestAskAiMultipleItems() {
FileFull fileToAsk1 = await new CommonsManager().UploadNewFileAsync();
FileFull fileToAsk2 = await new CommonsManager().UploadNewFileAsync();
- AiResponse response = await client.Ai.CreateAiAskAsync(requestBody: new AiAsk(mode: "multiple_item_qa", prompt: "Which direction sun rises?", items: Array.AsReadOnly(new [] {new AiAskItemsField(id: fileToAsk1.Id, type: AiAskItemsTypeField.File) { Content = "Earth goes around the sun" },new AiAskItemsField(id: fileToAsk2.Id, type: AiAskItemsTypeField.File) { Content = "Sun rises in the East in the morning" }})));
+ AiResponse response = await client.Ai.CreateAiAskAsync(requestBody: new AiAsk(mode: AiAskModeField.MultipleItemQa, prompt: "Which direction sun rises?", items: Array.AsReadOnly(new [] {new AiAskItemsField(id: fileToAsk1.Id, type: AiAskItemsTypeField.File) { Content = "Earth goes around the sun" },new AiAskItemsField(id: fileToAsk2.Id, type: AiAskItemsTypeField.File) { Content = "Sun rises in the East in the morning" }})));
Assert.IsTrue(response.Answer.Contains("East"));
Assert.IsTrue(response.CompletionReason == "done");
await client.Files.DeleteFileByIdAsync(fileId: fileToAsk1.Id);
diff --git a/Box.Sdk.Gen/Schemas/AiAsk/AiAsk.cs b/Box.Sdk.Gen/Schemas/AiAsk/AiAsk.cs
index 93c7fd4f..1d595830 100644
--- a/Box.Sdk.Gen/Schemas/AiAsk/AiAsk.cs
+++ b/Box.Sdk.Gen/Schemas/AiAsk/AiAsk.cs
@@ -8,6 +8,13 @@
namespace Box.Sdk.Gen.Schemas {
public class AiAsk {
+ ///
+ /// The mode specifies if this request is for a single or multiple items. If you select `single_item_qa` the `items` array can have one element only. Selecting `multiple_item_qa` allows you to provide up to 25 items.
+ ///
+ [JsonPropertyName("mode")]
+ [JsonConverter(typeof(StringEnumConverter))]
+ public StringEnum Mode { get; }
+
///
/// The prompt provided by the client to be answered by the LLM. The prompt's length is limited to 10000 characters.
///
@@ -24,7 +31,15 @@ public class AiAsk {
[JsonPropertyName("items")]
public IReadOnlyList Items { get; }
- public AiAsk(string prompt, IReadOnlyList items) {
+ public AiAsk(AiAskModeField mode, string prompt, IReadOnlyList items) {
+ Mode = mode;
+ Prompt = prompt;
+ Items = items;
+ }
+
+ [JsonConstructorAttribute]
+ internal AiAsk(StringEnum mode, string prompt, IReadOnlyList items) {
+ Mode = mode;
Prompt = prompt;
Items = items;
}
diff --git a/Box.Sdk.Gen/Schemas/AiAsk/AiAskModeField.cs b/Box.Sdk.Gen/Schemas/AiAsk/AiAskModeField.cs
new file mode 100644
index 00000000..303475d4
--- /dev/null
+++ b/Box.Sdk.Gen/Schemas/AiAsk/AiAskModeField.cs
@@ -0,0 +1,10 @@
+using System.ComponentModel;
+
+namespace Box.Sdk.Gen.Schemas {
+ public enum AiAskModeField {
+ [Description("multiple_item_qa")]
+ MultipleItemQa,
+ [Description("single_item_qa")]
+ SingleItemQa
+ }
+}
\ No newline at end of file
diff --git a/docs/Ai.md b/docs/Ai.md
index 7dc81147..78d0d31a 100644
--- a/docs/Ai.md
+++ b/docs/Ai.md
@@ -15,7 +15,7 @@ See the endpoint docs at
```
-await client.Ai.CreateAiAskAsync(requestBody: new AiAsk(mode: "multiple_item_qa", prompt: "Which direction sun rises?", items: Array.AsReadOnly(new [] {new AiAskItemsField(id: fileToAsk1.Id, type: AiAskItemsTypeField.File) { Content = "Earth goes around the sun" },new AiAskItemsField(id: fileToAsk2.Id, type: AiAskItemsTypeField.File) { Content = "Sun rises in the East in the morning" }})));
+await client.Ai.CreateAiAskAsync(requestBody: new AiAsk(mode: AiAskModeField.MultipleItemQa, prompt: "Which direction sun rises?", items: Array.AsReadOnly(new [] {new AiAskItemsField(id: fileToAsk1.Id, type: AiAskItemsTypeField.File) { Content = "Earth goes around the sun" },new AiAskItemsField(id: fileToAsk2.Id, type: AiAskItemsTypeField.File) { Content = "Sun rises in the East in the morning" }})));
```
### Arguments