Language.AnalyzeText and Language.Conversations migration to Typespec
Data Plane API - Pull Request
API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.
- Link to API Spec engagement record issue:
Is this review for (select one):
- [ ] a private preview
- [x] a public preview
- [x] GA release
Change Scope
This Change is to migrate the Language.AnalyzeText and Language.Conversations APIs to typespec
This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.
- Design Document:
- Previous API Spec Doc:
- Updated paths:
Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the Swagger-Suppression-Process to get approval.
❔Got questions? Need additional info?? We are here to help!
Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.
- 💬 Teams Channel
Click here for links to tools, specs, guidelines & other good stuff
Tooling
- Open API validation tools were run on this PR. Go here to see how to fix errors
- Spectral Linting
- Open API Hub
Guidelines & Specifications
Helpful Links
Checks stuck in `queued` state?
If the PR CI checks appear to be stuck in `queued` state, please add a comment with contents `/azp run`. This should result in a new comment denoting a `PR validation pipeline` has started and the checks should be updated after few minutes.fix https://github.com/Azure/azure-rest-api-specs/issues/27554
Next Steps to Merge
✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.
Swagger Validation Report
️🔄BreakingChange inProgress [Detail]
️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 93 Warnings warning [Detail]
| Compared specs (v2.2.0) | new version | base version |
|---|---|---|
| release_2022_05_01 | release_2022_05_01(bf90d18) | release_2022_05_01(main) |
| release_2023-11-15-preview | release_2023-11-15-preview(bf90d18) | release_2023-11-15-preview(main) |
| release_2023_04_01 | release_2023_04_01(bf90d18) | release_2023_04_01(main) |
[must fix]The following errors/warnings are introduced by current PR:
Only 30 items are listed, please refer to log for more details.
| Rule | Message | Related RPC [For API reviewers] |
|---|---|---|
| :warning: SecurityDefinitionDescription | Security definition should have a description. Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L41 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L51 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L101 |
|
| :warning: GetInOperationName | 'GET' operation 'AnalyzeConversationsJobStatus' should use method name 'Get' or Method name start with 'List'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L168 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L168 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L183 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L238 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L885 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1489 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1506 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1836 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L2020 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L2148 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L2984 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L3899 |
|
| :warning: SecurityDefinitionDescription | Security definition should have a description. Location: Language/preview/2023-11-15-preview/analyzetext.json#L41 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L57 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzetext.json#L138 |
|
| :warning: GetInOperationName | 'GET' operation 'AnalyzeTextJobStatus' should use method name 'Get' or Method name start with 'List'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Language/preview/2023-11-15-preview/analyzetext.json#L205 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzetext.json#L205 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L220 |
|
| :warning: SummaryAndDescriptionMustNotBeSame | The summary and description values should not be same. Location: Language/preview/2023-11-15-preview/analyzetext.json#L290 |
|
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzetext.json#L291 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L416 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L1681 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L1758 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L2015 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L2142 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L2322 |
|
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L2411 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
| Rule | Message |
|---|---|
| :warning: OperationId | OperationId for get method should contain 'Get' or 'list' Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L168 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L175 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Language/preview/2023-11-15-preview/analyzeconversations.json#L245 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1090 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1154 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1158 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1926 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L1930 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L3179 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L3183 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L3187 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzeconversations.json#L3196 |
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/preview/2023-11-15-preview/analyzetext.json#L51 |
| :warning: OperationId | OperationId for get method should contain 'Get' or 'list' Location: Language/preview/2023-11-15-preview/analyzetext.json#L205 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Language/preview/2023-11-15-preview/analyzetext.json#L212 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Language/preview/2023-11-15-preview/analyzetext.json#L298 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L3355 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L8384 |
| :warning: 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: Language/preview/2023-11-15-preview/analyzetext.json#L8553 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L532 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L568 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L572 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L748 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L752 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L1692 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L1696 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L1700 |
| :warning: 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: Language/stable/2022-05-01/analyzeconversations.json#L1709 |
| :warning: OperationId | OperationId should be of the form 'Noun_Verb' Location: Language/stable/2022-05-01/analyzetext.json#L51 |
| :warning: OperationId | OperationId for get method should contain 'Get' or 'list' Location: Language/stable/2022-05-01/analyzetext.json#L166 |
️️✔️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]
Swagger Generation Artifacts
️️✔️ApiDocPreview succeeded [Detail] [Expand]
Please click here to preview with your @microsoft account.
️❌ azure-sdk-for-net-track2 failed [Detail]
- Only showing 30 items here. Refer to log for details.
❌Failed in generating from a3176ff92298c0925772c30f27a0e01a2e4b3250. SDK Automation 14.0.0cmderr [Invoke-GenerateAndBuildV2.ps1] | Failed to packe sdk. exit code: False cmderr [Invoke-GenerateAndBuildV2.ps1] Get-ChildItem: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:807 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 807 | … rtifacts += Get-ChildItem $artifactsPath -Filter *.nupkg -exclude *.s … cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Cannot find path cmderr [Invoke-GenerateAndBuildV2.ps1] | '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/packages/Debug/' because cmderr [Invoke-GenerateAndBuildV2.ps1] | it does not exist. cmderr [Invoke-GenerateAndBuildV2.ps1] GeneratePackage: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:141 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 141 | GeneratePackage ` cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Failed to generate sdk artifact cmderr [Invoke-GenerateAndBuildV2.ps1] GeneratePackage: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:131 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 131 | GeneratePackage ` cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Failed to generate sdk. exit code: False cmderr [Invoke-GenerateAndBuildV2.ps1] Get-ChildItem: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:807 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 807 | … rtifacts += Get-ChildItem $artifactsPath -Filter *.nupkg -exclude *.s … cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Cannot find path cmderr [Invoke-GenerateAndBuildV2.ps1] | '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/packages/Debug/' because cmderr [Invoke-GenerateAndBuildV2.ps1] | it does not exist. cmderr [Invoke-GenerateAndBuildV2.ps1] GeneratePackage: /mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:131 cmderr [Invoke-GenerateAndBuildV2.ps1] Line | cmderr [Invoke-GenerateAndBuildV2.ps1] 131 | GeneratePackage ` cmderr [Invoke-GenerateAndBuildV2.ps1] | ~~~~~~~~~~~~~~~~~ cmderr [Invoke-GenerateAndBuildV2.ps1] | Failed to generate sdk artifact
❌Azure.AI.Language.Conversations [Preview SDK Changes] Breaking Change Detectedinfo [Changelog] Breaking Changes: /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.Language.Conversations.Authoring.ConversationAuthoringClient' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/Azure.AI.Language.Conversations.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Microsoft.Extensions.Azure.ConversationAnalysisClientExtensions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/Azure.AI.Language.Conversations.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(96,5): error : ApiCompat failed for '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/bin/Azure.AI.Language.Conversations/Debug/netstandard2.0/Azure.AI.Language.Conversations.dll' [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/Azure.AI.Language.Conversations.csproj::TargetFramework=netstandard2.0]
Parse Suppression File Errors No suppression file added.
Please refer to https://aka.ms/azsdk/sdk-suppression for more information.- Only showing 30 items here. Refer to log for details.
❌Azure.AI.TextAnalytics [Preview SDK Changes] Breaking Change Detectedinfo [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.RecognizePiiEntitiesOptions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.RecognizePiiEntitiesResult' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.RecognizePiiEntitiesResultCollection' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.SentenceOpinion' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.SentenceSentiment' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.SentimentConfidenceScores' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.SingleLabelClassifyAction' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.SingleLabelClassifyActionResult' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.SingleLabelClassifyOptions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TargetSentiment' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsActionResult' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsActions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsAudience' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsClient' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsClientOptions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsError' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsErrorCode' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsInput' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsModelFactory' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsOperationStatus' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsRequestOptions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsResult' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsWarning' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextAnalyticsWarningCode' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextDocumentBatchStatistics' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextDocumentInput' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextDocumentStatistics' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Azure.AI.TextAnalytics.TextSentiment' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : TypesMustExist : Type 'Microsoft.Extensions.Azure.TextAnalyticsClientBuilderExtensions' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0], info [Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(96,5): error : ApiCompat failed for '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/bin/Azure.AI.TextAnalytics/Debug/netstandard2.0/Azure.AI.TextAnalytics.dll' [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/textanalytics/Azure.AI.TextAnalytics/src/Azure.AI.TextAnalytics.csproj::TargetFramework=netstandard2.0]
Parse Suppression File Errors No suppression file added.
Please refer to https://aka.ms/azsdk/sdk-suppression for more information. ❌Azure.AI.Language.AnalyzeText [Preview SDK Changes]info [Changelog]
❌Azure.AI.Language.Conversations [Preview SDK Changes]info [Changelog]
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| TypeSpec | Language.AnalyzeText | https://apiview.dev/Assemblies/Review/4a7b16aac8c14154a4f4b60c32ced742?revisionId=a899704763aa459cacebc1ad45d20369 |
| TypeSpec | Language.Conversations | https://apiview.dev/Assemblies/Review/8c72372fd7bc4871a639327bdfb7c07f?revisionId=8ac10e57ca884c9580e18107169d9c1a |
| Swagger | Language | https://apiview.dev/Assemblies/Review/d940fcb06e874adebca52d9bf9e40221?revisionId=4691ff51a7b543b2a5d9d0240689547c |
PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.
PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
Please address or respond to feedback from the ARM API reviewer.
When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
This will notify the reviewer to have another look.
If the feedback provided needs further discussion, please use this Teams channel to post your questions - aka.ms/azsdk/support/specreview-channel.
Please include [ARM Query] in the title of your question to indicate that it is ARM-related.
Data plane api does not require ARM review
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
@tjprescott these are enum value that are self explanatory, do we really need to go over these value to put a text that is same as the value??
@tjprescott these are enum value that are self explanatory, do we really need to go over these value to put a text that is same as the value??
@mikaelsitruk @quentinRobinson there are still 955 suppressions in the PR, 890 of which are for "documentation-required". By what process were these suppressions reviewed and approved? Almost none of them provide a justification, and in many cases the justification string is actually a restatement of the error message.
We need to get CI checks passing, starting with TypeSpec Validation. There are instructions in the logs or please refer to this documentation: https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md#typespec-validation
We have added docs for all cases except for enum values which are self explanatory. There are still 3 remaining files which we are working on. key.phrase.tsp: 12 (update in progress) sentiment.analysis.tsp: 42 (update in progress) summarization.tsp: 16 (update in progress)
Going forward, we will continue to have documentation-required suppressions for enums.
analyze text: : 646 enum suppressions
- pii.entity.recognition.tsp: 347 (all enums)
- entity.recognition.tsp: 95 (all enums)
- common.models.tsp: 106 (all enums)
- custom.text.tsp: 5 (all enums)
- healthcare.tsp: 93(All enums) Total #: 646
analyze conversations: : 257 enum suppressions
- main.tsp : 202 (all enums)
- common.tsp: 55 (All enums)
@tjprescott, @johanste do you have any suggestions on how to disable/manage these suppressions and merge the PR.
We need to get CI checks passing, starting with TypeSpec Validation. There are instructions in the logs or please refer to this documentation: https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md#typespec-validation
Hi @catalinaperalta, @heaths ,
Couple of blocking issues:
-
swagger spell check is having issues with "picometers" which is a valid string.
-
We have a bunch of Swagger model validations failing for XMS_EXAMPLE_NOTFOUND_ERROR. We have the examples commented in typespec but the @examples decorators are not supported it seems. https://github.com/Azure/autorest.csharp/issues/4495 Do we have a update on this or suggestions on how to handle these validations?