Skip to content

[AutoPR @azure-arm-education]-generated-from-SDK Generation - JS-6357065#38697

Open
azure-sdk wants to merge 3 commits into
mainfrom
sdkauto/@azure-arm-education-6357065
Open

[AutoPR @azure-arm-education]-generated-from-SDK Generation - JS-6357065#38697
azure-sdk wants to merge 3 commits into
mainfrom
sdkauto/@azure-arm-education-6357065

Conversation

@azure-sdk
Copy link
Copy Markdown
Collaborator

Configurations: 'specification/education/resource-manager/Microsoft.Education/Education/tspconfig.yaml', API Version: 2021-12-01-preview, SDK Release Type: beta, and CommitSHA: '5a45c68db967ced0736a2f91a74774a65771dadc' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6357065 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.

…ducation/Education/tspconfig.yaml', API Version: 2021-12-01-preview, SDK Release Type: beta, and CommitSHA: '5a45c68db967ced0736a2f91a74774a65771dadc' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6357065 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
@github-actions github-actions Bot added the Mgmt This issue is related to a management-plane library. label May 27, 2026
@v-jiaodi v-jiaodi added refresh PR for SDK refresh mgmt-review-needed labels May 28, 2026
@v-jiaodi v-jiaodi marked this pull request as ready for review May 28, 2026 08:14
Copilot AI review requested due to automatic review settings May 28, 2026 08:14
@github-actions github-actions Bot added mgmt-review-in-progress Management SDK review is in progress and removed mgmt-review-needed labels May 28, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR regenerates @azure/arm-education from the TypeSpec configuration for API version 2021-12-01-preview, migrating the package to the newer generated client structure and refreshing samples, docs, and build metadata.

Changes:

  • Replaces legacy AutoRest operation/interface files with generated api/, classic/, model, helper, and client entry points.
  • Updates README, CHANGELOG, snippets, samples, package metadata, tsconfigs, and pipeline/build configuration.
  • Adds TypeSpec source metadata and refreshed assets/lockfile entries.

Reviewed changes

