Skip to content

OpenAPI tool name/description not loaded from Foundry agent definition #7424

@brandonh-msft

Description

@brandonh-msft

Description

When the user loads an Agent definition from Azure Foundry that includes an openapi type tool, the resulting tool object does not include the OpenAPI tool name or description.

Because the tool definition is incomplete after load, subsequent requests to the agent for completion/response can misbehave.

Impact

Subsequent completion/response requests operate against an incomplete tool definition, which can lead to incorrect or unstable agent behavior.

Notes

This appears to be a deserialization or mapping gap when importing the Foundry Agent definition into the runtime tool model.

Reproduction Steps

  1. Define an Agent in Foundry with an openapi type tool.
  2. Set the tool name and description in the Foundry definition.
  3. Load that Agent through the agent framework.
  4. Inspect the loaded tool object.
  5. Observe that name and description are not populated on the tool object.
  6. Send a subsequent completion/response request to the agent and observe misbehavior caused by the incomplete tool definition.

Expected behavior

When loading an Agent definition from Foundry, the framework should hydrate the OpenAPI tool object with the same name and description metadata defined in Foundry.

Actual behavior

The loaded tool object is missing the OpenAPI tool name and description fields.

Foundry definition:
Image

Resulting object after _projectClient.GetAIAgentAsync:
Image

Regression?

Not sure

Known Workarounds

One would have to bypass the SDK and go after the data on their own to re-hydrate the tool properly.

Configuration

No response

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-aiMicrosoft.Extensions.AI librariesbugThis issue describes a behavior which is not expected - a bug.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions