Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
be3b181
Remove changelog update step from emitter skill
dargilco Jun 2, 2026
88c333c
restore tsp-location.yaml
dargilco Jun 2, 2026
5fce783
[azure-ai-projects] Emit SDK from TypeSpec (commit 6aa89cf) (#47294)
dargilco Jun 2, 2026
04139a9
[azure-ai-projects] Emit SDK from TypeSpec, using latest OpenAI TypeS…
dargilco Jun 3, 2026
b3ad5b8
Cleanup unused `# [START` tages
dargilco Jun 3, 2026
2404e45
First
dargilco Jun 3, 2026
1ac2850
Separate skill for updating CHANGELOG.md file (#47327)
dargilco Jun 3, 2026
c37ce79
Update Python tsp-location.yaml to match recent TypeSpec client.tsp f…
dargilco Jun 5, 2026
9ad3073
Update subclient doc
dargilco Jun 5, 2026
7503c2f
Add sample for dispatching routines with manual triggers (#47404)
howieleung Jun 9, 2026
8c5e21f
restore packages
dargilco Jun 9, 2026
860edc3
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Jun 9, 2026
29a4ea9
sample update routines (#47423)
howieleung Jun 10, 2026
7022f99
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Jun 10, 2026
573d942
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Jun 12, 2026
5757d1c
Emit from latest TypeSpec, including new Agent Optimization methods (…
dargilco Jun 12, 2026
c7a9cd7
Update change log and subclient report
dargilco Jun 12, 2026
b0c69f4
Remove changelog update step from emitter skill
dargilco Jun 2, 2026
696c719
restore tsp-location.yaml
dargilco Jun 2, 2026
b19ddad
[azure-ai-projects] Emit SDK from TypeSpec (commit 6aa89cf) (#47294)
dargilco Jun 2, 2026
6521ec4
[azure-ai-projects] Emit SDK from TypeSpec, using latest OpenAI TypeS…
dargilco Jun 3, 2026
172b798
Cleanup unused `# [START` tages
dargilco Jun 3, 2026
907a3cf
First
dargilco Jun 3, 2026
21e4a84
Separate skill for updating CHANGELOG.md file (#47327)
dargilco Jun 3, 2026
dc50ff6
Update Python tsp-location.yaml to match recent TypeSpec client.tsp f…
dargilco Jun 5, 2026
be0e6ca
Update subclient doc
dargilco Jun 5, 2026
a39e6e0
Add sample for dispatching routines with manual triggers (#47404)
howieleung Jun 9, 2026
f0f161f
restore packages
dargilco Jun 15, 2026
c550e40
sample update routines (#47423)
howieleung Jun 10, 2026
7f2a28c
Emit from latest TypeSpec, including new Agent Optimization methods (…
dargilco Jun 12, 2026
1148869
Update change log and subclient report
dargilco Jun 12, 2026
4305e28
Merge branch 'feature/azure-ai-projects/2.3.0' of https://github.com/…
dargilco Jun 15, 2026
97d1097
restore tsp-location.yaml
dargilco Jun 2, 2026
1d78c99
[azure-ai-projects] Emit SDK from TypeSpec (commit 6aa89cf) (#47294)
dargilco Jun 2, 2026
9c44b94
[azure-ai-projects] Emit SDK from TypeSpec, using latest OpenAI TypeS…
dargilco Jun 3, 2026
a7c53a8
Update Python tsp-location.yaml to match recent TypeSpec client.tsp f…
dargilco Jun 5, 2026
587153f
Add sample for dispatching routines with manual triggers (#47404)
howieleung Jun 9, 2026
344248d
restore packages
dargilco Jun 9, 2026
324e4f6
sample update routines (#47423)
howieleung Jun 10, 2026
f8e030b
Emit from latest TypeSpec, including new Agent Optimization methods (…
dargilco Jun 12, 2026
77034cf
Merge branch 'feature/azure-ai-projects/2.3.0' of https://github.com/…
dargilco Jun 15, 2026
31f3e08
Fix merge
dargilco Jun 15, 2026
2fa9d4b
[azure-ai-projects] Emit SDK from TypeSpec (feature/foundry-release e…
dargilco Jun 15, 2026
bdcc0a8
Add api.md for API consistency check
dargilco Jun 15, 2026
0fa136a
Update api files
dargilco Jun 15, 2026
81ec85b
Merge remote-tracking branch 'origin/main' into feature/azure-ai-proj…
dargilco Jun 16, 2026
d20c8c4
Update post emitter script (#47525)
dargilco Jun 16, 2026
9a25a43
Add GitHub issue links to PostEmitter.ps1
dargilco Jun 16, 2026
4152411
Update hosted agent samples to support Python 3.14 and fix response h…
howieleung Jun 17, 2026
48b908b
Emit from TypeSpec and fix samples & tests following move of some bet…
dargilco Jun 18, 2026
5a35bad
[azure-ai-projects] Emit SDK from TypeSpec, including new enable/disa…
dargilco Jun 19, 2026
a9b5367
Check-in Agent Optimization samples from Jessie (with minor style adj…
dargilco Jun 19, 2026
573324b
Add sample for deploying Hosted Agent with toolbox MCP skills and upd…
howieleung Jun 22, 2026
5cbca41
Minor update to emitter skill
dargilco Jun 22, 2026
27da47a
Re-emit from TypeSpec. Updates to accommodate new ToolboxTools (#47597)
dargilco Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions sdk/ai/azure-ai-projects/.env.template
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,15 @@ SHAREPOINT_USER_INPUT=
FABRIC_USER_INPUT=
BING_CUSTOM_USER_INPUT=
A2A_USER_INPUT=
EVALUATOR_NAME=
DATASET_NAME=
DATASET_VERSION=
POLL_INTERVAL_SECONDS=
EVAL_MODEL=
OPTIMIZATION_MODEL=
JOB_ID=
WORK_IQ_PROJECT_CONNECTION_ID=
WORK_IQ_USER_INPUT=

#######################################################################
#
Expand Down
16 changes: 13 additions & 3 deletions sdk/ai/azure-ai-projects/.github/skills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
git clone https://github.com/Azure/azure-sdk-for-python.git
```
* Change to the directory `sdk\ai\azure-ai-projects`.
* Switch to the current feature branch: `git switch feature/azure-ai-projects/2.2.0`.
* Switch to the current feature branch, for example: `git switch feature/azure-ai-projects/2.3.0`.
* Make sure you don't have any files edited or added in this branch (clean `git status` state).

## Emit from TypeSpec and create a PR
Expand All @@ -17,16 +17,26 @@
* Open VSCode in the current folder.
* Open the CoPilot chat window ("Toggle Chat").
* Make sure you are in "Agent" mode.
* Start typing `/azure-ai-projects` and press tab to auto complete it to `/azure-ai-projects-emit-from-typespec`, then press Enter.
* Start typing `/` followed by the skill name, like `/azure-ai-projects` and press tab to auto complete it to the designed skill, like `/azure-ai-projects-emit-from-typespec`, then press Enter.
* Answer some questions and approve execution to go through the workflow

### Using CoPilot CLI or Agency Copilot CLI

* Install [GitHub CoPilot CLI](https://docs.github.com/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli) or [Agency CoPilot CLI](https://aka.ms/agency) (VPN required) if you don't already have it.
* Run CoPilot CLI by typing `copilot`
* Start typing `/azure-ai-projects` and press tab to auto complete it to `/azure-ai-projects-emit-from-typespec`, then press Enter.
* Start typing `/` followed by the skill name, like `/azure-ai-projects` and press tab to auto complete it to the desired skill, like `/azure-ai-projects-emit-from-typespec`, then press Enter.
* Answer some questions and approve execution to go through the workflow

## Skills

### azure-ai-projects-emit-from-typespec

This skill creates a new topic branch, emits SDK from TypeSpec, runs some post-processing and creates a PR.

### azure-ai-projects-update-changelog

This skill updates the file CHANGELOG.md, comparing the source in the current branch which the source of the latest public release. It does not create a new topic branch or a PR.




Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ Ask the user the following questions **one at a time**, waiting for each answer

Ask the user to choose **one** of the following two options for the target topic branch:

1. **Create a new topic branch (with default branch name)** – Create a new topic branch for the emitted changes. If selected, this default branch name will be used "<github-userid>/<emit-from-typespec-DD-MM-HH-MM>", where `github-userid` is the user's GitHub ID and `DD-MM-HHMM` is the current date-time using date, month, hour and minute. For example, if the GitHub ID is "dargilco" and the current date and time is May 1st, 2026 at 8:13am, the default branch name would be `dargilco/emit-from-typespec-01-05-0813`. This should be the default option, and the default branch name should be displayed. If you press enter without typing anything, this option will be selected.
1. **Create a new topic branch (with default branch name)** – Create a new topic branch for the emitted changes. If selected, this default branch name will be used "<github-userid>/<emit-from-typespec-DD-MM-HH-MM>", where `github-userid` is the user's personal GitHub ID (not the Microsoft Enterprise Managed User (EMU) account!) and `DD-MM-HHMM` is the current date-time using date, month, hour and minute. For example, if the GitHub ID is "dargilco" and the current date and time is May 1st, 2026 at 8:13am, the default branch name would be `dargilco/emit-from-typespec-01-05-0813`. This should be the default option, and the default branch name should be displayed. If you press enter without typing anything, this option will be selected.

2. **Create a new topic branch (branch name given by user)** - Ask the user for the branch name. Mention that a common format is "<github-userid>/<work-title>". If the user enters a branch name `feature/azure-ai-projects/2.2.0` then stop and report that they cannot emit directly to the current feature branch.
2. **Create a new topic branch (branch name given by user)** - Ask the user for the branch name. Mention that a common format is "<github-userid>/<work-title>". If the user enters a branch name `feature/azure-ai-projects/2.3.0` then stop and report that they cannot emit directly to the current feature branch.

3. **Emit to current branch** – Emit directly to the current branch without creating a new topic branch. This is not common, but may be necessary if the user is re-running this workflow because of a previous failure, where the topic branch was already created. If the current branch is named `feature/azure-ai-projects/2.2.0` then stop and report that they cannot emit directly to the current feature branch.
3. **Emit to current branch** – Emit directly to the current branch without creating a new topic branch. This is not common, but may be necessary if the user is re-running this workflow because of a previous failure, where the topic branch was already created. If the current branch is named `feature/azure-ai-projects/2.3.0` then stop and report that they cannot emit directly to the current feature branch.

### 1b. TypeSpec source

Expand Down Expand Up @@ -117,13 +117,9 @@ git push -u origin <topic-branch>

## Step 7: Run post-emitter fixes

After a successful emit, run the post-emitter fix script located in the `sdk/ai/azure-ai-projects` folder:
After a successful emit, run the PowerShell script named `PostEmitter.ps1` located in the `sdk/ai/azure-ai-projects` folder.

```
post-emitter-fixes.cmd
```

This script applies azure-ai-projects-specific corrections to the emitted code (restores `pyproject.toml`, fixes enum names, patches Sphinx doc-string issues, and runs `black` formatting).
This script applies azure-ai-projects specific corrections to the emitted code (restores `pyproject.toml`, fixes enum names, patches Sphinx doc-string issues, and runs `black` formatting).

**If the script fails**, stop and report the error to the user. Do not continue. Do not attempt to analyze the script failures and fix them with Copilot. The script should be fixed by the engineering team if it is not working.

Expand Down Expand Up @@ -174,14 +170,16 @@ In the folder `sdk\ai\azure-ai-projects`, run `pip install -e .` to install the

---

## Step 12: Update CHANGELOG.md
## Step 12: Run `apiview-stub-generator` to update api.md and api.metadata.yml files

In the root of the `azure-sdk-for-python` folder run the following commands

```
azpysdk apistub --md --extract-metadata azure-ai-projects --dest-dir .
```

Use the **`azsdk-common-generate-sdk-locally`** skill's changelog capability (`azsdk_package_update_changelog_content`) to update `CHANGELOG.md` in the `sdk/ai/azure-ai-projects` folder with a summary of changes from the TypeSpec emit. Some guidelines to follow:
* Start by examining the public SDK API surface of the latest released version of the azure-ai-projects package. The source code for this version can be found in the Main branch of the `azure-sdk-for-python` repository, in the folder `sdk\ai\azure-ai-projects`.
* Then compare it to the public SDK API surface of current version in this topic branch.
* Look at the existing change log from the latest version (if exists) and edit or add to it to capture all the changes you see. If a change log does not exist for the current version at the top of `CHANGELOG.md`, create a new one.
* If a new method was added, there is no need to add the list of all new classes that define the inputs and output of the method. It's enough to mention that the new method was added.
* Show the user the proposed changelog entry and ask for confirmation or edits before saving.
This will update the `api.md` and `api.metadata.yml` files under in the package folder `sdk\ai\azure-ai-projects`. Now change directory
back to the package folder.

---

Expand Down
Loading
Loading