1406 Commits
Author SHA1 Message Date
Amos HerschandCopilot App 62e08e41b0 Add Fabric Jobs Cancel Item Job Instance tool (#4101)
* Add Fabric Jobs Cancel Item Job Instance tool

Request cancellation once for an explicitly identified Fabric job, preserve accepted receipts and safe failure guidance, and cover routing, consent, and response edge cases offline.

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

* Preserve cancellation failures for malformed Unicode metadata

Limit lazy JSON decoding handling to optional error metadata, retain HTTP status and retry guidance, add service and routed regression cases, and align the Jobs namespace overview with cancellation support.

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-04 11:28:24 +02:00
Amos HerschandCopilot App 7fbc9e21f2 Add Fabric Jobs Run On Demand Item Job tool (#4092)
Submit one explicitly scoped job, preserve optional JSON, and return a safe accepted receipt without retries or polling. Add routing, consent, read-only, strict input, receipt, startup and package documentation coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-04 09:22:58 +02:00
azure-sdk-automation[bot]andazure-sdk 91b021deca Prepare Azure MCP Server 4.0.0-beta.5 release (#4094)
Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-11-03 15:57:30 -05:00
Amos HerschandCopilot App e666257b71 Add Fabric Jobs namespace and job-instance lookup (#4076)
* Add Fabric item job-instance lookup

Add one read-only job-instance tool with bounded response parsing, safe failure metadata, and retry guidance. Cover single-request behavior, validation, discovery, cancellation, and existing definition/LRO contracts.

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

* Add Fabric job-instance tool-selection prompts

Document single-read, timing, safe failure, retry guidance, future-state, and job-vs-operation selection scenarios in the maintained Fabric prompt catalog.

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

* Expose Fabric job lookup in a dedicated Jobs area

Register Jobs independently while reusing Fabric Core services. Keep shipped Core registration unchanged and cover namespace filtering, learn schemas, cross-area routing, startup and extension configuration. Update all public docs and prompts.

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-03 15:00:32 +02:00
Alan ZimmerandCopilot Autofix powered by AI 856aa80586 Stop using generic Exception (#3795)
* Stop using generic Exception

* Refactor GetFileSystemAsync call in ManagedLustreService

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-11-02 17:43:56 -05:00
Amishi-PanwarandCopilot 6a3942b1b7 Add Advisor insight list command (#3938)
* Add azmcp advisor insight list command

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

Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee

* Advisor: retain evaluated insight description

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

Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee

* Advisor: validate supported insight names and update test prompts

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

Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee

* Advisor: refine insight tool description and test prompts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6ba9ae28-0b0b-4bfd-abe5-07a34d6045d6

* Advisor: honor query tenant and detect subscription limits

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6ba9ae28-0b0b-4bfd-abe5-07a34d6045d6

* Advisor: mention insights in namespace description

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6ba9ae28-0b0b-4bfd-abe5-07a34d6045d6

* Advisor: allow insight terminology in spell check

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6ba9ae28-0b0b-4bfd-abe5-07a34d6045d6

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee
Copilot-Session: 6ba9ae28-0b0b-4bfd-abe5-07a34d6045d6
2026-11-02 10:13:05 -08:00
azure-sdk-automation[bot]andazure-sdk 6987b8284f Increment version after release (#4081)
Increment package version after release

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-11-02 16:45:30 +02:00
Amos HerschandCopilot App 0a79c51c92 Prepare for Fabric MCP Server 1.7.0 release (#4079)
* Refresh Fabric REST API specifications and item definitions

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

* Prepare for Fabric MCP Server 1.7.0 release

Compile and curate synchronized Fabric release notes, preserving version 1.7.0 and consuming five pending fragments. Attribute resource refresh to #4078 and omit internal-only file I/O infrastructure.

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

* Include shipped Fabric namespace concurrency fix in release notes

Attribute the user-visible namespace cache fix to #4057. Remote registry-only changes do not affect the shipped Fabric empty registry.

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

* Keep merged resource refresh fragment consumed

Remove the fragment reintroduced by the squash-ancestry merge; its attributed release note is already present in both 1.7.0 changelogs.

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-02 13:50:03 +02:00
Amos HerschandCopilot App d52a2fe440 Refresh Fabric REST API specifications and item-definition documentation (#4078)
Refresh Fabric REST API specifications and item definitions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-02 09:31:48 +02:00
Amos HerschandCopilot App 7257a94355 Add Fabric get-item-definition with safe local export (#4064)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-01 12:27:56 +02:00
Amos HerschandCopilot App 007561fb18 Add Fabric Core Update Item Definition tool (#4065)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-11-01 11:35:12 +02:00
Alan Zimmer 2caca62361 Handle registry.json tool listing time-to-live and paging (#3780)
* Handle registry.json tool listing time-to-live and paging

* Few updates for paging and cache time handling

* Fix failing test

* Retain name filtering update

* Fix failing test
2026-10-30 14:13:41 -04:00
azure-sdk-automation[bot]andazure-sdk 2804656075 Increment version after release (#4066)
Increment package version after release

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-10-30 13:59:13 -04:00
Alan ZimmerandCopilot Autofix powered by AI ba37dbd56b Add DevOps chron job to automate Azure.Mcp release prep (#4067)
* Add DevOps chron job to automate Azure.Mcp release prep

* Clean up testing a bit

* Fix GitHub pull request retrieval logic

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-30 13:45:14 -04:00
Alan Zimmer 37cd285a28 Harden tool discovery and loading against concurrency (#4057)
* Harden tool discovery and loading against concurrency

* Fix double free
2026-10-30 13:12:27 -04:00
msalamanandCopilot App 286a2b8b6e Fix repeated Kusto token acquisition latency (#4027)
* Fix repeated Kusto token acquisition

Cache access tokens per Kusto client, refresh before expiration, and serialize concurrent acquisition. Add focused regression tests and document repeated-query behavior.

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

* Clarify Kusto token cache lifetime across transports

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

* Document token acquisition guidance for HTTP clients

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-10-29 14:13:04 -05:00
Amos HerschandCopilot App 96b20bc7e6 Support definitions and creation properties in Fabric Create Item (#4051)
* Support definitions in Fabric item creation

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

* Complete Fabric Create Item request properties

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

* Share Fabric definition inputs and defer unknown formats

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-10-29 16:14:37 +02:00
Amos HerschandCopilot App 770dd92d3b Add Fabric item-definition file I/O infrastructure (#4049)
* Add Fabric definition file I/O infrastructure

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

* Use an absolute link for bundled definition articles

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

* Reject normalized UNC paths before definition file access

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

* Resolve system temporary-directory aliases in definition tests

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

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-10-29 10:39:21 +02:00
Vinay GeraandCopilot fab10c6884 Refresh 4.0.0-beta.4 release changelogs (#4063)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-29 00:29:31 -07:00
Vinay GeraandCopilot 4b7780417e Use Good network isolation policy for the Azure MCP pipeline (#4061)
* Allow Microsoft Learn access in isolated pipelines

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

* Use Good isolation policy for documentation access

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-29 00:14:27 -07:00
eba1c6f0a3 Add optional citation source data to Search knowledge base retrieval (#3871)
* Add opt-in source data for Search knowledge base retrieval

Preserve service defaults when the option is omitted, map all supported knowledge source kinds, and cover binding and SDK requests with focused tests.

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

* Clean up bits of text

* Improve Search knowledge source lookup performance

Resolve knowledge sources concurrently and cache source-type metadata using the existing cache service.

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

* PR feedback

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: alzimmermsft <48699787+alzimmermsft@users.noreply.github.com>
2026-10-28 21:46:03 +00:00
adb354a24a Revert "Disabling ADME tools for GA release (#3805)" (#4044)
* Revert "Disabling ADME tools for GA release (#3805)"

This reverts commit de756df2eb.

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

* add changelog entry

* Update chaneglog entry

---------

Co-authored-by: Ayushi Srivastava <aysriva@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-28 21:32:50 +00:00
Christian Stump 4d5ebc9b09 Add support for Azure NetApp Files Accounts create, get, update (#3708) 2026-10-28 21:25:33 +00:00
Chidozie Ononiwu 39c8ffa104 update network isolation policy (#4059) 2026-10-28 13:55:09 -07:00
vineetkalkiandCopilot b10fb6bfc8 Add Azure IoT Hub routing endpoint health and diagnostics tools (#3894)
* Add Azure IoT Hub routing endpoint health and diagnostics tools

Provide a current endpoint-health snapshot and historical routing evidence, including downstream resource existence and per-metric availability without inferring overall hub health.

Use a dedicated routing service with cloud-aware ARM validation, SDK-default retries, bounded operations, and cancellation handling. Include command documentation, registration, unit tests, recorded tests, and routing test infrastructure.

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

* Tighten IoT Hub routing metric fallback and ARM link validation

Only retry batched target metrics individually when Azure Monitor rejects
the batch with 400, the incompatible-metric case. Throttling and server
errors now fail the batch after SDK retries instead of fanning out into
per-metric requests that consume the operation budget.

Validate each ARM request URI, including nextLink continuations, before
resolving the tenant or credential so untrusted destinations fail before
any authentication work.

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

* Use IAzureService endpoint validation for IoT Hub routing ARM requests

#3884 removed the static EndpointValidator overload that took an executing tool namespace, so the routing service no longer compiles against main (CS1739). Validate ARM request and nextLink URIs through IAzureService.ValidateAzureServiceEndpoint, as IoTHubDeviceService now does. Tests use AzureServiceTestHelpers so endpoint validation stays real and shared ARM clients route through the test handler.

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

* Resolve IoT Hub routing targets only from the endpoint URI

Key-based endpoints have no endpointUri, and IoT Hub endpoint ids are opaque GUIDs rather than ARM resource IDs. The mapper fell back to the entity path or container name as the namespace or account name, so diagnostics checked a resource that does not exist and reported an existing target as notFound. Derive the target name only from the endpoint URI host so these endpoints report an unresolved target, and use opaque ids in the mapper fixture to match service responses.

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

* Document unresolved IoT Hub routing targets for key-based endpoints

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

* Configure IoT Hub live test routing and devices in the post script

The live pipeline failed in test-resources-post.ps1 because the azure-iot CLI extension it used cannot be installed on network-isolated agents. Seed the test devices through the IoT Hub registry REST API with Microsoft Entra ID instead, and grant the test principal IoT Hub Data Contributor.

Also add the identity-based Service Bus routing endpoints in the post script rather than the template. IoT Hub validates those endpoints when they are created and rejects them (IH400117) until the routing identity's Service Bus Data Sender assignment takes effect. ARM cannot wait for that, so the post script retries until it does.

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

* Validate IoT Hub resource names before building ARM resource IDs

Hub and resource group names were interpolated into ARM resource IDs. ResourceIdentifier accepts traversal segments, and URI normalization then sent the request elsewhere: rg1/../rg2 and rg1\..\rg2 read the hub from resource group rg2, and .. escaped to the subscription scope.

Reject names outside the Azure naming rules before any credential or network work. The check runs in the shared routing service path used by both routing commands, and in IoTHubService.GetIoTHub, which serves hub get and, through the hostname resolver, the device and query tools. Resource group names follow the documented rule: 1-90 letters or digits (Char.IsLetterOrDigit), underscores, hyphens, periods, or parentheses, not ending with a period. Routing targets built from the hub's endpoint configuration are reported as unresolved unless every name is a single path segment.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-28 11:00:48 -07:00
Vinay GeraandCopilot 729ac59d4a Prepare for 4.0.0-beta.4 release (#4056)
* Prepare for 4.0.0-beta.4 release

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

* Add servicegroupintelligence to cspell.json

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-28 09:28:23 -07:00
ghcp4a-bot[bot]andgithub-actions[bot] 6369e6f54c Sync skill references from GitHub-Copilot-for-Azure (#4050)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-28 11:57:46 -04:00
Amishi-PanwarandCopilot 1d9f2a3030 Add Advisor servicegroupintelligence get command (#3952)
* Add Advisor servicegroupintelligence

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

Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee

* Advisor: query Status service group intelligence

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

Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee

---------

Copilot-Session: adbcd085-bc05-4b4d-a3be-a785d755f9ee
2026-10-27 23:05:39 -07:00
Shraddha JainandCopilot b17daebba6 [AzureBackup] Apply --storage-type when creating Recovery Services vaults (#4033)
* [AzureBackup] Apply --storage-type when creating RSV vaults

RsvBackupOperations.CreateVaultAsync accepted storageType but never used it, so Recovery Services vaults were always created with the default GeoRedundant storage. After the vault PUT completes, apply the requested redundancy through the backupstorageconfig/vaultstorageconfig API (same path used by 'vault update --redundancy'). Invalid values are rejected before any ARM call, and storage-config failures report that the vault was created plus the 'vault update --redundancy' remediation.

Fixes microsoft/mcp#3981

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

* [AzureBackup] Preserve RSV storage redundancy partial-failure guidance

Throw a dedicated VaultStorageRedundancyException (a RequestFailedException that keeps status and error code) when redundancy cannot be applied after an RSV vault is created. VaultCreateCommand surfaces its message ahead of the generic 409/403 mappings, so a storage-config conflict no longer reads as an existing-vault conflict. The retry command now includes --subscription and, when supplied, --tenant so it targets the vault just created.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-27 17:06:20 +05:30
Karan SinghandCopilot 150473f1fc Allow Azure Resource Graph Kusto endpoints in Kusto cluster URI validation (#4029)
* Allow Azure Resource Graph Kusto endpoints in Kusto cluster URI validation

Add .arg.core.windows.net to KustoClient's domain suffix allow-list so the Kusto
tools can query Azure Resource Graph Kusto endpoints. The Kusto SDKs' well-known
endpoints already trust this suffix, and KustoClient already keeps the endpoint
path and requests the Kusto scope these endpoints use.

Fixes #4028

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: df5f4d96-6fea-431c-bc49-01af1461746b

* Make the KustoClient request test endpoint-agnostic

Rename the test and use neutral database and query arguments so it doesn't suggest
that Azure Resource Graph endpoints get special handling. Any cluster URI that
passes the allow-list works; this one includes a path to show it's preserved.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: df5f4d96-6fea-431c-bc49-01af1461746b

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: df5f4d96-6fea-431c-bc49-01af1461746b
2026-10-26 15:27:15 -07:00
Alan Zimmer c3e9ec1093 Add guidance to and standardize project reference patterns (#4036) 2026-10-26 17:07:32 -04:00
cd2556e5c6 Add monitor ingestion upload and validate tools (#3954)
* Add monitor ingestion upload and validate tools

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 83d3236e-c51b-4809-861f-a45a9a63ae7c

* Address review feedback on monitor ingestion tools

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 83d3236e-c51b-4809-861f-a45a9a63ae7c

* Use standard exception handling in ingestion commands

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 83d3236e-c51b-4809-861f-a45a9a63ae7c

* added recorded tests

* added recorded tests

* fix formatting

* fixed recorded test assets

* update readme

* Apply suggestion from @alzimmermsft

Co-authored-by: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com>
Copilot-Session: 83d3236e-c51b-4809-861f-a45a9a63ae7c
2026-10-23 16:52:44 +00:00
azure-sdk-automation[bot]andazure-sdk c4341c2d2c Increment version after release (#4025)
Increment package version after release

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-10-23 09:22:58 -05:00
Shraddha Jain 6ee4162735 Add azurebackup operation get tool (#3839)
* Add azurebackup operation get tool

Adds the azurebackup operation get command to read asynchronous RSV backup operation status at vault scope or protected-item scope. Returns timestamps, sanitized errors, and actual job IDs when present, without treating operation IDs as job IDs. Includes unit tests, a recorded integration test, docs, changelog, and consolidated-tools registration.

* Map OperationCanceledException to 504 in operation get command

Override GetStatusCode so all cancellations (including TaskCanceledException) return GatewayTimeout, matching the canceled GetErrorMessage instead of falling through to 500. Adds unit coverage for both exception types.

* Wait for operation-get live update LRO to complete before final assertions

The re-submitted protected-item update now awaits WaitForCompletionResponseAsync so the final-state checks observe the settled write and no operation lingers into later tests or cleanup. Re-recorded (assets tag 59d31d946a).

* Address operation get review feedback and refresh recording
2026-10-23 14:52:43 +05:30
Chidozie Ononiwu f1a5b8dfe1 Enable CFSClean on the MCP pipeline (#4023) 2026-10-22 17:31:18 -07:00
Steven Vukelich d14e1e8051 Prepare for 4.0.0-beta.3 release (#4021) 2026-10-22 15:50:37 -07:00
Saswata PanditandCopilot b3f862be67 Add Azure Resiliency Agent tools (#3845)
* Add the Azure Resiliency Agent tool area

Exposes the Azure Resiliency Agent through a single conversation-level tool,
resiliencyagent_conversation_ask. A developer describes an application in their
own words and receives a zonal resilience assessment, or asks for zone-resilient
Bicep, ARM or Terraform templates for new resources.

The area holds no agent logic. It is a thin client over the agent's existing A2A
surface, so the backend keeps ownership of what a turn does, including which
scenario handles it and when to stop and ask the user something. That is why one
conversation-level tool covers both assessment and template generation rather
than one tool per Azure operation.

The agent is multi-turn: it asks its own clarifying questions before it can act.
A single tool call therefore carries an entire conversation. The command polls
the agent, raises an elicitation when the agent needs input, feeds the answer
back, and returns once. The host model issues one call and never sees the
polling, so clarifying questions reach the user exactly as the agent wrote them
rather than depending on a model to follow instructions about how to poll.

While a turn is running the agent publishes short reasoning steps. Those are
forwarded as progress notifications, which also resets client inactivity timers
on a call that can run for minutes.

Templates and reports are written to the caller's working directory and returned
as paths, following the pattern the Azure Migrate platform landing zone tool
uses. A generated template is more useful as a file that can be opened and
deployed than as text in a chat reply, and a long report does not have to travel
through the model's context. Artifact names arrive from a remote service and are
treated as untrusted input when used as file names.

The tool is marked LocalRequired because it asks the user questions over the
client connection, which is not available in HTTP mode.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Add Start Resilient Azure MCP tool surface

Add five architecture and IaC scenario tools, local file attachment with explicit consent and bounded in-memory caching, A2A FilePart forwarding, public data-boundary routing, MCP artifact content blocks, evaluations, documentation, and tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Clean up Resiliency Agent README entry

Remove stale POC prompts and use customer-facing service-area language.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Use generated Resiliency Agent evaluations

Remove the checked-in Vally specification and rely on the repository evaluator to generate unattended routing evaluations from the E2E prompt inventory. Normalize interactive scenarios to the supported context-required classification.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Evaluate inline resiliency IaC reviews

Add generated Vally coverage for inline ARM, Bicep, and Terraform reviews. Clarify that review commands accept source directly in the request while local files use attachment IDs.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Prefer attachments for IaC reviews

Guide complete and multi-file templates through the attachment flow while retaining direct support for templates pasted inline. Reserve existing IaC resiliency review for the format-specific Resiliency Agent commands instead of generic guidance tools.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Fix A2A inline file discriminator

Include the nested FileContent kind discriminator required by the A2A polymorphic contract so uploaded bytes, filename, and MIME type survive backend deserialization and blob offload.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Add general Resiliency Agent guidance

Add a conceptual guidance command and routing prompts, and make the public A2A endpoint plus delegated scope fixed production constants with no runtime environment overrides or auth bypass.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Add Resiliency Agent service owner

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Fix Resiliency Agent PR checks

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Handle canonical macOS temp paths in artifact tests

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Address Resiliency Agent review feedback

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Improve Resiliency Agent tool routing

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Improve Resiliency Agent artifact presentation

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Materialize resiliency reports in workspaces

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Add clickable links for resiliency artifacts

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Retrigger PR checks

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Harden Resiliency Agent conversation handling

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Address Resiliency Agent artifact and test review

Preserve backend artifacts when workspace writes fail, harden metadata bounds, use factory-managed HTTP clients, and add recorded ARM/A2A playback coverage.

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Fix Resiliency Agent cross-platform CI tests

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

* Clarify Resiliency Agent attachment evaluation prompt

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

Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 974958dc-ded9-4351-bed3-07227e1bce92
2026-10-22 13:04:20 -07:00
Connie Yau f7ab24de64 Added documentation for 401 missing auth config (#4009) 2026-10-22 12:45:13 -07:00
2d6ad88ed2 Drill report tools + few minor fixes on existing tools (#4018)
* Add six resiliency Goals tools for GA 2026-10-01

Integrate the supplied GA SDK, typed tool contracts, lifecycle coverage, and published ECY recordings. Keep known CI readiness blockers explicit in the draft PR.

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

* Fix Goals documentation links and trim investigation notes

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

* Trim Goals delivery documentation and consolidate regression tests

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

* Use released Resilience Management SDK 1.0.0

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

* Resolve Goals metadata tests through the command factory

Use the stable command lookup API so the new tests remain compatible with upstream CommandRegistration wrappers.

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

* Update existing Resiliency MCP Tools for GA Release

Migrate the Resiliency SDK integration and existing Drills API surfaces to GA. Add request validation, isolated fixtures, recording scenarios, HTTP contract tests, and documentation.

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

* Add SDK GA upgrade usage recovery plan

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

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* Resilience drills: keep integrated fixture plan Ready; align drill tools with GA SDK

- Drills fixture brings the recovery plan back to Ready (exclude new service-group members, finalize, checkReadiness) before and after the full failover/reprotect cycle; RO rejects failover unless the plan is Ready.
- Remove --recoveryplan from drill create/update: recoveryPlanId is read-only in the GA SDK and never serialized; the service links the service group's plan.
- Return the drill managed identity in drill get/create/update output.
- Always emit hasCompleted for drill resync, validation, add-or-update, and mark-complete results.
- Update docs, e2e prompts, skill reference, changelog, and tests.

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

* Resilience: expose remaining GA SDK request fields and re-record live tests

- Drill create/update: --identity, --chaos-resource-properties, --recovery-plan-properties, --monitoring-properties; update --resource-group.
- Drill run failover: --user-consent (Unspecified/Allowed).
- Recovery plan create: None identity, --default-group-unique-id, CustomRunbook action associatedIdentity (Zonal only).
- Recovery plan resource update: CrossZoneVMRecovery protection; rejected long-running updates now return 400 with the service error code.
- Usage plan create: --tags.
- Re-recorded affected live tests against GA 2026-10-01 (assets tag Azure.Mcp.Tools.ResilienceManagement.Tests_9f4bd3a70d), added a CrossZoneVMRecovery rejection test, removed orphan preview recordings.
- Tuned drill update and drill run failover descriptions (ToolDescriptionEvaluator: changed tools' non-clarification prompts min 0.618).

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

* Resilience: document drill update resource group as immutable after creation

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

* Resilience: consolidate test fixtures and record Goals tests on canary

Inline the drills post script into test-resources-post.ps1, remove the PR 3921 goal fixture scripts, add a dedicated goals service group to the main fixture, and record the Goals GA tests on canary until the service reaches production.

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

* up

* up

* up

* up

* Resilience: record drill run report tests and publish assets.json

- Read the report download URL and expiry from the raw operation response; the
  service returns downloadUrl/expiryTimestamp, which the SDK model does not map.
- Sanitize the signed downloadUrl in recordings.
- Make the download URL test retry only on a 409 from a prior run operation and
  stop generating a second report.
- Point assets.json at Azure.Mcp.Tools.ResilienceManagement.Tests_fe97a70f15
  (79 recordings, including the three drill run report tests and a re-recorded
  Should_create_usage_plan).

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

* Fix cspell failure in drill run report eval doc

Remove the personal branch name that cspell flagged as unknown words.

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

* Fix broken evaluator link in drill run report eval doc

Use the absolute GitHub URL, matching CONTRIBUTING.md, so the link check passes.

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

* up

* up

* Resilience: read generate-report summary from the DrillRun envelope

generateReport returns 202 with the DrillRun resource, so the SDK model has no
value and the summary was always null. Read it from properties.report in the raw
operation response (same approach as the download URL), keep using the SDK
value when present, and assert the returned report in the recorded test. The
existing recording replays unchanged.

Also update the tool count in the Resilience skill tools reference to 49.

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

---------

Co-authored-by: Dhruv Bharuka <dhruvbharuka@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-22 11:58:24 -07:00
9a2bd1a5ce Resilience: Goal tools + few minor updates to other tools (#4014)
* Add six resiliency Goals tools for GA 2026-10-01

Integrate the supplied GA SDK, typed tool contracts, lifecycle coverage, and published ECY recordings. Keep known CI readiness blockers explicit in the draft PR.

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

* Fix Goals documentation links and trim investigation notes

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

* Trim Goals delivery documentation and consolidate regression tests

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

* Use released Resilience Management SDK 1.0.0

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

* Resolve Goals metadata tests through the command factory

Use the stable command lookup API so the new tests remain compatible with upstream CommandRegistration wrappers.

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

* Update existing Resiliency MCP Tools for GA Release

Migrate the Resiliency SDK integration and existing Drills API surfaces to GA. Add request validation, isolated fixtures, recording scenarios, HTTP contract tests, and documentation.

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

* Add SDK GA upgrade usage recovery plan

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

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* up

* Resilience drills: keep integrated fixture plan Ready; align drill tools with GA SDK

- Drills fixture brings the recovery plan back to Ready (exclude new service-group members, finalize, checkReadiness) before and after the full failover/reprotect cycle; RO rejects failover unless the plan is Ready.
- Remove --recoveryplan from drill create/update: recoveryPlanId is read-only in the GA SDK and never serialized; the service links the service group's plan.
- Return the drill managed identity in drill get/create/update output.
- Always emit hasCompleted for drill resync, validation, add-or-update, and mark-complete results.
- Update docs, e2e prompts, skill reference, changelog, and tests.

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

* Resilience: expose remaining GA SDK request fields and re-record live tests

- Drill create/update: --identity, --chaos-resource-properties, --recovery-plan-properties, --monitoring-properties; update --resource-group.
- Drill run failover: --user-consent (Unspecified/Allowed).
- Recovery plan create: None identity, --default-group-unique-id, CustomRunbook action associatedIdentity (Zonal only).
- Recovery plan resource update: CrossZoneVMRecovery protection; rejected long-running updates now return 400 with the service error code.
- Usage plan create: --tags.
- Re-recorded affected live tests against GA 2026-10-01 (assets tag Azure.Mcp.Tools.ResilienceManagement.Tests_9f4bd3a70d), added a CrossZoneVMRecovery rejection test, removed orphan preview recordings.
- Tuned drill update and drill run failover descriptions (ToolDescriptionEvaluator: changed tools' non-clarification prompts min 0.618).

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

* Resilience: document drill update resource group as immutable after creation

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

* Resilience: consolidate test fixtures and record Goals tests on canary

Inline the drills post script into test-resources-post.ps1, remove the PR 3921 goal fixture scripts, add a dedicated goals service group to the main fixture, and record the Goals GA tests on canary until the service reaches production.

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

* up

* up

---------

Co-authored-by: Dhruv Bharuka <dhruvbharuka@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-22 08:20:19 -07:00
ghcp4a-bot[bot]andgithub-actions[bot] 04741f47cf Sync skill references from GitHub-Copilot-for-Azure (#4017)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-22 08:58:10 -04:00
pranjal-abhyankarandPranjal Abhyankar b5ac4b8a37 Add Storage Intelligence disk performance diagnostics (#3580)
* Add Storage Intelligence disk diagnostics

* Support prefix-free application scopes

* Add host latency to disk diagnostics

* Remove Storage disk latency flag

* Improve storage disk diagnose tool description

* Support VMSS instances in disk diagnostics

* Add recorded live test for disk diagnostics

* Update disk resolver for Azure service API

* Default Storage Intelligence configuration

* Restore recorded endpoint for playback

* Address storage disk diagnostics review feedback

* Align disk diagnostics with latest command contract

* Fix disk diagnostics spelling checks

* Secure disk diagnostics endpoints and support tenant selection

* Adapt disk endpoint validation to the shared validator service

* Use Azure service facade for disk endpoint validation

---------

Co-authored-by: Pranjal Abhyankar <pabhyankar@microsoft.com>
2026-10-21 14:18:23 -05:00
kun654andkun654 3e9b504b19 docs: move Azure Device Provisioning Service sections into alphabetical order (#4001)
docs: move Device Provisioning Service sections into alphabetical order

The sections added by #3898 were inserted between Insights and IoT Hub in all
three docs. Relocate them to their alphabetical position next to the other
Device services: between Deploy and Device Registry in azmcp-commands.md and
e2eTestPrompts.md, and between Database for PostgreSQL and Event Grid in the
README prompt list.

Pure block moves, no content changes; moved blocks contain no annotation
comments.

Fixes #3970

Co-authored-by: kun654 <273006726+kun654@users.noreply.github.com>
2026-10-21 10:55:43 -04:00
azure-sdk-automation[bot]andazure-sdk 299f6325d8 Increment version after release (#4013)
Increment package version after release

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-10-21 08:11:11 -04:00
Steven Vukelich 99cdb36ec5 Prepare for 4.0.0-beta.2 release (#4010) 2026-10-20 22:33:33 +00:00
azure-sdk-automation[bot]andazure-sdk c17559c057 Increment version after release (#3980)
Increment package version after release

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-10-20 14:45:00 -07:00
adishiritwick 412e187cbe Update Resilience tools to GA SDK (#3968) 2026-10-20 10:10:54 -07:00
azure-sdk-automation[bot]andazure-sdk a70f67e85e Increment version after release (#4002)
Increment package version after release

Co-authored-by: azure-sdk <azuresdk@microsoft.com>
2026-10-20 12:05:08 -04:00
KarishmaGhiyaandCopilot 606a2ca6ab Refresh 4.0.0-beta.1 release changelogs with merged fixes (#3997)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: e3b2c75e-eb91-431b-a13e-04be09f78868
2026-10-19 20:56:22 +00:00
Chidozie Ononiwu e5c5bfb553 Allow blobAzureStorage in net Isolation (#4000)
Allow blocAzureStorage in net Isolation
2026-10-19 13:46:41 -07:00