diff --git a/.dotnet/src/Custom/Assistants/AssistantModificationOptions.cs b/.dotnet/src/Custom/Assistants/AssistantModificationOptions.cs
index 51d6e756b..a7563ffbf 100644
--- a/.dotnet/src/Custom/Assistants/AssistantModificationOptions.cs
+++ b/.dotnet/src/Custom/Assistants/AssistantModificationOptions.cs
@@ -5,7 +5,7 @@ namespace OpenAI.Assistants;
///
/// Represents additional options available when modifying an existing .
///
-[CodeGenModel("ModifyAssistantRequest")]
+[CodeGenModel("AssistantModificationOptions")]
public partial class AssistantModificationOptions
{
///
@@ -19,18 +19,15 @@ public partial class AssistantModificationOptions
///
/// There can be a maximum of 128 tools per assistant. Tools can be of types `code_interpreter`, `file_search`, or `function`.
///
- [CodeGenMember("Tools")]
public IList DefaultTools { get; init; } = new ChangeTrackingList();
// CUSTOM: reuse common request/response models for tool resources. Note that modification operations use the
// response models (which do not contain resource initialization helpers).
///
- [CodeGenMember("ToolResources")]
public ToolResources ToolResources { get; init; }
///
- [CodeGenMember("ResponseFormat")]
public AssistantResponseFormat ResponseFormat { get; init; }
///
@@ -38,6 +35,5 @@ public partial class AssistantModificationOptions
///
/// We generally recommend altering this or temperature but not both.
///
- [CodeGenMember("TopP")]
public float? NucleusSamplingFactor { get; init; }
}
\ No newline at end of file
diff --git a/.dotnet/src/Custom/OpenAIClient.cs b/.dotnet/src/Custom/OpenAIClient.cs
index b530cec98..bb56a781f 100644
--- a/.dotnet/src/Custom/OpenAIClient.cs
+++ b/.dotnet/src/Custom/OpenAIClient.cs
@@ -20,7 +20,6 @@ namespace OpenAI;
/// A top-level client factory that enables convenient creation of scenario-specific sub-clients while reusing shared
/// configuration details like endpoint, authentication, and pipeline customization.
///
-[CodeGenModel("OpenAIClient")]
[CodeGenSuppress("OpenAIClient", typeof(ApiKeyCredential))]
[CodeGenSuppress("OpenAIClient", typeof(Uri), typeof(ApiKeyCredential), typeof(OpenAIClientOptions))]
[CodeGenSuppress("GetAssistantClientClient")]
diff --git a/.dotnet/src/Custom/OpenAIClientOptions.cs b/.dotnet/src/Custom/OpenAIClientOptions.cs
index 610341c52..de02db4a0 100644
--- a/.dotnet/src/Custom/OpenAIClientOptions.cs
+++ b/.dotnet/src/Custom/OpenAIClientOptions.cs
@@ -6,7 +6,6 @@ namespace OpenAI;
///
/// Client-level options for the OpenAI service.
///
-[CodeGenModel("OpenAIClientOptions")]
public partial class OpenAIClientOptions : ClientPipelineOptions
{
///
diff --git a/.scripts/Invoke-CodeGen.ps1 b/.scripts/Invoke-CodeGen.ps1
index 7858ed05f..431103334 100644
--- a/.scripts/Invoke-CodeGen.ps1
+++ b/.scripts/Invoke-CodeGen.ps1
@@ -12,7 +12,7 @@ try {
Invoke { npm ci }
Invoke { npm exec --no -- tsp format **/*tsp }
Invoke { npm exec --no -- tsp compile main.tsp --emit @typespec/openapi3 }
- Invoke { npm exec --no -- tsp compile main.tsp --emit @azure-tools/typespec-csharp --option @azure-tools/typespec-csharp.emitter-output-dir="$dotnetFolder" }
+ Invoke { npm exec --no -- tsp compile client.tsp --emit @azure-tools/typespec-csharp --option @azure-tools/typespec-csharp.emitter-output-dir="$dotnetFolder" }
Invoke { .$PSScriptRoot\Update-ClientModel.ps1 }
Invoke { .$PSScriptRoot\ConvertTo-Internal.ps1 }
Invoke { .$PSScriptRoot\Add-Customizations.ps1 }
diff --git a/.typespec/assistants/client.tsp b/.typespec/assistants/client.tsp
new file mode 100644
index 000000000..504f04c30
--- /dev/null
+++ b/.typespec/assistants/client.tsp
@@ -0,0 +1,9 @@
+import "./main.tsp";
+import "@azure-tools/typespec-client-generator-core";
+
+using Azure.ClientGenerator.Core;
+using OpenAI;
+
+@@clientName(ModifyAssistantRequest, "AssistantModificationOptions", "csharp");
+@@clientName(ModifyAssistantRequest.tools, "defaultTools", "csharp");
+@@clientName(ModifyAssistantRequest.top_p, "nucleusSamplingFactor", "csharp");
diff --git a/.typespec/client.tsp b/.typespec/client.tsp
new file mode 100644
index 000000000..996eea326
--- /dev/null
+++ b/.typespec/client.tsp
@@ -0,0 +1,17 @@
+import "./main.tsp";
+
+//import "./audio/client.tsp";
+import "./assistants/client.tsp";
+//import "./batch/client.tsp";
+//import "./chat/client.tsp";
+//import "./completions/client.tsp";
+//import "./embeddings/client.tsp";
+//import "./files/client.tsp";
+//import "./fine-tuning/client.tsp";
+//import "./images/client.tsp";
+//import "./messages/client.tsp";
+//import "./models/client.tsp";
+//import "./moderations/client.tsp";
+//import "./runs/client.tsp";
+//import "./threads/client.tsp";
+//import "./vector-stores/client.tsp";