Skip to content

Conversation

@dargilco
Copy link
Member

@dargilco dargilco commented Mar 25, 2024

Data Plane API - Pull Request

Azure AI Studio now hosts a catalog of Large Language Models (LLM) for chat completion, embeddings and image generation, as two offerings called Model-as-a-Service (MaaS, aka "Pay as you go") and Model-as-a-Platform (MaaP, aka "Real-time endpoint"). This TypeSpec defines the common REST API for endpoints hosting these models. It is checked in here to facilitate auto-geration of the client libraries (Python, JS and C# at the moment). Other programing languages will follow. The service team uses Python code which at run-time auto-generates a Swagger file for the service. They do not use the TypeSpec files in this PR. But I am verifying that their Swagger and the one created by this TypeSpec are equivalent, and the emitted client libraries work properly when connecting to this service.

For more information on the catalog see Explore the model catalog in Azure AI Studio.

This TypeSpec is a subset of the Azure OpenAI Inference TypeSpec and additional changes. We use the same model and property names for now, but that may be subject to change. It implements four routes /chat/completions, /embeddings, /image-generation/ and /info.

Is this review for (select one):

  • a private preview
  • a public preview
  • GA release

@dargilco dargilco requested a review from a team as a code owner March 25, 2024 21:13
@dargilco dargilco requested review from bexxx and vicancy and removed request for a team March 25, 2024 21:13
@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Mar 25, 2024

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ Your PR requires an API stewardship board review as it introduces a new API version (label: new-api-version). Schedule the review by following aka.ms/azsdk/onboarding/restapischedule.
  • ❌ The required check named TypeSpec Validation has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Mar 25, 2024

Swagger Validation Report

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 12 Warnings warning [Detail]
Compared specs (v2.2.2) new version base version
package-2024-05-01-preview package-2024-05-01-preview(dda6da8) default(main)

[must fix]The following errors/warnings are introduced by current PR:

Rule Message Related RPC [For API reviewers]
⚠️ SecurityDefinitionDescription Security definition should have a description.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L29
⚠️ OperationId OperationId should be of the form 'Noun_Verb'
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L42
⚠️ ParameterDescription Parameter should have a description.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L82
⚠️ EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L106
⚠️ PropertyType Property should have a defined type.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L161
⚠️ OperationId OperationId should be of the form 'Noun_Verb'
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L213
⚠️ ParameterDescription Parameter should have a description.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L253
⚠️ OperationId OperationId should be of the form 'Noun_Verb'
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L319
⚠️ ParameterDescription Parameter should have a description.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L359
⚠️ OperationId OperationId should be of the form 'Noun_Verb'
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L426
⚠️ PropertyType Property should have a defined type.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L950
⚠️ PropertyType Property should have a defined type.
Location: ModelClient/preview/2024-05-01-preview/openapi.json#L1289
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️SwaggerAPIView succeeded [Detail] [Expand]
️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️Automated merging requirements met succeeded [Detail] [Expand]
Posted by Swagger Pipeline | How to fix these errors?

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Mar 25, 2024

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]
 Please click here to preview with your @microsoft account. 
️⚠️ azure-sdk-for-python warning [Detail]
    For more instructions, please refer to the FAQ .
  • ⚠️Warning in generating from 821752a02b00a60a2fb347197c1b9a8cb6c4b8e2. SDK Automation 14.0.0
    command	sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json
    cmderr	[automation_init.sh] W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
    cmderr	[automation_init.sh] npm notice
    cmderr	[automation_init.sh] npm notice New minor version of npm available! 10.7.0 -> 10.8.2
    cmderr	[automation_init.sh] npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.2
    cmderr	[automation_init.sh] npm notice To update run: npm install -g [email protected]
    cmderr	[automation_init.sh] npm notice
    warn		Warning: azure-sdk-for-python cannot be found in specification/ai/data-plane/AI.Model/readme.md. This SDK will be skipped from SDK generation. Please add the right config to the readme file according to this guidance https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/code-gen/configure-go-sdk.md#swagger-to-sdk.
    command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
  • ️✔️azure-ai-inference [Preview SDK Changes]
    info	[Changelog] data-plan skip changelog generation temporarily
Posted by Swagger Pipeline | How to fix these errors?

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Mar 25, 2024

