Skip to content

Commit 26d7af1

Browse files
authored
Merge branch 'Azure:main' into described
2 parents 83ccd1f + ffd4b61 commit 26d7af1

9,248 files changed

Lines changed: 1370184 additions & 1707718 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,12 @@
279279
/sdk/healthdataaiservices/ @alexathomases @Azure/healthdatadeidentification
280280

281281
# PRLabel: %Hosted Agents
282-
/sdk/agentserver/ @JC-386 @lusu-msft
282+
/sdk/agentserver/ @ankitbko @vangarp @RaviPidaparthi
283+
# PRLabel: %Hosted Agents
284+
/sdk/agentserver/azure-ai-agentserver-githubcopilot/ @jodeklotzms @pradeepkintali @tendau @ganeshyb @code-vicar
283285

284286
# ServiceLabel: %Hosted Agents
285-
# ServiceOwners: @JC-386 @lusu-msft
287+
# ServiceOwners: @ankitbko @vangarp @RaviPidaparthi
286288

287289
# ServiceLabel: %Image Analysis %Service Attention
288290
# PRLabel: %Image Analysis
@@ -380,6 +382,10 @@
380382
# PRLabel: %Purview
381383
/sdk/purview/ @adyabansal-ms
382384

385+
# ServiceLabel: %PostgreSQL Auth
386+
# PRLabel: %PostgreSQL Auth
387+
/sdk/postgresql/azure-postgresql-auth/ @alxhghs @carlovi81 @mattboentoro @nasc17 @nehrao1 @rmendiza
388+
383389
# PRLabel: %Recovery Services
384390
/sdk/recoveryservices/ @DheerendraRathor
385391

@@ -703,6 +709,9 @@
703709
# ServiceLabel: %PostgreSQL %Service Attention
704710
# ServiceOwners: @lfittl-msft @niklarin @sr-msft @sunilagarwal
705711

712+
# ServiceLabel: %PostgreSQL Auth
713+
# ServiceOwners: @alxhghs @carlovi81 @mattboentoro @nasc17 @nehrao1 @rmendiza
714+
706715
# ServiceLabel: %Redis Cache %Service Attention
707716
# ServiceOwners: @yegu-ms
708717

@@ -761,10 +770,10 @@
761770
/sdk/servicefabric/ @QingChenmsft @samedder
762771

763772
# PRLabel: %Speech Transcription
764-
/sdk/cognitiveservices/azure-ai-transcription/ @amber-yujueWang @rhurey @xitzhang
773+
/sdk/transcription/azure-ai-transcription/ @amber-yujueWang @rhurey @xitzhang @pankopon @emilyjiji
765774

766775
# ServiceLabel: %Speech Transcription
767-
# ServiceOwners: @amber-yujueWang @rhurey @xitzhang
776+
# ServiceOwners: @amber-yujueWang @rhurey @xitzhang @pankopon @emilyjiji
768777

769778
# PRLabel: %Storage
770779
/sdk/storage/ @annatisch @jalauzon-msft @vincenttran-msft @weirongw23-msft
@@ -850,8 +859,8 @@
850859
/eng/pipelines/docindex.yml @danieljurek @scbedd @weshaggard @benbp
851860

852861
# Add approvers for typespec-python emitter version updates
853-
/eng/emitter-package.json @mccoyp @catalinaperalta @iscai-msft
854-
/eng/emitter-package-lock.json @mccoyp @catalinaperalta @iscai-msft
862+
/eng/emitter-package.json @mccoyp @catalinaperalta @iscai-msft @msyyc @ChenxiJiang333
863+
/eng/emitter-package-lock.json @mccoyp @catalinaperalta @iscai-msft @msyyc @ChenxiJiang333
855864

856865
/pylintrc @l0lawrence @scbedd @mccoyp
857866
/sdk/**/ci.yml @msyyc @lmazuel @scbedd
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: 'Configure Package Indexes'
2+
description: 'Configure pip/uv package indexes to use Azure SDK CFS feed'
3+
4+
runs:
5+
using: 'composite'
6+
steps:
7+
- name: Configure package indexes
8+
run: |
9+
echo "PIP_INDEX_URL=https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/" >> "$GITHUB_ENV"
10+
echo "UV_DEFAULT_INDEX=https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/" >> "$GITHUB_ENV"
11+
shell: bash

.github/copilot-instructions.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,13 @@
2828

