Skip to content

[ext-agents]: evolve azure.ai.agent to service-level shape, retire agent.yaml, add migration #8773

Description

@huimiu

Implements the agent-host and init parts of the unified azure.yaml design spec #8590 (docs/specs/unify-azure-yaml/spec.md) §1.1, §1.5, §2.3, §2.5, §2.7, §2.9.

Builds on #8675, which splits init output into per-resource sibling services but still writes the agent under config: and still emits agent.yaml / agent.manifest.yaml.

Summary

Lock the unified azure.yaml format for the agent host: move agent fields to service-level direct properties, drop the legacy agent files, and migrate older projects during a deprecation window.

Scope

  • core schema (schemas/v1.0/azure.yaml.json):
    • Evolve the host: azure.ai.agent conditional from a $ref into config: to composing azure.ai.agent.json at the service level; keep project / runtime / docker / image, turn off config:.
    • Remove the superseded host: microsoft.foundry conditional and host example.
    • additionalProperties: true on the agent schema.
  • init: write the agent service with direct service-level properties (no config: nesting) in both the manifest (init.go) and code-deploy (init_from_code.go) paths.
  • Retire legacy files: stop emitting agent.yaml / agent.manifest.yaml for new projects (writeAgentDefinitionFile).
  • Migration + telemetry: when agent.yaml / agent.manifest.yaml or the old config-nested host: azure.ai.agent shape is present, print a deprecation warning that links the migration guide, build the equivalent in-memory services so build/deploy still run, and emit a telemetry signal. Plan the rename/retire of CodeInvalidAgentManifest.
  • Shared templating helper (§2.5): move the ${VAR} / ${{...}} expander (ExpandEnv) into a shared package the sibling Foundry extensions can reuse.

Out of scope (follow-ups)

Related

3-PR follow-up to #8590 / #8675:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/extensionsExtensions (general)area/projectProject config, project_manager, service_managerarea/schemaazure.yaml JSON schemasarea/service-targetsContainer Apps, App Service, Functions, AKS, SWAenhancementNew feature or improvementext-agentsazure.ai.agents extension
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions