diff --git a/cli/azd/cmd/testdata/TestFigSpec.ts b/cli/azd/cmd/testdata/TestFigSpec.ts index e9fff63760a..201fcbef611 100644 --- a/cli/azd/cmd/testdata/TestFigSpec.ts +++ b/cli/azd/cmd/testdata/TestFigSpec.ts @@ -569,15 +569,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--file', '-f'], description: 'Remote file or directory path to delete', @@ -601,11 +592,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -624,15 +615,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--file', '-f'], description: 'Remote file path to download', @@ -661,11 +643,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -684,15 +666,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--output', '-o'], description: 'The output format', @@ -713,11 +686,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -736,15 +709,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--dir', '-d'], description: 'Remote directory path to create', @@ -764,11 +728,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -787,15 +751,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--output', '-o'], description: 'The output format', @@ -816,11 +771,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -839,15 +794,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--file', '-f'], description: 'Local file path to upload', @@ -876,11 +822,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -912,7 +858,7 @@ const completionSpec: Fig.Spec = { }, { name: ['--deploy-mode'], - description: 'Deployment mode: \'container\' (Docker image) or \'code\' (ZIP upload). Defaults to \'container\' in --no-prompt.', + description: 'Deployment mode: \'container\' (Docker image) or \'code\' (ZIP upload). Defaults to \'code\' for Python/.NET projects in --no-prompt.', args: [ { name: 'deploy-mode', @@ -933,9 +879,27 @@ const completionSpec: Fig.Spec = { description: 'Overwrite an input manifest that already lives inside the generated src tree without prompting. Required together with --no-prompt when init would otherwise need confirmation.', isDangerous: true, }, + { + name: ['--image'], + description: 'Pre-built container image URL (e.g., \'myacr.azurecr.io/agent:v1\'). When set without --manifest, skips template/language selection, code scaffolding, Dockerfile generation, and ACR setup, and requires --agent-name. Incompatible with --deploy-mode code.', + args: [ + { + name: 'image', + }, + ], + }, + { + name: ['--infra'], + description: 'Eject infrastructure-as-code from azure.yaml into ./infra/. A bare --infra ejects Bicep; --infra=terraform ejects Terraform and sets infra.provider: terraform; --infra=bicep is explicit Bicep. When azure.yaml already exists, runs as a standalone eject and skips the init prompts.', + args: [ + { + name: 'infra', + }, + ], + }, { name: ['--manifest', '-m'], - description: 'Path or URI to an agent manifest to add to your azd project', + description: 'Path or URI to an agent manifest, or to a sample\'s unified azure.yaml to adopt as the project manifest', args: [ { name: 'manifest', @@ -1013,11 +977,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', + name: ['--call-id'], + description: 'Call ID header value (sent as x-agent-foundry-call-id for local invocations only; ignored for remote requests)', args: [ { - name: 'chat-isolation-key', + name: 'call-id', }, ], }, @@ -1098,11 +1062,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -1121,15 +1085,6 @@ const completionSpec: Fig.Spec = { name: ['monitor'], description: 'Monitor logs from a hosted agent.', options: [ - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--follow', '-f'], description: 'Stream logs in real-time', @@ -1166,11 +1121,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -1559,24 +1514,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, - { - name: ['--isolation-key'], - description: 'Session ownership isolation key header value (x-session-isolation-key; derived from Entra token by default)', - args: [ - { - name: 'isolation-key', - }, - ], - }, { name: ['--output', '-o'], description: 'The output format', @@ -1597,11 +1534,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -1630,29 +1567,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'chat-isolation-key', - }, - ], - }, - { - name: ['--isolation-key'], - description: 'Session ownership isolation key header value (x-session-isolation-key; derived from Entra token by default)', - args: [ - { - name: 'isolation-key', - }, - ], - }, - { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -1671,15 +1590,6 @@ const completionSpec: Fig.Spec = { }, ], }, - { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', - args: [ - { - name: 'chat-isolation-key', - }, - ], - }, { name: ['--limit'], description: 'Maximum number of sessions to return', @@ -1709,11 +1619,11 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, @@ -1733,30 +1643,45 @@ const completionSpec: Fig.Spec = { ], }, { - name: ['--chat-isolation-key'], - description: 'Foundry chat isolation key header value (x-agent-chat-isolation-key); independent of --isolation-key (session ownership)', + name: ['--output', '-o'], + description: 'The output format', args: [ { - name: 'chat-isolation-key', + name: 'output', + suggestions: ['json', 'table'], }, ], }, { - name: ['--output', '-o'], - description: 'The output format', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'output', - suggestions: ['json', 'table'], + name: 'user-identity', + }, + ], + }, + ], + }, + { + name: ['stop'], + description: 'Stop a running session.', + options: [ + { + name: ['--agent-name', '-n'], + description: 'Agent name (matches azure.yaml service name; auto-detected when only one exists)', + args: [ + { + name: 'agent-name', }, ], }, { - name: ['--user-isolation-key'], - description: 'Foundry user isolation key header value (x-agent-user-isolation-key); independent of --isolation-key (session ownership)', + name: ['--user-identity'], + description: 'User identity header value (sent as x-agent-user-id for local invocations and x-ms-user-identity for remote requests)', args: [ { - name: 'user-isolation-key', + name: 'user-identity', }, ], }, diff --git a/cli/azd/extensions/registry.json b/cli/azd/extensions/registry.json index dfe91e86a70..131beac074b 100644 --- a/cli/azd/extensions/registry.json +++ b/cli/azd/extensions/registry.json @@ -5009,6 +5009,94 @@ "version": "~0.0.1-preview" } ] + }, + { + "version": "1.0.0-beta.2", + "requiredAzdVersion": ">=1.27.0", + "capabilities": [ + "custom-commands", + "lifecycle-events", + "mcp-server", + "service-target-provider", + "provisioning-provider", + "metadata" + ], + "providers": [ + { + "name": "azure.ai.agent", + "type": "service-target", + "description": "Deploys agents to the Foundry Agent Service" + }, + { + "name": "microsoft.foundry", + "type": "provisioning-provider", + "description": "Provisions a Microsoft Foundry project from azure.yaml without an on-disk infra/ directory" + } + ], + "usage": "azd ai agent [options]", + "examples": [ + { + "name": "init", + "description": "Initialize a new AI agent project.", + "usage": "azd ai agent init" + } + ], + "artifacts": { + "darwin/amd64": { + "checksum": { + "algorithm": "sha256", + "value": "57862cea72229938e7bc22c6b9000d497732919386786e3a54c5702c51ab7443" + }, + "entryPoint": "azure-ai-agents-darwin-amd64", + "url": "https://github.com/Azure/azure-dev/releases/download/azd-ext-azure-ai-agents_1.0.0-beta.2/azure-ai-agents-darwin-amd64.zip" + }, + "darwin/arm64": { + "checksum": { + "algorithm": "sha256", + "value": "4af8331d5e9824efbbad0dcb8c55f7098efe1a8d6b26356dc6cb917df2d0222c" + }, + "entryPoint": "azure-ai-agents-darwin-arm64", + "url": "https://github.com/Azure/azure-dev/releases/download/azd-ext-azure-ai-agents_1.0.0-beta.2/azure-ai-agents-darwin-arm64.zip" + }, + "linux/amd64": { + "checksum": { + "algorithm": "sha256", + "value": "624b22f27b49136965ffc19ee00229dfba819177dd0987afadabc747e0ef0eaa" + }, + "entryPoint": "azure-ai-agents-linux-amd64", + "url": "https://github.com/Azure/azure-dev/releases/download/azd-ext-azure-ai-agents_1.0.0-beta.2/azure-ai-agents-linux-amd64.tar.gz" + }, + "linux/arm64": { + "checksum": { + "algorithm": "sha256", + "value": "4bc8c7ffe937751b9f602ca85a49f1be2cae4afeea9f7f3f73f77fc19d6f998e" + }, + "entryPoint": "azure-ai-agents-linux-arm64", + "url": "https://github.com/Azure/azure-dev/releases/download/azd-ext-azure-ai-agents_1.0.0-beta.2/azure-ai-agents-linux-arm64.tar.gz" + }, + "windows/amd64": { + "checksum": { + "algorithm": "sha256", + "value": "c36bee112dd3af5b378c6111b979509c7a23c58ad89657a9adca11c193871f2f" + }, + "entryPoint": "azure-ai-agents-windows-amd64.exe", + "url": "https://github.com/Azure/azure-dev/releases/download/azd-ext-azure-ai-agents_1.0.0-beta.2/azure-ai-agents-windows-amd64.zip" + }, + "windows/arm64": { + "checksum": { + "algorithm": "sha256", + "value": "ac34cba2e3e55f42fb5d530e3debc26fb8a152a783852a91899c7e14f84667b5" + }, + "entryPoint": "azure-ai-agents-windows-arm64.exe", + "url": "https://github.com/Azure/azure-dev/releases/download/azd-ext-azure-ai-agents_1.0.0-beta.2/azure-ai-agents-windows-arm64.zip" + } + }, + "dependencies": [ + { + "id": "azure.ai.inspector", + "version": "~1.0.0-beta.1" + } + ] } ] },