2929
**REFERENCE DOCUMENTATION:**
3030
- [Official pylint guide](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/pylint_checking.md)
31-
- [Tox formatting guide](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/tests.md#tox)
31+
- [Tool usage guide](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/tool_usage_guide.md)
3232

3333
**COMMAND:**
3434
```bash
35-
tox -e pylint --c <path_to_tox.ini> --root .
35+
azpysdk pylint .
3636
```
3737

38-
**DEFAULT PATH:** `azure-sdk-for-python/eng/tox/tox.ini`
39-
4038
### FIXING PYLINT WARNINGS
4139

4240
**REFERENCE SOURCES:**
@@ -64,13 +62,13 @@ tox -e pylint --c <path_to_tox.ini> --root .
6462
### RUNNING AND FIXING MYPY
6563

6664
**REFERENCE DOCUMENTATION:**
67-
- [Tox guidance](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/tests.md#tox)
65+
- [Tool usage guide](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/tool_usage_guide.md)
6866
- [MyPy fixing guide](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/static_type_checking_cheat_sheet.md)
6967

7068
**REQUIREMENTS:**
71-
- Use Python 3.9 compatible environment
69+
- Use Python 3.10 compatible environment
7270
- Follow official fixing guidelines
73-
- Use tox mcp tool for running MyPy
71+
- Run `azpysdk mypy .` from the package directory
7472

7573
---
7674

@@ -115,7 +113,7 @@ This library is failing two release blocking checks - Mypy and Tests - CI. The l
115113
## Local SDK Generation and Package Lifecycle (TypeSpec)
116114

117115
### AUTHORITATIVE REFERENCE
118-
For all TypeSpec-based SDK workflows (generation, building, validation, testing, versioning, and release), follow #file:../eng/common/instructions/azsdk-tools/local-sdk-workflow.instructions.md
116+
For all TypeSpec-based SDK workflows (generation, building, validation, testing, versioning, and release), follow #file:skills/azsdk-common-generate-sdk-locally/SKILL.md
119117

120118
### DEFAULT BEHAVIORS
121119
- **Repository:** Use the current workspace as the local SDK repository unless the user specifies a different path.
@@ -154,6 +152,10 @@ These rules apply to management-plane SDK packages located at `sdk/*/azure-mgmt-
154152

155153
### CLIENT SIGNATURE
156154
- The `__init__` method of the client class in `_client.py` must include the parameters `credential`, `subscription_id`, and `base_url` **in that order**. Default values are not checked.
155+
- If `subscription_id` is **not** present in the client's `__init__` signature, `pyproject.toml` must contain `no_sub = true`. If it does not, hint the user to add `no_sub = true` in `pyproject.toml` and regenerate the SDK.
156+
157+
### CLIENT NAME CONSISTENCY
158+
- The client class name in `_client.py`, the client name referenced in `README.md`, and the `title` value in `pyproject.toml` must all be the same.
157159

158160
### README CODE SNIPPETS
159161
- Code snippets in `README.md` must follow the real client class signatures and usage patterns. Verify that sample code matches the actual client API.
@@ -162,4 +164,4 @@ These rules apply to management-plane SDK packages located at `sdk/*/azure-mgmt-
162164

163165
## SDK release
164166

165-
For detailed workflow instructions, see [SDK Release](https://github.com/Azure/azure-sdk-for-python/blob/main/eng/common/instructions/copilot/sdk-release.instructions.md).
167+
For detailed workflow instructions, see [SDK Release](skills/azsdk-common-sdk-release/SKILL.md).

.github/hooks/hooks.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"hooks": {
3+
"PostToolUse": [
4+
{
5+
"type": "command",
6+
"command": "pwsh eng/common/scripts/azsdk_tool_telemetry.ps1",
7+
"timeoutSec": 5
8+
}
9+
]
10+
}
11+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: azsdk-common-apiview-feedback-resolution
3+
license: MIT
4+
metadata:
5+
version: "1.0.0"
6+
distribution: shared
7+
description: "Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_typespec_customized_code_update."
8+
compatibility:
9+
requires: "azure-sdk-mcp server, SDK pull request with APIView review link"
10+
---
11+
12+
# APIView Feedback Resolution
13+
14+
**Prerequisites:** azure-sdk-mcp server required; no CLI fallback. Without MCP, this skill cannot retrieve APIView comments or apply TypeSpec changes. Connect the `azure-sdk-mcp` server before use.
15+
16+
## MCP Tools
17+
18+
| Tool | Purpose |
19+
|------|---------|
20+
| `azure-sdk-mcp:azsdk_apiview_get_comments` | Get APIView comments |
21+
| `azure-sdk-mcp:azsdk_typespec_customized_code_update` | Apply TypeSpec changes locally |
22+
| `azure-sdk-mcp:azsdk_typespec_delegate_apiview_feedback` | Delegate to CCA pipeline |
23+
| `azure-sdk-mcp:azsdk_run_typespec_validation` | Validate TypeSpec |
24+
| `azure-sdk-mcp:azsdk_package_generate_code` | Regenerate SDK |
25+
26+
## Steps
27+
28+
1. **Retrieve** — Get APIView URL from SDK PR, run `azsdk_apiview_get_comments`.
29+
2. **Categorize** — Group as Critical/Suggestions/Informational per [feedback steps](references/feedback-resolution-steps.md).
30+
3. **Resolve** — Use `azsdk_typespec_customized_code_update` for TypeSpec changes; delegate via `azsdk_typespec_delegate_apiview_feedback` for complex cases.
31+
4. **Validate** — Run validation, regenerate SDK, build and test.
32+
5. **Confirm** — Verify all items addressed. If delegated, follow [post-delegation follow-up](references/feedback-resolution-steps.md#post-delegation-follow-up). Request re-review.
33+
34+
## Examples
35+
36+
- "Resolve the APIView comments on my SDK pull request"
37+
- "What feedback did the API reviewer leave?"
38+
39+
## Troubleshooting
40+
41+
- **No comments**: Verify PR has APIView link and MCP server is connected.
42+
- **Validation fails**: Re-run after fixing TypeSpec errors.
43+
- **MCP unavailable**: Requires `azure-sdk-mcp` server; no CLI fallback. Connect the server and retry.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: azsdk-common-apiview-feedback-resolution-eval
2+
description: Evaluation suite for APIView feedback resolution skill.
3+
skill: azsdk-common-apiview-feedback-resolution
4+
version: '1.0'
5+
config:
6+
model: gpt-4o
7+
executor: mock
8+
trials_per_task: 1
9+
timeout_seconds: 300
10+
parallel: false
11+
metrics:
12+
- name: task_completion
13+
weight: 0.7
14+
threshold: 0.8
15+
description: Did the skill complete trigger and anti-trigger checks?
16+
- name: efficiency
17+
weight: 0.3
18+
threshold: 0.7
19+
description: Did the skill stay within behavior limits?
20+
graders:
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
28+
tasks:
29+
- "tasks/*.yaml"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: azsdk-common-apiview-feedback-resolution-evals
2+
description: Evaluations for the APIView feedback resolution skill
3+
skill: azsdk-common-apiview-feedback-resolution
4+
version: "1.0"
5+
config:
6+
model: gpt-4o
7+
executor: mock
8+
trials_per_task: 1
9+
timeout_seconds: 300
10+
parallel: false
11+
metrics:
12+
- name: task_completion
13+
weight: 0.7
14+
threshold: 0.8
15+
description: Did the skill complete trigger and anti-trigger checks?
16+
- name: efficiency
17+
weight: 0.3
18+
threshold: 0.7
19+
description: Did the skill stay within behavior limits?
20+
graders:
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
28+
tasks:
29+
- "tasks/*.yaml"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
id: anti-trigger
2+
name: anti-trigger
3+
description: Should not trigger on unrelated prompts
4+
inputs:
5+
prompt: "How do I set up a new Azure Storage account?"
6+
expected:
7+
skill_activated: false
8+
graders:
9+
- type: text
10+
name: no-apiview-advice
11+
config:
12+
not_contains:
13+
- "APIView"
14+
- "API review"
15+
- "apiview.dev"
16+
- "apiviewstagingtest.com"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
id: basic-trigger
2+
name: basic-trigger
3+
description: Should trigger on APIView feedback resolution requests
4+
inputs:
5+
prompt: "I have APIView comments on my SDK PR that need to be resolved. Can you help?"
6+
expected:
7+
skill_activated: true
8+
graders:
9+
- type: text
10+
name: mentions-apiview
11+
config:
12+
contains:
13+
- "APIView"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
id: url-trigger
2+
name: url-trigger
3+
description: Should trigger when user provides an APIView URL without explicitly saying APIView
4+
inputs:
5+
prompt: "I have review comments on my SDK PR from this page: https://spa.apiview.dev/review/abc123?activeApiRevisionId=def456 — can you help me resolve them?"
6+
expected:
7+
skill_activated: true
8+
graders:
9+
- type: text
10+
name: mentions-apiview-domain
11+
config:
12+
contains:
13+
- "apiview"

0 commit comments

Comments
 (0)