Skip to content

feat(agents): support hosted voice conversation engines - #10900

Open
JianW (v1212) wants to merge 11 commits into
Azure:mainfrom
v1212:users/wujia/voice-conversation-engine
Open

JianW (v1212) wants to merge 11 commits into
Azure:mainfrom
v1212:users/wujia/voice-conversation-engine

Conversation

@v1212

@v1212 JianW (v1212) commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • require voice_conversation_engine/1.0.0 for Hosted Voice conversation-engine targets
  • preserve ordinary invocations_ws support as an independent protocol, including targets declaring both protocols
  • report the dedicated CE WebSocket endpoint and AGENT_<KEY>_VOICE_CONVERSATION_ENGINE_ENDPOINT
  • avoid unsupported Inspector/invoke guidance for CE-only local runs

Scope

This is an independent PR based on main. It does not depend on #10901 and does not change Voice preview flags or release metadata. Changes are confined to the azure.ai.agents extension: target validation, endpoint reporting, local guidance, focused tests, and necessary README updates. No schema, request mapping, init lifecycle, telemetry, or deployment-order changes.

Validation

  • full extension tests on latest main: GOWORK=off go test -p 1 ./...
  • full extension build
  • go-fix and diff checks
  • earlier Scenario 10 TTL 3-day cloud validation: target/wrapper deployment, readback, text/audio, repeat deployment, unsupported-version rejection, and verified Agent/resource-group cleanup

The cloud evidence was collected on the earlier PR build; local tests/build have been rerun on this independently rebased head.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
25 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@github-actions github-actions Bot added the ext-agents azure.ai.agents extension label Nov 11, 2026

Copilot AI left a comment

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.

🟡 Changes recommended

Conversation-engine-only targets receive unsupported invoke guidance, while validation hints and documentation inaccurately describe the requirements for the supported voice paths.

3 open issues
What changed in this PR

Adds dedicated Hosted Voice conversation-engine support to the azure.ai.agents extension while preserving legacy bridge compatibility.

Changes:

  • Accepts voice_conversation_engine/1.0.0 without legacy bridge metadata.
  • Applies the existing Voice preview gate to dedicated conversation engines.
  • Adds protocol acceptance, version rejection, and preview classification tests.

Extension user-contract review: blocked (5 files inspected; 0 new contract comments; 0 existing threads matched; prior review history unavailable).

File Description
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​service_target_agent.go Accepts dedicated engines and updates incompatibility guidance.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​preview_features.go Applies the Voice preview gate to conversation engines.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​preview_features_test.go Tests conversation-engine preview classification.
cli/​azd/​extensions/​azure.ai.agents/​internal/​project/​hosted_voice_target_test.go Tests dedicated-protocol acceptance and unsupported versions.
cli/​azd/​extensions/​azure.ai.agents/​internal/​pkg/​agents/​agent_api/​models.go Defines the conversation-engine protocol constant.

Review effort: Max

Copilot AI max review requested due to automatic review settings November 11, 2026 03:37

Copilot AI left a comment

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.

🟡 Changes recommended

Conversation-engine-only local runs print “In another terminal, try:” without a command because the heading is emitted even when the suggestion list is empty.

1 open issue
3 resolved since last review

Review effort: Max

Copilot AI max review requested due to automatic review settings November 11, 2026 05:41
@v1212

Copy link
Copy Markdown
Contributor Author

Scenario 10 cloud validation passed on the Foundry Dev Tools TTL 3-day subscription using the PR extension bundle (8419ba523): pinned public conversation-engine sample, provision/deploy, target readback with voice_conversation_engine/1.0.0, wrapper conversation_engine readback, Voice endpoint, text and audio smoke (input transcript, completed story, 561,600 output-audio bytes), repeat deploy/smoke, Vienna rejection of target protocol 2.0.0, and cleanup. Both Agents independently returned 404 and the dedicated resource group was deleted.

Copilot AI left a comment

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.

🔵 Needs a closer look

Conversation-engine-only targets still auto-launch Agent Inspector or display its installation instructions, even though Inspector does not support that protocol.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Medium severity Suppress Agent Inspector for conversation-engine-only targets

cli/​azd/​extensions/​azure.ai.agents/​internal/​cmd/​nextstep/​resolver.go:1002

For a conversation-engine-only target, runRun still auto-launches Agent Inspector (or prints its install instructions), even though Inspector only handles Responses/Invocations. Extend the run client profile to suppress that client for conversation-engine-only targets, while preserving it when an Inspector-supported protocol is co-declared.

1 resolved since last review

Review effort: Max

@v1212
JianW (v1212) force-pushed the users/wujia/voice-conversation-engine branch from ac8b582 to 3dcd2dc Compare November 11, 2026 06:14
Copilot AI max review requested due to automatic review settings November 11, 2026 06:14

Copilot AI left a comment

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.

🟡 Changes recommended

Conversation-engine-only targets trigger false missing-deployment errors and an incompatible Inspector client, while cancellation can still produce a misleading “Agent ready” message.

3 open issues

Review effort: Max

@v1212
JianW (v1212) force-pushed the users/wujia/voice-conversation-engine branch from 3dcd2dc to 6d861b2 Compare November 11, 2026 07:08

Copilot AI left a comment

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.

🟡 Changes recommended

Private monitoring defaults can silently disrupt unrelated workloads’ telemetry on existing VNets, while incomplete DNS checks allow changes to shared zones without adequate safeguards.

2 open issues
3 resolved since last review

Review effort: Max

@v1212
JianW (v1212) force-pushed the users/wujia/voice-conversation-engine branch from 17b6cb0 to 03a69be Compare November 11, 2026 08:07
@v1212
JianW (v1212) changed the base branch from users/wujia/agents-voice-ga to main November 11, 2026 08:08
Copilot AI max review requested due to automatic review settings November 11, 2026 08:43

Copilot AI left a comment

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.

🟡 Changes recommended

Targets declaring both voice and A2A protocols incorrectly launch or recommend installing Agent Inspector, which supports neither protocol, instead of preserving client-free A2A invocation guidance.

1 open issue
2 resolved since last review

Review effort: Max

Copilot AI max review requested due to automatic review settings November 11, 2026 09:06

Copilot AI left a comment

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.

🔵 Needs a closer look

Human assessment is needed because the conversation-engine shortcut can bypass required setup for endpoint-only Activity profiles, potentially breaking local messaging.

No open issues 🎉

1 resolved since last review

Review effort: Max

Copilot AI max review requested due to automatic review settings November 11, 2026 09:32

Copilot AI left a comment

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.

🟡 Changes recommended

Hosted endpoint show can fail without a default environment despite successful project resolution, and can expose stale conversation-engine URLs because saved metadata completeness and project identity are not validated.

2 open issues

Review effort: Max

Copilot AI max review requested due to automatic review settings November 11, 2026 10:02

Copilot AI left a comment

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.

🟡 Changes recommended

Comparing raw saved endpoints against normalized endpoints causes endpoint show to omit the conversation-engine URL for valid deployments with uppercase hostnames.

1 open issue
2 resolved since last review

Review effort: Max

Copilot AI max review requested due to automatic review settings November 11, 2026 10:28

Copilot AI left a comment

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.

🔵 Needs a closer look

Human assessment is needed because snapshots can retain stale CE URLs across extension versions and deployment changes, causing endpoint reporting to present outdated endpoints as callable.

No open issues 🎉

1 resolved since last review

Review effort: Max

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

azure.ai.agents PR build

Note

This is an unsigned development build. Install it only if you trust this PR.

Install the extension:

azd ext install "https://azuresdkartifacts.z5.web.core.windows.net/azd/extensions/pr/10900/azure-ai-agents.zip"
  • Version: 1.0.0-pr.10900.7064118
  • Merge commit: a8c13f6

This branch has not been deployed

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

Labels

ext-agents azure.ai.agents extension ext-connections azure.ai.connections extension ext-inspector azure.ai.inspector extension ext-projects azure.ai.projects extension ext-routines azure.ai.routines extension ext-skills azure.ai.skills extension ext-toolboxes azure.ai.toolboxes extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants