Skip to content

Merge feature/foundry-release into visbalaji/decouple-tool-shapes and resolve Foundry TypeSpec/OpenAPI conflicts#43981

Merged
viswabalaji merged 441 commits into
Azure:visbalaji/decouple-tool-shapesfrom
NivedhaChellam:nichella-merge-main-conflicts-only
Jun 16, 2026
Merged

Merge feature/foundry-release into visbalaji/decouple-tool-shapes and resolve Foundry TypeSpec/OpenAPI conflicts#43981
viswabalaji merged 441 commits into
Azure:visbalaji/decouple-tool-shapesfrom
NivedhaChellam:nichella-merge-main-conflicts-only

Conversation

@NivedhaChellam

@NivedhaChellam NivedhaChellam commented Jun 15, 2026

Copy link
Copy Markdown

Summary

This PR applies the Foundry conflict-resolution updates as a clean, focused change on top of visbalaji/decouple-tool-shapes.
It is not a direct merge commit from main; it replays only the resolved Foundry changes needed for this target branch.

What Was Updated

  • Resolved toolbox model merge conflicts and preserved the tool-shape decoupling changes.
  • Synchronized Foundry OpenAPI artifacts with the resolved TypeSpec source.
  • Kept the change set minimal and reviewable for the intended target branch.

Discriminator Update

  • Confirmed discriminator usage on ToolboxTool with discriminator property type.
  • Preserved base discriminator typing as ToolboxToolType.
  • Preserved explicit literal type values on each toolbox variant (for example: file_search, web_search, mcp, azure_ai_search).
  • Ensured spread composition does not override discriminator-owned fields, preventing discriminator compile/validation issues.

Files Changed

  • models.tsp
  • models.tsp
  • microsoft-foundry-openapi3.json
  • microsoft-foundry-openapi3.yaml
  • microsoft-foundry-openapi3.json
  • microsoft-foundry-openapi3.yaml

Validation

  • TypeSpec compile passes.
  • TypeSpec validation passes.
  • Branch diff is clean against visbalaji/decouple-tool-shapes (single focused commit).

Impact

  • No intended API behavior change beyond resolved model composition and regenerated OpenAPI alignment.
  • Keeps PR scope narrow for faster review and safer merge.

jugonzales and others added 30 commits May 27, 2026 12:54
* convert agents-optimization models to snake_case

- All model property fields converted from camelCase to snake_case
- Updated agent_name filter query param in routes (was agentName)
- TypeSpec compiles cleanly

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply suggestion from @glecaros

Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com>
Co-authored-by: Joel Hendrix <jhendrix@microsoft.com>
* Adds decription field and 2026-04-01 api version

* Adds examples

* Add @added(Versions.v2026_04_01) to description fields

* Removes description from previous builds

* Fixing Python Build

* Update tspconfig.yaml

* Update tspconfig.yaml

* revert java change

---------

Co-authored-by: Ross Grambo <rossgrambo@microsoft.com>
* fix(routines): align foundry typespec contracts

Align the Foundry Routines TypeSpec with the latest AgentExtensions contract updates from Vienna branch users/akannava/agentextensions-routine-contract-cleanup.

Update trigger and action discriminators, timer and GitHub issue fields, action input and conversation/session fields, and the service pagination shapes used by routine and run-history list operations.

Regenerate the Foundry OpenAPI artifacts from the updated TypeSpec.

Authored-by: GitHub Copilot CLI 1.0.55-0

Model: GPT-5.5 (gpt-5.5)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(routines): address foundry typespec review

- Clarify relative and absolute timer trigger syntax

- Document raw JSON routine input pass-through semantics

- Mark routine run ids read-only and use snake_case fields

Authored-by: GitHub Copilot CLI v1.0.55-0

Model: GPT-5.5 (gpt-5.5)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(routines): align list pagination contract

Update Foundry Routines TypeSpec and generated OpenAPI for the AgentExtensions pagination contract now exposed by the service.

Use limit/order/after/before query parameters and data/first_id/last_id/has_more list responses. Keep after/last_id modeled as opaque continuation tokens and document before as reserved/unsupported.

Authored-by: GitHub Copilot CLI v1.0.55-0

Model: GPT-5.5 (gpt-5.5)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(routines): make RoutineRun.id required per reviewer suggestion; regenerate OpenAPI

@visibility(Lifecycle.Read) already suppresses id from write operations,
so id: string (required) is correct here. Also regenerates OpenAPI artifacts.

* fix(routines): address remaining PR review comments

- TimerRoutineTrigger: replace relative in?: string with �t?: utcDateTime
  (per johanste: relative timers are imprecise in service APIs)
- Remove TimerRoutineTrigger.time_zone (no longer needed with absolute UTC time)
- Remove RoutineListResponse, RoutineRunsResponse custom models;
  replace with AgentsPagedResult<Routine> and AgentsPagedResult<RoutineRun>
  (per glecaros: standardize on AgentsPagedResult like other list operations)
- RoutineRun.id doc: remove internal MLflow reference (per johanste)
- RoutineRun.status doc: remove internal MLflow reference
- Remove RoutineRun.trigger_time_zone (per glecaros+johanste: not needed
  when timestamps are already UTC)
- Regenerate OpenAPI artifacts

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Akshaya Annavajhala <16749003+akshaya-a@users.noreply.github.com>
Co-authored-by: Linda Li <zhuoqunli@microsoft.com>
Co-authored-by: catalinaperalta <caperal@microsoft.com>
* Fix Traffic Manager user metrics resource name

Set the LegacyOperations resource name for the singleton user metrics resource so generated SDKs can use the intended plural resource type name.

* Pin Traffic Manager C# API version

Keep the generated .NET SDK on 2022-04-01 while applying the user metrics resource name fix.
* Add Kubernetes C# provisioning emitter config

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Kubernetes provisioning RBAC role metadata

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Align Kubernetes provisioning API version with mgmt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Customize Kubernetes mgmt C# API names

* Pin Kubernetes mgmt C# API version

* Revert "Pin Kubernetes mgmt C# API version"

This reverts commit 419a5c4.

* Revert "Customize Kubernetes mgmt C# API names"

This reverts commit 79c4bfc.

* Apply suggestion from @ArcturusZhang

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…Python & JS clients, to match REST API operation name
Azure#43538)

Add @@clientName overrides for C# emitter following Azure SDK for .NET
design guideline review feedback on azure-sdk-for-net PR #59192:

- ControlPlaneScalingSize -> ManagedClusterControlPlaneScalingSize
- HardEvictionThreshold -> KubeletHardEvictionThreshold
- KubeReserved -> KubeletReservedResources
- ManagedClusterHostedSystemProfile.systemNodeSubnetID -> SystemNodeSubnetId
- ManagedClusterHostedSystemProfile.nodeSubnetID -> NodeSubnetId
- ManagedClusterAzureMonitorProfileMetrics.controlPlane -> IsControlPlane
  (flattens to IsControlPlaneEnabled in C#)

No wire-format change (renames apply only to C# identifiers; JSON property
names preserved via WirePath).
Split from Azure#43189.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Split from Azure#43189.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Renaming microsoft to Microsoft for Microsoft.EventGrid

Split from Azure#43189.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* update

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* remove duplicate model

* update

* Revert "remove duplicate model"

This reverts commit af396b3.

* Revert "update"

This reverts commit 036c7b6.

* update
* update

* update

* update

* format
…tByFactory to mitigate python sdk breaking (Azure#43579)

* Exclude python from clientLocation for PrivateEndpointConnections listByFactory

* Remove ResourceAutoGenerated clientName override for python
* update JS config for appservice

* Update client.tsp

* Update client.tsp

* Update client.tsp

* Revert "Update client.tsp"

This reverts commit 97307f7.

* Update client.tsp

* Update client.tsp
…pdates (Azure#43365)

* fix: make prepared image spec version writable

* docs: clarify prepared image spec version input

* fix: restrict PreparedImageSpecification PATCH to ARM tags only

Remove properties field from PreparedImageSpecificationPatch so that
PATCH operations only accept ARM tags. Also remove the now-unused
patch-specific models:
- PreparedImageSpecificationPatchProperties
- PreparedImageSpecificationManagedIdentityProfileUpdate
- PreparedImageSpecificationScriptUpdate

This is a breaking change that aligns with ADO task 38037921.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: limit version field to 63 chars, add version to PUT examples

- Align version pattern max length with Kubernetes label value limit (63)
- Add version field to PUT (CreateOrUpdate) example request bodies

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: restrict node customization PATCH to tags only, make sync

- Add NodeCustomizationPatch (tags-only) model
- Change ArmCustomPatchAsync -> ArmCustomPatchSync
- Update examples: tags-only request body, remove 202 response
- Affects both 2025-08-02-preview and 2025-09-02-preview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address PR feedback - rename to NodeCustomizationUpdate, make version mutable, revert doc noise

- Rename NodeCustomizationPatch to NodeCustomizationUpdate to minimize diff (keeps original model name)
- Remove @visibility(Lifecycle.Read) from NC version field (customer-provided, same as PIS)
- Revert unnecessary doc string change on update operation
- Add version to NC CreateOrUpdate examples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Revert NodeCustomization PATCH LRO change

Keep the tags-only patch body and version updates, but leave the deprecated NodeCustomization PATCH operation documented as async to minimize the PR's LRO behavior changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* restore NC Update example 202 response and revert cosmetic tags change

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(nodecustomization): restore NC Update source examples with 202 response and team:blue tags

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(preparedimagespecification): remove extra blank line in models.tsp (formatting)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(preparedimagespecification): remove duplicate version from create example

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address PIS review comments

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chsarp name overrides based on review

* change type to system uri

* format fix

* try update MaiVoice1

* revert change

---------

Co-authored-by: Emily Jiji <emilyjiji@microsoft.com>
* Sync common skills from azure sdk tools
… into nichella-merge-main-conflicts-only"

This reverts commit c6cc279, reversing
changes made to ccc47dd.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.