Skip to content

Commit 76999c3

Browse files
committed
fb
1 parent 346ae44 commit 76999c3

14 files changed

+91
-36
lines changed

specification/client/chat.client.tsp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ using Azure.ClientGenerator.Core;
1414
@@usage(CreateChatCompletionStreamResponse, Usage.output);
1515

1616
@@visibility(ChatCompletionResponseMessage.tool_calls, Lifecycle.Read);
17+
@@visibility(ChatCompletionResponseMessage.annotations, Lifecycle.Read);
1718
@@visibility(ChatCompletionStreamResponseDelta.tool_calls, Lifecycle.Read);
1819

1920
@@clientName(Chat.createChatCompletion, "CompleteChat");

specification/client/models/chat.models.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ alias ChatCompletionMessageCollectionOrderQueryParameter = {
3636
* Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc`
3737
* for descending order.
3838
*/
39-
@query order?: ChatCompletionCollectionOrder;
39+
@query order?: ChatCompletionMessageCollectionOrder;
4040
};
4141

4242
union ChatCompletionMessageCollectionOrder {

src/Custom/Chat/ChatCompletionMessageCollectionOptions.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
namespace OpenAI.Chat;
32

43
// CUSTOM: Use the correct namespace.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
namespace OpenAI.Chat;
2+
3+
// CUSTOM: Use the correct namespace.
4+
[CodeGenType("ChatCompletionMessageCollectionOrder")]
5+
public readonly partial struct ChatCompletionMessageCollectionOrder {}

src/Custom/Chat/ChatCompletionMessageListDatum.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,8 @@ public partial class ChatCompletionMessageListDatum
66
// CUSTOM: Ensure enumerated value is used.
77
[CodeGenMember("Role")]
88
internal ChatMessageRole Role { get; set; } = ChatMessageRole.Assistant;
9+
10+
// CUSTOM: Rename
11+
[CodeGenMember("Audio")]
12+
public ChatOutputAudio OutputAudio { get; }
913
}

src/Generated/Models/Chat/ChatCompletionMessageCollectionOptions.Serialization.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ internal static ChatCompletionMessageCollectionOptions DeserializeChatCompletion
6969
}
7070
string afterId = default;
7171
int? pageSizeLimit = default;
72-
ChatCompletionCollectionOrder? order = default;
72+
ChatCompletionMessageCollectionOrder? order = default;
7373
IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
7474
foreach (var prop in element.EnumerateObject())
7575
{

src/Generated/Models/Chat/ChatCompletionMessageCollectionOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public ChatCompletionMessageCollectionOptions()
1717
{
1818
}
1919

20-
internal ChatCompletionMessageCollectionOptions(string afterId, int? pageSizeLimit, ChatCompletionCollectionOrder? order, IDictionary<string, BinaryData> additionalBinaryDataProperties)
20+
internal ChatCompletionMessageCollectionOptions(string afterId, int? pageSizeLimit, ChatCompletionMessageCollectionOrder? order, IDictionary<string, BinaryData> additionalBinaryDataProperties)
2121
{
2222
AfterId = afterId;
2323
PageSizeLimit = pageSizeLimit;
@@ -29,7 +29,7 @@ internal ChatCompletionMessageCollectionOptions(string afterId, int? pageSizeLim
2929

3030
public int? PageSizeLimit { get; set; }
3131

32-
public ChatCompletionCollectionOrder? Order { get; set; }
32+
public ChatCompletionMessageCollectionOrder? Order { get; set; }
3333

3434
internal IDictionary<string, BinaryData> SerializedAdditionalRawData
3535
{
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// <auto-generated/>
2+
3+
#nullable disable
4+
5+
using System;
6+
using System.ComponentModel;
7+
using System.Diagnostics.CodeAnalysis;
8+
using OpenAI;
9+
10+
namespace OpenAI.Chat
11+
{
12+
[Experimental("OPENAI001")]
13+
public readonly partial struct ChatCompletionMessageCollectionOrder : IEquatable<ChatCompletionMessageCollectionOrder>
14+
{
15+
private readonly string _value;
16+
private const string AscendingValue = "asc";
17+
private const string DescendingValue = "desc";
18+
19+
public ChatCompletionMessageCollectionOrder(string value)
20+
{
21+
Argument.AssertNotNull(value, nameof(value));
22+
23+
_value = value;
24+
}
25+
26+
public static ChatCompletionMessageCollectionOrder Ascending { get; } = new ChatCompletionMessageCollectionOrder(AscendingValue);
27+
28+
public static ChatCompletionMessageCollectionOrder Descending { get; } = new ChatCompletionMessageCollectionOrder(DescendingValue);
29+
30+
public static bool operator ==(ChatCompletionMessageCollectionOrder left, ChatCompletionMessageCollectionOrder right) => left.Equals(right);
31+
32+
public static bool operator !=(ChatCompletionMessageCollectionOrder left, ChatCompletionMessageCollectionOrder right) => !left.Equals(right);
33+
34+
public static implicit operator ChatCompletionMessageCollectionOrder(string value) => new ChatCompletionMessageCollectionOrder(value);
35+
36+
[EditorBrowsable(EditorBrowsableState.Never)]
37+
public override bool Equals(object obj) => obj is ChatCompletionMessageCollectionOrder other && Equals(other);
38+
39+
public bool Equals(ChatCompletionMessageCollectionOrder other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase);
40+
41+
[EditorBrowsable(EditorBrowsableState.Never)]
42+
public override int GetHashCode() => _value != null ? StringComparer.InvariantCultureIgnoreCase.GetHashCode(_value) : 0;
43+
44+
public override string ToString() => _value;
45+
}
46+
}

src/Generated/Models/Chat/ChatCompletionMessageListDatum.Serialization.cs

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace OpenAI.Chat
1212
{
1313
public partial class ChatCompletionMessageListDatum : IJsonModel<ChatCompletionMessageListDatum>
1414
{
15-
internal ChatCompletionMessageListDatum() : this(null, null, null, null, null, null, null, default, null)
15+
internal ChatCompletionMessageListDatum() : this(null, null, null, null, null, null, default, null, null)
1616
{
1717
}
1818

@@ -65,6 +65,7 @@ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWrit
6565
}
6666
writer.WriteEndArray();
6767
}
68+
// Plugin customization: remove options.Format != "W" check
6869
if (Optional.IsCollectionDefined(Annotations) && _additionalBinaryDataProperties?.ContainsKey("annotations") != true)
6970
{
7071
writer.WritePropertyName("annotations"u8);
@@ -80,11 +81,6 @@ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWrit
8081
writer.WritePropertyName("function_call"u8);
8182
writer.WriteObjectValue(FunctionCall, options);
8283
}
83-
if (Optional.IsDefined(Audio) && _additionalBinaryDataProperties?.ContainsKey("audio") != true)
84-
{
85-
writer.WritePropertyName("audio"u8);
86-
writer.WriteObjectValue(Audio, options);
87-
}
8884
if (_additionalBinaryDataProperties?.ContainsKey("id") != true)
8985
{
9086
writer.WritePropertyName("id"u8);
@@ -95,6 +91,11 @@ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWrit
9591
writer.WritePropertyName("role"u8);
9692
writer.WriteStringValue(Role.ToSerialString());
9793
}
94+
if (Optional.IsDefined(OutputAudio) && _additionalBinaryDataProperties?.ContainsKey("audio") != true)
95+
{
96+
writer.WritePropertyName("audio"u8);
97+
writer.WriteObjectValue(OutputAudio, options);
98+
}
9899
// Plugin customization: remove options.Format != "W" check
99100
if (_additionalBinaryDataProperties != null)
100101
{
@@ -139,11 +140,11 @@ internal static ChatCompletionMessageListDatum DeserializeChatCompletionMessageL
139140
string content = default;
140141
string refusal = default;
141142
IReadOnlyList<ChatToolCall> toolCalls = default;
142-
IList<ChatMessageAnnotation> annotations = default;
143+
IReadOnlyList<ChatMessageAnnotation> annotations = default;
143144
InternalChatCompletionResponseMessageFunctionCall functionCall = default;
144-
ChatOutputAudio audio = default;
145145
string id = default;
146146
ChatMessageRole role = default;
147+
ChatOutputAudio outputAudio = default;
147148
IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
148149
foreach (var prop in element.EnumerateObject())
149150
{
@@ -204,16 +205,6 @@ internal static ChatCompletionMessageListDatum DeserializeChatCompletionMessageL
204205
functionCall = InternalChatCompletionResponseMessageFunctionCall.DeserializeInternalChatCompletionResponseMessageFunctionCall(prop.Value, options);
205206
continue;
206207
}
207-
if (prop.NameEquals("audio"u8))
208-
{
209-
if (prop.Value.ValueKind == JsonValueKind.Null)
210-
{
211-
audio = null;
212-
continue;
213-
}
214-
audio = ChatOutputAudio.DeserializeChatOutputAudio(prop.Value, options);
215-
continue;
216-
}
217208
if (prop.NameEquals("id"u8))
218209
{
219210
id = prop.Value.GetString();
@@ -224,6 +215,16 @@ internal static ChatCompletionMessageListDatum DeserializeChatCompletionMessageL
224215
role = prop.Value.GetString().ToChatMessageRole();
225216
continue;
226217
}
218+
if (prop.NameEquals("audio"u8))
219+
{
220+
if (prop.Value.ValueKind == JsonValueKind.Null)
221+
{
222+
outputAudio = null;
223+
continue;
224+
}
225+
outputAudio = ChatOutputAudio.DeserializeChatOutputAudio(prop.Value, options);
226+
continue;
227+
}
227228
// Plugin customization: remove options.Format != "W" check
228229
additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
229230
}
@@ -233,9 +234,9 @@ internal static ChatCompletionMessageListDatum DeserializeChatCompletionMessageL
233234
toolCalls ?? new ChangeTrackingList<ChatToolCall>(),
234235
annotations ?? new ChangeTrackingList<ChatMessageAnnotation>(),
235236
functionCall,
236-
audio,
237237
id,
238238
role,
239+
outputAudio,
239240
additionalBinaryDataProperties);
240241
}
241242

src/Generated/Models/Chat/ChatCompletionMessageListDatum.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ internal ChatCompletionMessageListDatum(string content, string refusal, string i
2424
Role = role;
2525
}
2626

27-
internal ChatCompletionMessageListDatum(string content, string refusal, IReadOnlyList<ChatToolCall> toolCalls, IList<ChatMessageAnnotation> annotations, InternalChatCompletionResponseMessageFunctionCall functionCall, ChatOutputAudio audio, string id, ChatMessageRole role, IDictionary<string, BinaryData> additionalBinaryDataProperties)
27+
internal ChatCompletionMessageListDatum(string content, string refusal, IReadOnlyList<ChatToolCall> toolCalls, IReadOnlyList<ChatMessageAnnotation> annotations, InternalChatCompletionResponseMessageFunctionCall functionCall, string id, ChatMessageRole role, ChatOutputAudio outputAudio, IDictionary<string, BinaryData> additionalBinaryDataProperties)
2828
{
2929
// Plugin customization: ensure initialization of collections
3030
Content = content;
3131
Refusal = refusal;
3232
ToolCalls = toolCalls ?? new ChangeTrackingList<ChatToolCall>();
3333
Annotations = annotations ?? new ChangeTrackingList<ChatMessageAnnotation>();
3434
FunctionCall = functionCall;
35-
Audio = audio;
3635
Id = id;
3736
Role = role;
37+
OutputAudio = outputAudio;
3838
_additionalBinaryDataProperties = additionalBinaryDataProperties;
3939
}
4040

@@ -44,12 +44,10 @@ internal ChatCompletionMessageListDatum(string content, string refusal, IReadOnl
4444

4545
public IReadOnlyList<ChatToolCall> ToolCalls { get; }
4646

47-
public IList<ChatMessageAnnotation> Annotations { get; }
47+
public IReadOnlyList<ChatMessageAnnotation> Annotations { get; }
4848

4949
internal InternalChatCompletionResponseMessageFunctionCall FunctionCall { get; }
5050

51-
public ChatOutputAudio Audio { get; }
52-
5351
public string Id { get; }
5452

5553
internal IDictionary<string, BinaryData> SerializedAdditionalRawData

0 commit comments

Comments
 (0)