PR validation pipeline restarted successfully. If there is ApiView generated, it will be updated in this comment.

Signed-off-by: trangevi <[email protected]>
* Update client.tsp

* Update chat_completions.tsp

* Update tspconfig.yaml

* Update chat_completions.tsp

* Update chat_completions.tsp

* Update client.tsp

* Update client.tsp

* Update client.tsp

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml fix typo

* Update client.tsp

* Update client.tsp

* Update routes.tsp

* Update routes.tsp

* Update routes.tsp

* updated data-plane for ModelClient

* add warning suppressions to allow compilation

* formatting changes

* sync with current data-plane examples

* sync examples json with dargilco/ai-model-inference

* Remove config class to see if that fixes java gen

* Update tspconfig.yaml

* Update client.tsp

* merge model changes from trangevi/structured-output-java

* Update client.tsp

* Update client.tsp

* Update main.tsp

* Update client.tsp

* Add ChatRequestDeveloperMessage

* Update client.tsp

* readd chatcompletionsoptions as public class

* Update @service tag to work with latest TypeSpec version 0.67

* Merge from feature branch (#33660)

* Go back to `parameters?: unknown` in FunctionDefinition model

* Add missing CompletionsFinishReason comments. Update tool choice related models to use the work `choice` instead of selection, similar to OAI TypeSpec

* Update JSON examples. Fix client.tsp after previous commit to rename models

* Add ID back to EmbeddingsResult model. Add comment to getModelInfo that it only works for MaaS/MaaP

* Update comments about hand-written operator methods

* Update teh ModelInfo enum

* Rename EmbeddingInput to ImageEmbeddingInput (#31953)

* Add Structured Outputs (#31962)

* Add support for structured outputs

Signed-off-by: trangevi <[email protected]>

* Naming consistency (#31966)

Signed-off-by: trangevi <[email protected]>

* Fixes following `npx tsp format **\*.tsp`

* Fix a couple of errors from `npx tsv .`

* Add missing class description. Add updated swagger file

* Update description

* Remove the in-line definition

* Make all response format models internal (#32005)

* Make 'usage' optional in streaming response update (#32078)

* Make message classes internal (#32103)

* Add new input audio content item (#32287)

* Add new audio content item

Signed-off-by: trangevi <[email protected]>

* Update swagger

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>

* Rename Audio Classes to Match Convention (#32304)

* Add new audio content item

Signed-off-by: trangevi <[email protected]>

* Update swagger

Signed-off-by: trangevi <[email protected]>

* Rename to match convention

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>

* Apply new local cspell

* Fix wrongly deleted new cspell in the root

* Add developer role to support new GPT models (#32474)

* Fix tcgc error due to Record<unknown> (#32719)

* Fix tcgc error due to Record<unknown>

Signed-off-by: trangevi <[email protected]>

* Update other options objects to model

Signed-off-by: trangevi <[email protected]>

* Fix compile errors. Update swagger

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>

* Merge C# feature branch into primary Azure.AI.Inference branch (#31869)

* Update ImageEmbeddingsClient to change embed to embedImage

Signed-off-by: Travis Angevine <[email protected]>

* Add typespec-csharp to the tspconfig

Signed-off-by: Travis Angevine <[email protected]>

* Move csharp client property renames

Signed-off-by: Travis Angevine <[email protected]>

* Missing semicolons

Signed-off-by: Travis Angevine <[email protected]>

* Wrong namespace

Signed-off-by: Travis Angevine <[email protected]>

* Incorrect namespaces

Signed-off-by: Travis Angevine <[email protected]>

* Aliases need to have things referenced differently, apparently

Signed-off-by: Travis Angevine <[email protected]>

* Need to specify parameters?

Signed-off-by: Travis Angevine <[email protected]>

* Move alias renames to the individual file for now

Signed-off-by: Travis Angevine <[email protected]>

* Change ChatCompletionsOptions to a model

Signed-off-by: Travis Angevine <[email protected]>

* syntax

Signed-off-by: Travis Angevine <[email protected]>

* Leave the model property

Signed-off-by: Travis Angevine <[email protected]>

* Add additional properties for ChatCompletionsOptions

Signed-off-by: Travis Angevine <[email protected]>

* 3 dots, not 2

Signed-off-by: Travis Angevine <[email protected]>

* Can't add docstring to generic spread property

Signed-off-by: Travis Angevine <[email protected]>

* Change unknown parameters to extra parameters

Signed-off-by: Travis Angevine <[email protected]>

* Remove unnecessary rename

Signed-off-by: Travis Angevine <[email protected]>

* Removing api-key change for python, for now

Signed-off-by: Travis Angevine <[email protected]>

* Make operator method internal

Signed-off-by: Travis Angevine <[email protected]>

* Fix pass-through header

Signed-off-by: Travis Angevine <[email protected]>

* Re-enable protocol methods for csharp

Signed-off-by: Travis Angevine <[email protected]>

* Remove "spread" for ChatCompletionsOptions

Signed-off-by: Travis Angevine <[email protected]>

* Remove spread for additionalRequestHeaders

Signed-off-by: Travis Angevine <[email protected]>

* needed commas

Signed-off-by: Travis Angevine <[email protected]>

* another formatting attempt

Signed-off-by: Travis Angevine <[email protected]>

* okay, figured out how the formatting works

Signed-off-by: Travis Angevine <[email protected]>

* Alias breaks the generator

Signed-off-by: Travis Angevine <[email protected]>

* A model won't give us the interaction pattern that we want. Trying this.

Signed-off-by: Travis Angevine <[email protected]>

* Forgot semicolon

Signed-off-by: Travis Angevine <[email protected]>

* Does swapping the order of parameters matter?

Signed-off-by: Travis Angevine <[email protected]>

* Make extraParams optional?

Signed-off-by: Travis Angevine <[email protected]>

* Try and get rid of anonymous model

Signed-off-by: Travis Angevine <[email protected]>

* Try adding RequestHeadersTrait

Signed-off-by: Travis Angevine <[email protected]>

* Maybe needs to be an object?

Signed-off-by: Travis Angevine <[email protected]>

* Add using

Signed-off-by: Travis Angevine <[email protected]>

* Revert to "good" state

Signed-off-by: Travis Angevine <[email protected]>

* Try moving extra parameters. Change Parameters back to unknown

Signed-off-by: Travis Angevine <[email protected]>

* Skip the alias

Signed-off-by: Travis Angevine <[email protected]>

* Is it the header which is causing issues?

Signed-off-by: Travis Angevine <[email protected]>

* Headers in the options object seems to not work

Signed-off-by: Travis Angevine <[email protected]>

* Remove commented operation

Signed-off-by: Travis Angevine <[email protected]>

* Unnecessary using

Signed-off-by: Travis Angevine <[email protected]>

* Add embeddings for csharp

Signed-off-by: Travis Angevine <[email protected]>

* Client changes for C#

Signed-off-by: Travis Angevine <[email protected]>

* Need the options objects to be models

Signed-off-by: Travis Angevine <[email protected]>

* Make the embedding methods public for now, for intial testing

Signed-off-by: Travis Angevine <[email protected]>

* Remove image embedding for now until it can be tested

Signed-off-by: Travis Angevine <[email protected]>

* Add new streaming classes for C#

Signed-off-by: Travis Angevine <[email protected]>

* Revert to Darren's branch to test

Signed-off-by: trangevi <[email protected]>

* Explicitly set the completions options object to be an input

Signed-off-by: trangevi <[email protected]>

* Other clients with spread parameters

Signed-off-by: trangevi <[email protected]>

* No image embedding client yet, so leave this out for now

Signed-off-by: trangevi <[email protected]>

* Operations need to be internal for all languages

Signed-off-by: trangevi <[email protected]>

* Comment

Signed-off-by: trangevi <[email protected]>

* Add support for structured outputs

Signed-off-by: trangevi <[email protected]>

* We already had the property, just need to add one more option

Signed-off-by: trangevi <[email protected]>

* Remove unnecessary inner class

Signed-off-by: trangevi <[email protected]>

* Rename

Signed-off-by: trangevi <[email protected]>

* extra semicolon

Signed-off-by: trangevi <[email protected]>

* Fix naming

Signed-off-by: trangevi <[email protected]>

* What if it's just unknown?

Signed-off-by: trangevi <[email protected]>

* unknown to record unknown

Signed-off-by: trangevi <[email protected]>

* Leave as unknown for now

Signed-off-by: trangevi <[email protected]>

* Add image embeddings client back to csharp

Signed-off-by: trangevi <[email protected]>

* Generation is fixed, switch back to record

Signed-off-by: trangevi <[email protected]>

* Make ImageEmbeddingsOptions explicitly an input

Signed-off-by: trangevi <[email protected]>

* First attempt. Make the main content item a parent of the two relevant ones, will require a custom factory

Signed-off-by: trangevi <[email protected]>

* Do I need this explicitly public?

Signed-off-by: trangevi <[email protected]>

* What about usage?

Signed-off-by: trangevi <[email protected]>

* More inputs

Signed-off-by: trangevi <[email protected]>

* Remove middle layer

Signed-off-by: trangevi <[email protected]>

* Missed some

Signed-off-by: trangevi <[email protected]>

* TSP formatting and swagger changes

Signed-off-by: trangevi <[email protected]>

* Another format change

Signed-off-by: trangevi <[email protected]>

* Update with some changes to better reflect the desired merge

Signed-off-by: trangevi <[email protected]>

* Mark options object as internal to address transitive access issue

Signed-off-by: trangevi <[email protected]>

* review comments

Signed-off-by: trangevi <[email protected]>

* Add renaming for python classes

Signed-off-by: trangevi <[email protected]>

* Update after npx command

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: Travis Angevine <[email protected]>
Signed-off-by: trangevi <[email protected]>

* Inference JS/TS merge with main Inference Branch (#33553)

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update tspconfig.yaml

* Update client.tsp

* Update client.tsp - remove embeddingsClient and ImageEmbeddingsClient

* Update tspconfig.yaml

* Update main.tsp

* Update main.tsp

* change namespace to Model

* use namespace AI.Model

* Use AI.Model instead of ModelClient

* Update client.tsp

* Delete specification/ai/ModelClient/models/image_embeddings.tsp

* Delete specification/ai/ModelClient/models/embeddings.tsp

* Update common.tsp

* Update routes.tsp

* Update client.tsp

* Update chat_completions.tsp

* Update chat_completions.tsp

* access fix

* use model keyword

* trying to fix ts gen

* more fixes

* more fixes

* revert chatcompletionsoptions to alias

* revert to alias

* Update tspconfig.yaml

* Update client.tsp

* Attempt to merge Darren's branch (#32066)

* Go back to `parameters?: unknown` in FunctionDefinition model

* Add missing CompletionsFinishReason comments. Update tool choice related models to use the work `choice` instead of selection, similar to OAI TypeSpec

* Update JSON examples. Fix client.tsp after previous commit to rename models

* Add ID back to EmbeddingsResult model. Add comment to getModelInfo that it only works for MaaS/MaaP

* Update comments about hand-written operator methods

* Update teh ModelInfo enum

* Rename EmbeddingInput to ImageEmbeddingInput (#31953)

* Add Structured Outputs (#31962)

* Add support for structured outputs

Signed-off-by: trangevi <[email protected]>

* Naming consistency (#31966)

Signed-off-by: trangevi <[email protected]>

* Fixes following `npx tsp format **\*.tsp`

* Fix a couple of errors from `npx tsv .`

* Add missing class description. Add updated swagger file

* Update description

* Remove the in-line definition

* Make all response format models internal (#32005)

* Update client.tsp - alias ChatCompletionsResponseFormatJsonObject in JS to avoid breaking change

* Update chat_completions.tsp

---------

Signed-off-by: trangevi <[email protected]>
Co-authored-by: Darren Cohen <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>

* Make ChatCompletionsOptions public in Java

* add alias for ChatCompletionsResponseFormatJsonObject

* add developer chat role

* remove java specific augment

* use correct names for audio content classes

* fix tsp error

* fix anonymous object error (#33514)

Signed-off-by: trangevi <[email protected]>

* Merge main inference branch into js feature branch (#33451)

* Apply new local cspell

* Fix wrongly deleted new cspell in the root

* Add developer role to support new GPT models (#32474)

* Fix tcgc error due to Record<unknown> (#32719)

* Fix tcgc error due to Record<unknown>

Signed-off-by: trangevi <[email protected]>

* Update other options objects to model

Signed-off-by: trangevi <[email protected]>

* Fix compile errors. Update swagger

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>

* Merge C# feature branch into primary Azure.AI.Inference branch (#31869)

* Update ImageEmbeddingsClient to change embed to embedImage

Signed-off-by: Travis Angevine <[email protected]>

* Add typespec-csharp to the tspconfig

Signed-off-by: Travis Angevine <[email protected]>

* Move csharp client property renames

Signed-off-by: Travis Angevine <[email protected]>

* Missing semicolons

Signed-off-by: Travis Angevine <[email protected]>

* Wrong namespace

Signed-off-by: Travis Angevine <[email protected]>

* Incorrect namespaces

Signed-off-by: Travis Angevine <[email protected]>

* Aliases need to have things referenced differently, apparently

Signed-off-by: Travis Angevine <[email protected]>

* Need to specify parameters?

Signed-off-by: Travis Angevine <[email protected]>

* Move alias renames to the individual file for now

Signed-off-by: Travis Angevine <[email protected]>

* Change ChatCompletionsOptions to a model

Signed-off-by: Travis Angevine <[email protected]>

* syntax

Signed-off-by: Travis Angevine <[email protected]>

* Leave the model property

Signed-off-by: Travis Angevine <[email protected]>

* Add additional properties for ChatCompletionsOptions

Signed-off-by: Travis Angevine <[email protected]>

* 3 dots, not 2

Signed-off-by: Travis Angevine <[email protected]>

* Can't add docstring to generic spread property

Signed-off-by: Travis Angevine <[email protected]>

* Change unknown parameters to extra parameters

Signed-off-by: Travis Angevine <[email protected]>

* Remove unnecessary rename

Signed-off-by: Travis Angevine <[email protected]>

* Removing api-key change for python, for now

Signed-off-by: Travis Angevine <[email protected]>

* Make operator method internal

Signed-off-by: Travis Angevine <[email protected]>

* Fix pass-through header

Signed-off-by: Travis Angevine <[email protected]>

* Re-enable protocol methods for csharp

Signed-off-by: Travis Angevine <[email protected]>

* Remove "spread" for ChatCompletionsOptions

Signed-off-by: Travis Angevine <[email protected]>

* Remove spread for additionalRequestHeaders

Signed-off-by: Travis Angevine <[email protected]>

* needed commas

Signed-off-by: Travis Angevine <[email protected]>

* another formatting attempt

Signed-off-by: Travis Angevine <[email protected]>

* okay, figured out how the formatting works

Signed-off-by: Travis Angevine <[email protected]>

* Alias breaks the generator

Signed-off-by: Travis Angevine <[email protected]>

* A model won't give us the interaction pattern that we want. Trying this.

Signed-off-by: Travis Angevine <[email protected]>

* Forgot semicolon

Signed-off-by: Travis Angevine <[email protected]>

* Does swapping the order of parameters matter?

Signed-off-by: Travis Angevine <[email protected]>

* Make extraParams optional?

Signed-off-by: Travis Angevine <[email protected]>

* Try and get rid of anonymous model

Signed-off-by: Travis Angevine <[email protected]>

* Try adding RequestHeadersTrait

Signed-off-by: Travis Angevine <[email protected]>

* Maybe needs to be an object?

Signed-off-by: Travis Angevine <[email protected]>

* Add using

Signed-off-by: Travis Angevine <[email protected]>

* Revert to "good" state

Signed-off-by: Travis Angevine <[email protected]>

* Try moving extra parameters. Change Parameters back to unknown

Signed-off-by: Travis Angevine <[email protected]>

* Skip the alias

Signed-off-by: Travis Angevine <[email protected]>

* Is it the header which is causing issues?

Signed-off-by: Travis Angevine <[email protected]>

* Headers in the options object seems to not work

Signed-off-by: Travis Angevine <[email protected]>

* Remove commented operation

Signed-off-by: Travis Angevine <[email protected]>

* Unnecessary using

Signed-off-by: Travis Angevine <[email protected]>

* Add embeddings for csharp

Signed-off-by: Travis Angevine <[email protected]>

* Client changes for C#

Signed-off-by: Travis Angevine <[email protected]>

* Need the options objects to be models

Signed-off-by: Travis Angevine <[email protected]>

* Make the embedding methods public for now, for intial testing

Signed-off-by: Travis Angevine <[email protected]>

* Remove image embedding for now until it can be tested

Signed-off-by: Travis Angevine <[email protected]>

* Add new streaming classes for C#

Signed-off-by: Travis Angevine <[email protected]>

* Revert to Darren's branch to test

Signed-off-by: trangevi <[email protected]>

* Explicitly set the completions options object to be an input

Signed-off-by: trangevi <[email protected]>

* Other clients with spread parameters

Signed-off-by: trangevi <[email protected]>

* No image embedding client yet, so leave this out for now

Signed-off-by: trangevi <[email protected]>

* Operations need to be internal for all languages

Signed-off-by: trangevi <[email protected]>

* Comment

Signed-off-by: trangevi <[email protected]>

* Add support for structured outputs

Signed-off-by: trangevi <[email protected]>

* We already had the property, just need to add one more option

Signed-off-by: trangevi <[email protected]>

* Remove unnecessary inner class

Signed-off-by: trangevi <[email protected]>

* Rename

Signed-off-by: trangevi <[email protected]>

* extra semicolon

Signed-off-by: trangevi <[email protected]>

* Fix naming

Signed-off-by: trangevi <[email protected]>

* What if it's just unknown?

Signed-off-by: trangevi <[email protected]>

* unknown to record unknown

Signed-off-by: trangevi <[email protected]>

* Leave as unknown for now

Signed-off-by: trangevi <[email protected]>

* Add image embeddings client back to csharp

Signed-off-by: trangevi <[email protected]>

* Generation is fixed, switch back to record

Signed-off-by: trangevi <[email protected]>

* Make ImageEmbeddingsOptions explicitly an input

Signed-off-by: trangevi <[email protected]>

* First attempt. Make the main content item a parent of the two relevant ones, will require a custom factory

Signed-off-by: trangevi <[email protected]>

* Do I need this explicitly public?

Signed-off-by: trangevi <[email protected]>

* What about usage?

Signed-off-by: trangevi <[email protected]>

* More inputs

Signed-off-by: trangevi <[email protected]>

* Remove middle layer

Signed-off-by: trangevi <[email protected]>

* Missed some

Signed-off-by: trangevi <[email protected]>

* TSP formatting and swagger changes

Signed-off-by: trangevi <[email protected]>

* Another format change

Signed-off-by: trangevi <[email protected]>

* Update with some changes to better reflect the desired merge

Signed-off-by: trangevi <[email protected]>

* Mark options object as internal to address transitive access issue

Signed-off-by: trangevi <[email protected]>

* review comments

Signed-off-by: trangevi <[email protected]>

* Add renaming for python classes

Signed-off-by: trangevi <[email protected]>

* Update after npx command

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: Travis Angevine <[email protected]>
Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>
Signed-off-by: Travis Angevine <[email protected]>
Co-authored-by: Darren Cohen <[email protected]>

* PR fixes

Signed-off-by: trangevi <[email protected]>

* Add package flavor for tsp compiler

Signed-off-by: trangevi <[email protected]>

* Replace removed cspell file

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>
Signed-off-by: Travis Angevine <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>
Co-authored-by: Darren Cohen <[email protected]>

* Missing access modifier

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>
Signed-off-by: Travis Angevine <[email protected]>
Co-authored-by: Darren Cohen <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>

* Update swagger spec

Signed-off-by: trangevi <[email protected]>

* Remove 08-01 api version

Signed-off-by: trangevi <[email protected]>

* Remove 08-01 swagger spec

Signed-off-by: trangevi <[email protected]>

---------

Signed-off-by: trangevi <[email protected]>
Signed-off-by: Travis Angevine <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>
Co-authored-by: Glenn Harper <[email protected]>
Co-authored-by: Srikanta <[email protected]>
Co-authored-by: Darren Cohen <[email protected]>
@microsoft-github-policy-service
Copy link
Contributor

Hi, @@dargilco. Your PR has no update for 14 days and it is marked as stale PR. If no further update for over 14 days, the bot will close the PR. If you want to refresh the PR, please remove no-recent-activity label.

@microsoft-github-policy-service microsoft-github-policy-service bot added the no-recent-activity There has been no recent activity on this issue. label May 26, 2025
@microsoft-github-policy-service
Copy link
Contributor

Hi, @@dargilco. The PR will be closed since the PR has no update for 28 days. If you still need the PR review to proceed, please reopen it and @ mention PR assignee.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.