Copilot reviewed 146 out of 148 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
sdk/education/ci.mgmt.yml Normalizes CI YAML whitespace.
sdk/education/arm-education/warp.config.yml Updates Warp exports and build targets.
sdk/education/arm-education/tsp-location.yaml Adds TypeSpec source location metadata.
sdk/education/arm-education/tsconfig.json Updates project references.
sdk/education/arm-education/test/snippets.spec.ts Updates README snippet client construction.
sdk/education/arm-education/src/static-helpers/serialization/check-prop-undefined.ts Adds serialization helper.
sdk/education/arm-education/src/static-helpers/cloudSettingHelpers.ts Adds ARM cloud endpoint helper.
sdk/education/arm-education/src/pagingHelper.ts Removes legacy paging helper.
sdk/education/arm-education/src/operationsInterfaces/* Removes legacy operation interfaces.
sdk/education/arm-education/src/operations/* Removes legacy operation implementations.
sdk/education/arm-education/src/models/parameters.ts Removes legacy core-client parameter definitions.
sdk/education/arm-education/src/logger.ts Adds package logger.
sdk/education/arm-education/src/index.ts Rebuilds public exports for generated structure.
sdk/education/arm-education/src/educationManagementClient.ts Replaces legacy ServiceClient wrapper with generated context-backed client.
sdk/education/arm-education/src/classic/** Adds classic operation group wrappers.
sdk/education/arm-education/src/api/** Adds generated REST operation layer and option types.
sdk/education/arm-education/samples-dev/** Refreshes TypeScript sample sources.
sdk/education/arm-education/samples/v1-beta/typescript/** Regenerates TypeScript samples and sample package metadata.
sdk/education/arm-education/samples/v1-beta/javascript/** Regenerates JavaScript samples and sample package metadata.
sdk/education/arm-education/sample.env Simplifies sample environment template.
sdk/education/arm-education/README.md Updates links and client creation examples.
sdk/education/arm-education/metadata.json Adds generation metadata.
sdk/education/arm-education/LICENSE Normalizes file ending.
sdk/education/arm-education/eslint.config.mjs Formats ESLint config.
sdk/education/arm-education/config/*.json Updates source, test, browser, and sample TypeScript configs.
sdk/education/arm-education/CHANGELOG.md Updates beta release notes.
sdk/education/arm-education/assets.json Updates test asset tag.
sdk/education/arm-education/api-extractor.json Formats API Extractor config.
sdk/education/arm-education/_meta.json Removes legacy AutoRest metadata.
pnpm-lock.yaml Updates package dependency lock entries.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment on lines +42 to +44
credentials: {
scopes: options.credentials?.scopes ?? ["https://management.azure.com/.default"],
},
@github-actions
Copy link
Copy Markdown
Contributor

Next Steps to Merge

Only failed checks and required actions are listed below.

  • ⏳ js - pullrequest (Build Build): still running.
  • ⏳ js - pullrequest (Build UnitTest ubuntu_24x_node): still running.
  • ⏳ js - pullrequest (Build UnitTest windows_22x_node): still running.
  • ⏳ js - pullrequest (Build UnitTest windows_22x_browser): still running.
  • ⏳ js - pullrequest (Build UnitTest macoslatest_26x_node): still running.

Review ADO pipeline for details.

@github-actions github-actions Bot added mgmt-review-added Management SDK review completed and removed mgmt-review-in-progress Management SDK review is in progress labels May 28, 2026
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 tool issue found: the api-version introduced in this PR (2021-12-01-preview) is the same as the one already present in the existing package (1.0.0-beta.3), which was also generated from 2021-12-01-preview. Per guidelines, the api-version must be strictly newer. All other API surface checks (client name, naming, type safety, exports, breaking change documentation) look good.

📊 Structured Report
{"agent":"mgmt-reviewer","pr":38697,"summary":"issues_found","findings":[{"file":"sdk/education/arm-education/CHANGELOG.md","line":4,"issueType":"tool","category":"api-version","description":"API version 2021-12-01-preview introduced in this PR is the same as the one already present in the existing package (1.0.0-beta.3). Must be strictly newer."}]}

Benchmarked by Management Release Assistant


## 1.0.0-beta.5 (Unreleased)
## 1.0.0-beta.5 (2026-05-27)
Compared with version 1.0.0-beta.3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Tool IssueCHANGELOG.md:4
Compared with version 1.0.0-beta.3.
The API version introduced in this PR is 2021-12-01-preview, which is the same as the API version already used in the existing package (1.0.0-beta.3 was also generated from 2021-12-01-preview). The api-version must be strictly newer than the one already present in the package.
Fix: Update the specification to use a newer API version (e.g., 2022-xx-xx or later) and trigger SDK regeneration. If this is an intentional re-generation refresh without an API version bump, please confirm with the spec team and report the issue in the generation tool repository.

@v-jiaodi
Copy link
Copy Markdown
Member

Note

This analysis was generated by AI. Please review the classifications and root causes for accuracy.

Breaking Change Analysis: @azure/arm-education 1.0.0-beta.5

Old SDK (main) New SDK (PR)
Generator Swagger / AutoRest TypeSpec / emitter
API Version 2021-12-01-preview 2021-12-01-preview
Package Version 1.0.0-beta.3 1.0.0-beta.5

Spec References:

API version is identical between old and new SDKs. Layer A, B, and C swagger definitions are identical. All breaking changes are from TypeSpec emitter generating different TypeScript code than AutoRest.


Type 2: TypeSpec / Emitter Migration -- 7 items

Root Cause Sub-Type Count Accepted
Collection wrapper types removed; emitter returns PagedAsyncIterableIterator<T> directly Emitter 2
AutoRest double-flattened nested Amount properties via x-ms-client-flatten; TypeSpec emitter preserves the Amount object structure Emitter 4
ARM common type OperationListResult.value treated as required by TypeSpec emitter; AutoRest generated it as optional Emitter 1

Details

  1. Removed Interface GrantListResponse -- Emitter ✅

    Collection wrapper type removed. Swagger has GrantListResponse with nextLink and value array; AutoRest exposed it as a named interface. TypeSpec emitter inlines the paging and operations return PagedAsyncIterableIterator<GrantDetails> directly.

  2. Removed Interface JoinRequestList -- Emitter ✅

    Same as row 1. Collection wrapper for JoinRequestDetails paging removed.

  3. Interface LabDetails no longer has parameter currencyPropertiesTotalAllocatedBudgetCurrency -- Emitter

    Swagger has LabProperties.totalAllocatedBudget referencing Amount (with currency and value sub-properties) and x-ms-client-flatten: true. AutoRest double-flattened the nested Amount fields into LabDetails with long disambiguated names (e.g., currencyPropertiesTotalAllocatedBudgetCurrency). TypeSpec emitter preserves the Amount object structure, exposing totalAllocatedBudget: Amount instead. The swagger is identical in all three layers (A, B, C) -- all have x-ms-client-flatten: true on both LabDetails.properties and LabProperties.totalAllocatedBudget.

  4. Interface LabDetails no longer has parameter currencyPropertiesTotalBudgetCurrency -- Emitter

    Same as row 3. Flattened totalBudget.currency removed in favor of nested totalBudget: Amount.

  5. Interface LabDetails no longer has parameter valuePropertiesTotalAllocatedBudgetValue -- Emitter

    Same as row 3. Flattened totalAllocatedBudget.value removed in favor of nested totalAllocatedBudget: Amount.

  6. Interface LabDetails no longer has parameter valuePropertiesTotalBudgetValue -- Emitter

    Same as row 3. Flattened totalBudget.value removed in favor of nested totalBudget: Amount.

  7. Parameter value of interface OperationListResult is now required -- Emitter

    All three swagger layers (A, B, C) reference OperationListResult from ARM common types v3 (common-types/resource-management/v3/types.json). The common types definition does not include value in the required array. AutoRest generated it as optional (value?: Operation[]); TypeSpec emitter generates it as required (value: Operation[]), following the TypeSpec ARM library convention.


Total: 7 (Type 2: TypeSpec/Emitter Migration) breaking changes

Type 2 breakdown: 0 items from TypeSpec conversion, 7 items from emitter differences.

Methodology

Compared Layer A (old swagger at commit ac155b9), Layer B (pre-TypeSpec swagger at commit bafb50e), and Layer C (TypeSpec-generated swagger at commit 5a45c68). All three layers have identical definitions for all affected types (GrantListResponse, JoinRequestList, LabDetails, LabProperties, Amount). The OperationListResult definition is referenced from ARM common types in all layers. All differences originate from the TypeSpec emitter generating different TypeScript code than AutoRest for the same swagger input.

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

Labels

Mgmt This issue is related to a management-plane library. mgmt-review-added Management SDK review completed refresh PR for SDK refresh

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants