Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
64bc29a
feat(agents): add session lifecycle CRUD API surface (#42080)
glecaros Apr 6, 2026
2335562
Add toolbox to the Agent package (#42112)
nick863 Apr 7, 2026
8e84055
Python/JS client method renames (#42149)
dargilco Apr 7, 2026
468cd62
Remove Agent Invocation operations from JS and Python SDKs (#42166)
dargilco Apr 7, 2026
45b963e
Rename ModelSamplingParams to ModelSamplingConfig for Python
dargilco Apr 7, 2026
916643b
Add threshold field to EvaluatorMetric model (#42167)
aprilk-ms Apr 7, 2026
8e1b67c
Remove operations related to Code Agent from v1, as they are not read…
dargilco Apr 8, 2026
a8ba52e
Move patch_agent_object from root Agnets to Beta Agents subclient (#4…
dargilco Apr 8, 2026
02046e9
Change skills package format from gzip to zip (#42156)
lindazqli Apr 8, 2026
815c58f
Merge branch 'main' into feature/foundry-release
glecaros Apr 9, 2026
c0c1140
Remove startPendingUpload and getCredentials from Evaluators in v1 (#…
w-javed Apr 9, 2026
d9444a6
Make AgentSessionFiles.uploadSessionFile internal for Python
dargilco Apr 10, 2026
06538c8
Remove blueprints (#42263)
dargilco Apr 10, 2026
e8d9a3a
Expect upload session file returned 201 (#42329)
howieleung Apr 13, 2026
932870c
merge session:logstream after functional confirmation
dargilco Apr 15, 2026
a7ef072
Revert or this become a breaking change (#42407)
howieleung Apr 15, 2026
7717ee7
Rename listSessionFiles to getSessionFiles (#42417)
howieleung Apr 15, 2026
9844fa3
rename patc agent func for python only (#42406)
howieleung Apr 15, 2026
32ea8cb
unremove status from AgentVersionsObject (#42425)
howieleung Apr 16, 2026
9089fef
Change status to optional in agent model (#42436)
howieleung Apr 16, 2026
dacf413
rename skill and toolbox name param (#42421)
howieleung Apr 16, 2026
64f365a
[Foundry] TelemetryConfig and TelemetryEndpoint for HostedAgents (#41…
glecaros Apr 17, 2026
1dae513
Add new paths to Agents. (#42186)
nick863 Apr 18, 2026
54a931b
Fix session file operations: rename session_id to agent_session_id, a…
ankitsul Apr 20, 2026
ca5d01d
feat(agents): restore x-agent-session-id response header on proxy end…
ankitsul Apr 20, 2026
ffd4102
Remove isolation key fields from HeaderIsolationKeySource (#42522)
andscho-msft Apr 22, 2026
4cf844b
Add read-only content_hash to hosted agent CodeConfiguration (#42575)
sagunase Apr 22, 2026
e6225fb
Add Operation-Id header support for idempotent job creation (#42573)
glecaros Apr 22, 2026
026094c
Add FabricIQ Preview tool to type spec (#42320)
elvistran Apr 23, 2026
94f9262
Rename job status to 'cancelled' (#42637)
shivamMg Apr 24, 2026
58fe6d5
Wire servicepatterns.tsp into sdk-service-agents-contracts profile (#…
sagunase Apr 27, 2026
c8a46b6
Update openapi3 files
dargilco Apr 29, 2026
3f612e0
Adding ToolboxSearchPreviewTool (#42740)
shpengmsft Apr 29, 2026
e44b4a2
Adaptive Evals: add EvaluatorGenerationJob LRO, JobSource (Prompt/Dat…
slister1001 Apr 29, 2026
536b459
Revert "Adaptive Evals: add EvaluatorGenerationJob LRO, JobSource (Pr…
glecaros Apr 29, 2026
2d1e5e0
Fixing bug - name and description are missing in few tools. (#42763)
shpengmsft Apr 29, 2026
e6a9ff3
Create a 'docs' file for markdown reports. Update/add reports
dargilco Apr 30, 2026
98a44e0
Add data gen jobs Apis and contracts (#41606)
sakoll Apr 30, 2026
f6fde1c
Rename AgentEndpoint to AgentEndpointConfig (#42754)
dargilco May 1, 2026
63dc02b
Adaptive Evals: add EvaluatorGenerationJob LRO, JobSource (Prompt/Dat…
glecaros May 2, 2026
04e0dd0
remove isolation key field that had wrong header (#42827)
andscho-msft May 4, 2026
b07f828
Fix "npx tsp compile client.tsp", and update generation job method na…
dargilco May 4, 2026
00c777e
Update OpenAPI3 files after 'npx tsp compile .'
dargilco May 4, 2026
b5d5bda
[FDP Evaluations] Multi-turn/Conversation evals (#42488)
kseager May 4, 2026
2eb6bbb
Re-gen OpenAPI3 files
dargilco May 4, 2026
f383797
Fix compile error in 'npx tsp compile client.tsp'
dargilco May 4, 2026
146c19e
Use a more descriptive input argument than "body" in emitted SDK (#42…
dargilco May 4, 2026
12d8c45
Add code download endpoints for hosted code-based agents (#42672)
sagunase May 4, 2026
1ec57ef
Remove data gen Task type option (#42867)
sakoll May 5, 2026
9c56d0f
Fix casing in 'Taxonomy' argument. Thanks Gerardo!
dargilco May 5, 2026
9923d59
Spec: add build_packages_remotely to CodeConfiguration (#42854)
sagunase May 6, 2026
43872da
Spec: include code-based agent deploy routes in v1 (#42881)
sagunase May 6, 2026
0117dc9
Token counts are always present in DataGenerationTokenUsage (#42904)
dargilco May 6, 2026
bac35fc
Update reports in the docs folder
dargilco May 6, 2026
be64955
Update openapi3 files after running `npx tsp compile .`
dargilco May 6, 2026
bc778d5
Applyt renaming for the GA 2.1.0 (#42877)
nick863 May 6, 2026
4de5d57
Relocate new agents operations to the agents beta sub-client, since t…
dargilco May 7, 2026
d3d0296
Hide code agents protocol methods (#42957)
nick863 May 7, 2026
c49cb0c
Better class & body names for Agent Code operations (#42981)
dargilco May 7, 2026
5690082
move evaluation level to openai-evaluations (#42872)
kseager May 7, 2026
96e94d6
Align WorkIQ and FabricIQ Format to A2A and MCP Tools (#42882)
elvistran May 8, 2026
8dba3c8
Additional input argument and class renames (#43004)
dargilco May 8, 2026
a2c2a17
Remove EvaluationTarget customization (#43032)
nick863 May 9, 2026
68aed50
Rename model `Target` to `EvaluationTarget` and (#43035)
dargilco May 9, 2026
720b30c
Update model typespec in Foundry project SDK (#42945)
vechillal May 11, 2026
80c8d75
Java client updates (#42892)
kaylieee May 12, 2026
efc2e54
Merge branch 'main' into feature/foundry-release
AlitzelMendez May 12, 2026
5387235
init (#43136)
MattSable May 12, 2026
b1af6d8
Add Evaluation Suite CRUD API TypeSpec (#42424)
vebudumu May 12, 2026
e05d359
Add External Agents support to Foundry API specifications
ninghu May 12, 2026
0eafaeb
update
ninghu May 12, 2026
0974d3b
Revert External Agents commits from feature/foundry-release (#43142)
ninghu May 12, 2026
09705b2
Mark EvaluationSuiteGenerationJobs as @removed(Versions.v1) (#43140)
vebudumu May 12, 2026
ee07829
Foundry: clean up data generation job typespec; hide from v1 SDK (#43…
aprilk-ms May 13, 2026
640f20d
Foundry: add pass_threshold + evaluator metadata to generation inputs…
slister1001 May 13, 2026
37cdcce
Add Foundry-Features preview opt-in header to Models operations (#43087)
vechillal May 13, 2026
999e494
Add response body to CreateModelVersionAsyncResponse (#43094)
vechillal May 13, 2026
339b4e1
Fix compile error in `npx tsp compile client.tsp`. No actual changes
dargilco May 13, 2026
6e498c0
[ResponsibleAI] Add content filter results in Agent V2 responses (#42…
glecaros May 14, 2026
fc4a8f1
Do not rename list session files operation (#43185)
dargilco May 14, 2026
3a508e3
Relocate new EvaluationSuties operations to existing beta subclient f…
dargilco May 14, 2026
278c43b
Add memory item CRUD operations (#42831)
bojunehsu May 14, 2026
58694fb
Add invocations_ws endpoint for hosted agent service (#43148)
yulin-li May 14, 2026
370d672
AgentsOptimization API TypeSpec for Foundry (#43036)
jugonzales May 14, 2026
a0225b5
ws + regen openapi
glecaros May 14, 2026
b4de814
Fix models client (#43176)
nick863 May 15, 2026
d120345
Spec: merge code download endpoints into a single operation (#43112)
sagunase May 15, 2026
05f1ba0
Remove @removed(Versions.v1) from all new operations except ManagedAg…
glecaros May 15, 2026
61b55c5
Add force query parameter to DeleteAgent and DeleteAgentVersion APIs …
ankitsul May 15, 2026
bc05929
re-introduce isolation key header (#43264)
andscho-msft May 15, 2026
5f2b590
Update force param docs: clarify Hosted Agent applicability (#43267)
ankitsul May 15, 2026
fb9bfd2
Updated tsp changes for BUILD for evaluations (#43224)
posaninagendra May 15, 2026
638fc2f
Add External Agents support to Foundry API specifications (#43143)
ninghu May 15, 2026
c24947f
adding routines (#43186)
fxs130430 May 15, 2026
6d5bf5d
Foundry memory v2 (procedural memory, TTL) (#42832)
bojunehsu May 15, 2026
7051260
Add McpToolConfig model and tool_configs field to MCPTool (#43009)
viswabalaji May 16, 2026
6564fda
Relocate new routine operations to beta subclient (Python & JS SDKs)
dargilco May 16, 2026
0a30494
Update Python & JS clients to use new operations
dargilco May 16, 2026
1483ddc
Remove conditional preview header requirement for toolboxes (#43188)
anushree1808 May 16, 2026
950fc7b
Update OpenAPI3 files after running 'npx tsp compile .'
dargilco May 18, 2026
e4466be
fix agent optimiztion jobs for emitted JS and Python SDKs. Do some cl…
dargilco May 18, 2026
edd9dae
Fix memory item CRUD to align with implementation (#43278)
bojunehsu May 18, 2026
01636bd
Revert "Fix memory item CRUD to align with implementation (#43278)" (…
glecaros May 18, 2026
0fc0f6e
Add isolation_key_source to EntraAuthorizationScheme (#43310)
andscho-msft May 18, 2026
5a3b42e
Remove container agent opt-in flag from v1 (#43300)
dargilco May 18, 2026
566e1a4
Require at least one skill for agents (#43016)
adamra-msft May 18, 2026
bb0fb8c
Fix memory item CRUD to align with implementation (#43278) (#43313)
glecaros May 19, 2026
6319cb3
Fix which 'fromCode' method we emit. Thanks Howie!
dargilco May 19, 2026
361688e
Foundry: rename Dimension.dimension_id -> id; drop category query par…
slister1001 May 19, 2026
1ea13bc
Merge branch 'feature/foundry-release' of https://github.com/Azure/az…
dargilco May 19, 2026
5571f2f
Preview operations should use "x-ms-foundry-meta" with "required_pre…
dargilco May 19, 2026
f67e069
Merge branch 'feature/foundry-release' of https://github.com/Azure/az…
dargilco May 19, 2026
2dad45d
feat(agents-session-files): add has_more, @list, and optional path to…
glecaros May 19, 2026
1027f31
Merge branch 'feature/foundry-release' of https://github.com/Azure/az…
dargilco May 19, 2026
d100f44
Revert "Merge branch 'feature/foundry-release' of https://github.com/…
dargilco May 19, 2026
7bc3c3a
Move Toolboxes operations back to a .beta client for JS and Python SDKs
dargilco May 19, 2026
97425c6
Map OpenAI.OutputItem to Record<Unknown> for JS and Python emitters. …
dargilco May 19, 2026
e382f14
Remove evaluation suites from JS and Python SDKs (#43356)
dargilco May 19, 2026
169f3b9
Add isolation key header to session crud (#43348)
andscho-msft May 19, 2026
18ccc2a
Fix typespec (#43316)
nick863 May 19, 2026
d70b666
Expose CreateAgentFromCodeOptions (#43392)
nick863 May 20, 2026
2a4f997
Add target and input_messages to evaluation suite generation inputs (…
vebudumu May 21, 2026
550bad6
Doc string missing defaults. Minor updates to Python surface. (#43431)
dargilco May 21, 2026
53fbe53
Minor TypeSpec, Python & JS renames. Does not affect OpenAPI3 files (…
dargilco May 21, 2026
a150a62
Add type spec for stop sessions (#43206)
harsheet-shah May 22, 2026
12310d9
Remove image and container_protocol_versions from HostedAgentDefiniti…
sagunase May 22, 2026
300459a
Delete specification/ai-foundry/data-plane/Foundry/openapi3/v1/micros…
baywet May 22, 2026
2d8ec07
Skills API: Versioned Skills aligned with OpenAI and agentskills.io (…
viswabalaji May 22, 2026
243b119
add missed invocations_ws into AgentProtocol (#43324)
yulin-li May 22, 2026
161f33f
Agents Optimization Alignment with APIs (#43436)
jugonzales May 24, 2026
d14162f
Remove dataset source from data generation jobs (#43448)
aprilk-ms May 25, 2026
d4bf963
Add Dan to CODEOWNERS (#43017)
dargilco May 25, 2026
0225bb9
Fix for Python & JS sdk emit (#43532)
howieleung May 27, 2026
14f1602
Add missing Beta methods to Python & JS SDKs (#43554)
dargilco May 27, 2026
900c2b5
Revert '[Update for GA] Remove conditional preview header requirement…
radhgupta May 27, 2026
79c6a9c
Restore original order of opt-in flags. Fix compile break (#43559)
dargilco May 27, 2026
4d2601a
Use 'list' for all listing methods, regardless of the REST API opeart…
dargilco May 27, 2026
5600e7f
update spec for stop api. (#43510)
harsheet-shah May 27, 2026
2c811ad
Convert agents-optimization models to snake_case (#43552)
jugonzales May 27, 2026
3aa6dae
Use better names other than 'body', since it gets emitted in SDKs (#4…
dargilco May 27, 2026
4f350d1
Update OpenAPI3 files
dargilco May 27, 2026
313c89c
Fix list session files (#43566)
dargilco May 27, 2026
10482dd
Align Foundry Routines TypeSpec contracts (#43498)
akshaya-a May 27, 2026
75d5eb2
Update names of new Skills method, for emitted Python and JS clients
dargilco May 28, 2026
b9aae18
rename Skill method 'create_from_package' to 'create_from_files' for …
dargilco May 28, 2026
40e7a68
Rename `DeleteSkillVersionResponse` for Python client
dargilco May 28, 2026
c463ca5
Ingest agents optimization. (#43567)
nick863 May 28, 2026
967f771
First (#43595)
dargilco May 28, 2026
e041b5a
Update doc strings to further clarify service-side defaults (#43598)
dargilco May 28, 2026
78b9992
Model type updates (#43597)
kaylieee May 28, 2026
d42ee21
Change name model create operation (#43603)
nick863 May 29, 2026
7856f1b
fix(agents-optimization): format route definitions for better readabi…
glecaros May 30, 2026
8073909
Kaylieee/java 2.1.0 client updates (#43064)
kaylieee Jun 1, 2026
292409d
Cleanup client.tsp file (#43670)
dargilco Jun 2, 2026
f0fbd03
Format using `npx tsp format **/*tsp`
dargilco Jun 2, 2026
85beae2
Merge remote-tracking branch 'origin/main' into feature/foundry-release
dargilco Jun 2, 2026
6aa89cf
Re-run `npx tsp format **/*tsp` after merge from Main to get updated…
dargilco Jun 2, 2026
1074371
feat(ai-foundry/eval-rules): add samplingRate to ContinuousEvaluation…
aprilk-ms Jun 2, 2026
9e5cf9f
Merge branch 'main' into feature/foundry-release
baywet Jun 3, 2026
0a36a7d
Foundry: add a local skill for consistent summary/description in OAS3…
trrwilson Jun 4, 2026
4fbc5d3
fix: avoid multiple any of entries for different response bodies in r…
baywet Jun 4, 2026
feb4ec6
fix: use range for error responses in foundry (#43493)
baywet Jun 4, 2026
8ad1001
fix: bad merge for see inline schema fix
baywet Jun 4, 2026
5e7dd54
chore: refreshes generated assets
baywet Jun 4, 2026
86a8320
fix: summary fix for delete toolbox after re-run of the skill
baywet Jun 4, 2026
45e5fc7
fix: operations get concatenated descriptions and summaries (#43661)
baywet Jun 4, 2026
5c45768
Refresh OpenAPI3 files, from running `npx tsp compile .`
dargilco Jun 4, 2026
af5969b
Re-org client files (#43750)
dargilco Jun 5, 2026
1e426c4
fix: update memory store endpoints in foundry-features-flag-summary.m…
bojunehsu Jun 5, 2026
d4d5e7c
feat(ai-foundry/evaluators): add supported_evaluation_levels + List e…
aprilk-ms Jun 5, 2026
9b66260
Compile client.tsp and compile typespec (#43800)
nick863 Jun 5, 2026
cc1ed52
Remove the line non-needed anymore (#43799)
nick863 Jun 5, 2026
b2702b4
Placeholder union for routine run status. So we can add specific stri…
dargilco Jun 8, 2026
5a1d176
Update OpenAPI3 files after running `npx tsp compile .`
dargilco Jun 8, 2026
86e9e3e
[Foundry] Add `a2a` to AgentProtocol union (#43821)
adamra-msft Jun 8, 2026
8064cca
Merge branch 'main' into feature/foundry-release
baywet Jun 8, 2026
3a27fa6
Java beta subclients refactor (#43686)
jpalvarezl Jun 9, 2026
717d5d4
add miss dependent directory (#43867)
bobogogo1990 Jun 10, 2026
cd90e06
Merge remote-tracking branch 'origin/main' into feature/foundry-release
dargilco Jun 10, 2026
e05482e
Use plugin to mark classes as experimental. (#43828)
nick863 Jun 10, 2026
357d4fa
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
nick863 Jun 10, 2026
eda9579
Update OpenAPI3 files
dargilco Jun 11, 2026
560562f
Merge branch 'main' into feature/foundry-release
baywet Jun 11, 2026
b69973d
feat: adds the ability to control tags (#43560)
baywet Jun 11, 2026
14ecca7
Merge branch 'main' into feature/foundry-release
baywet Jun 11, 2026
8719b0a
Merge remote-tracking branch 'origin/main' into feature/foundry-release
dargilco Jun 12, 2026
53b74dc
Disable plugin, because it is not ready yet. (#43943)
nick863 Jun 12, 2026
8d0c893
selective import to support python sdk generation (#43920)
baywet Jun 12, 2026
daccc7f
API Cleanup initial pass(merge sqush jugonzales/agents-optimization-v…
YoYoJa Jun 12, 2026
f88b930
Fix latest typespec for C# (#43946)
nick863 Jun 12, 2026
3849ff6
Nirovins/fix typespec (#43947)
nick863 Jun 12, 2026
4dc16d9
Fix routines timer data contract (#43949)
nick863 Jun 12, 2026
e67cdc6
Reorganizes client TypeSpec files for better structure and consistenc…
dargilco Jun 15, 2026
f0c6015
Add exact Python client renames (#43860)
dargilco Jun 16, 2026
ed97034
Remove opt-in flags, in prep for 6/30 release (#43976)
dargilco Jun 17, 2026
a33da99
Agent Enable Disable Apis (#43919)
daniel-rodrigues809 Jun 17, 2026
aaa9e86
Config for beta annotation emitter Java (#44072)
jpalvarezl Jun 18, 2026
ecdaf71
Fix deserialization of ModelPendingUploadResponse (#43618)
nick863 Jun 18, 2026
48a5270
Shorter JS/Python method names for Agent enable/disable (#44089)
dargilco Jun 18, 2026
90a82ad
feat(ai-foundry/tools): add ReminderPreviewTool type (#43620)
lindazqli Jun 19, 2026
74bb527
Replace AgentProtocol with AgentEndpointProcotol (#44050)
dargilco Jun 19, 2026
915ed3c
Add BotServiceTenant authorization scheme (#44093)
daniel-rodrigues809 Jun 19, 2026
9118c19
Add protocol_configuration to AgentEndpointConfig (#44018)
adamra-msft Jun 19, 2026
9c30d77
Decouple toolbox tool schemas (#43467)
viswabalaji Jun 19, 2026
71b4bfc
[Foundry] Session Identity & Delegation — x-ms-user-identity header +…
ankitsul Jun 19, 2026
97149e1
fix: correct RBAC permission name for x-ms-user-identity delegation (…
ankitsul Jun 22, 2026
5d781bc
Fix Python client names. Unrelated: update openapi3 files
dargilco Jun 22, 2026
945b0bf
Rename A2aProtocolConfiguration to A2AProtocolConfiguration (#44143)
dargilco Jun 22, 2026
099edb6
adding trigger payload (#44149)
fxs130430 Jun 22, 2026
e6bbd1f
Python client renames related to session file upload/download (#44114)
dargilco Jun 23, 2026
a0468f9
Fix (#44148)
nick863 Jun 24, 2026
4fb2508
feat: add x-ms-user-identity (UserDelegationHeader) to Conversation A…
ankitsul Jun 24, 2026
6740cb4
Rebase with feature/foundry-release; add send_credentials_for_agent_c…
gfitzgerald42 Jun 24, 2026
c8b6254
Rename Python Agents method to update_details (#44198)
dargilco Jun 24, 2026
4f9473d
Rename AgentEndpointProtocol to ProjectsAgentProtocol (#44202)
nick863 Jun 24, 2026
a7e9895
Fix: deprecate name, description, and tool_configs on GA tool classes…
NivedhaChellam Jun 25, 2026
32a5840
First (#44222)
dargilco Jun 25, 2026
69d2f95
Python client method renames (download_code_as_bytes, download_sessio…
dargilco Jun 26, 2026
4663907
Updating Java config for custom beta class emitters (#44163)
jpalvarezl Jun 26, 2026
ff6c484
Foundry data-plane: add `draft` flag to Agent versions
akaila Jun 25, 2026
897677f
fix: exclude tool_configs from ToolFields to prevent deprecated bleed…
NivedhaChellam Jun 26, 2026
d71150b
Mark agent draft version features as preview with AgentsDraft=V1Previ…
glecaros Jun 26, 2026
a34a850
Add extension decorators on preview models (#44235)
kaylieee Jun 26, 2026
36bbdbb
Apply renaming from the review (#44207)
nick863 Jun 26, 2026
f9303b8
Generate insights as usual. (#44256)
nick863 Jun 27, 2026
4f887f3
Add EndpointBasedEvaluatorDefinition to evaluator TypeSpec (#43903)
ahmad-nader Jun 27, 2026
8a7501b
azure-ai-agents and azure-ai-projects 2.2.0 client updates (#44204)
kaylieee Jun 29, 2026
b738a66
Merge branch 'main' into feature/foundry-release
glecaros Jun 29, 2026
5c50b69
More renames for Python client (#44297)
dargilco Jun 30, 2026
a2fcf49
refactor(ai-foundry/tools): remove obsolete agent ReminderPreviewTool…
lindazqli Jul 1, 2026
eef3ced
Fix doc string by replacing the term `isolation key` with `user ident…
dargilco Jul 1, 2026
6fc9412
Simplified parameter name for agent session operations (#44350)
jpalvarezl Jul 2, 2026
8b2631a
Move EvaluatorGenerationJobs tag under Evaluations parent (#44408)
aprilk-ms Jul 3, 2026
4adbdee
docs: adds missing tag for agent enablement operations (#44419)
baywet Jul 3, 2026
32bba25
Nirovins/use beta annotations ii (#44375)
nick863 Jul 6, 2026
803b5f9
chore: sync OpenAI operations from openai-typespec-foundry (#44422)
baywet Jul 6, 2026
fca510e
chore: refreshes generated assets
baywet Jul 6, 2026
a86723b
docs/normalize names (#44504)
baywet Jul 7, 2026
ce49695
fix/warnings (#44505)
baywet Jul 7, 2026
6a5e1f4
Add batch scripts to compile all TypeSpec entry points (#44464)
dargilco Jul 8, 2026
493cdf7
fix/additional naming (#44540)
baywet Jul 8, 2026
16c414e
chore/move directories (#44541)
baywet Jul 8, 2026
d4e0f08
Merge branch 'main' into feature/foundry-release
baywet Jul 8, 2026
4104cff
ci: additional cspell suppressions
baywet Jul 8, 2026
a6646e8
feat(ai-foundry): make hosted-agent WebSocket endpoint path-based (#4…
yulin-li Jul 13, 2026
553dab9
Adaptive Evals: add RubricGenerationInputQualityWarning and evaluator…
bonanza89 Jul 13, 2026
568e895
Add optional status field to AgentIdentity model (#44543)
daniel-rodrigues809 Jul 13, 2026
3d9afbd
feat(agents-optimization): add max_stalls to OptimizationOptions (#44…
imatiach-msft Jul 14, 2026
42366d8
Add GA toolbox search tool type (#44709)
shpengmsft Jul 16, 2026
f26360f
copy AOAI user_security_context into Foundry surface (#44775)
trrwilson Jul 17, 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
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
/dev/cognitiveservices/data-plane/Language/ @assafi @rokulka @ChongTang @heaths @deyaaeldeen @joseharriaga @minhanh-phan

# PRLabel: %Foundry %Client
/specification/ai-foundry/data-plane/Foundry @johanste @trrwilson @glecaros @balapv @dargilco
/specification/ai-foundry/data-plane/Foundry @johanste @trrwilson @glecaros @balapv @dargilco @qubitron

# PRLabel: %Analysis Services
/specification/analysisservices/ @taiwu
Expand Down
35 changes: 35 additions & 0 deletions cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,38 @@ overrides:
- filename: '/README.md'
words:
- azsdk
- filename:
- '**/ai-foundry/data-plane/Foundry/**'
- 'ai-foundry/data-plane/Foundry/**'
- 'specification/ai-foundry/data-plane/Foundry/**'
words:
- acemeco
- ahrenheit
- Buffett
- dall
- egroup
- erun
- FDOC
- ftjob
- GEICO's
- granularities
- Hsqc
- Jwfo
- Liegl
- mpga
- msid
- notificiation
- okhttp
- ouputs
- rtpmap
- SAVPF
- tcptype
- tfmt
- ufrag
- uhhm
- Vbqg
- vsfb
- webrtc
- wuzzy
- Xxulc
- Zdws
20 changes: 19 additions & 1 deletion specification/ai-foundry/cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ words:
- includable
- includables
- logprobs
- dedup
overrides:
# Red-team related terms
- filename:
Expand Down Expand Up @@ -48,6 +49,15 @@ overrides:
- filename: '**/*client*tsp'
ignoreRegExpList:
- '/@@clientName\([^\"]*\"([^\"]*)/g'
# Route documentation checker terminology
- filename: '**/data-plane/Foundry/.github/skills/foundry-route-doc-check/references/route-documentation-rules.md'
words:
- reemits
# Windows command script built-ins
- filename: '**/data-plane/Foundry/compile_all.cmd'
words:
- popd
- pushd
# Example and output patterns: ignore common false positives in examples and emission outputs
- filename:
- '**/specification/ai-foundry/data-plane/Foundry/examples'
Expand All @@ -68,4 +78,12 @@ overrides:
- '(?<=`)[^`\n]+(?=`)' # Ignore backtick-fenced literals in examples
- logit_bias
- apim-request-id
- davinci # legacy OpenAI model name
- davinci # legacy OpenAI model name
# Agents optimization terms
- filename:
- '**/specification/ai-foundry/data-plane/Foundry/src/agents-optimization'
- '**/specification/ai-foundry/data-plane/Foundry/openapi3'
- '**/specification/ai-foundry/data-plane/Foundry/stable'
- '**/specification/ai-foundry/data-plane/Foundry/preview'
words:
- Likert # Likert scale - common evaluation methodology
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
---
name: foundry-route-doc-check
license: MIT
metadata:
version: "1.6.1"
description: "Validates that all TypeSpec route operations in the AI Foundry data-plane (Foundry) domain have documentation comments and @summary decorators with correct voice, replaces documentation-required suppressions with generated documentation, and uses description override extensions when TypeSpec would concatenate noisy descriptions. USE FOR: reviewing or authoring routes.tsp and routes.generated.tsp files under specification/ai-foundry/data-plane/Foundry/src/, including nested OpenAI routes under src/openai/. DO NOT USE FOR: files outside the Foundry data-plane area, model-only .tsp files, or SDK client customization files (client.tsp)."
---

# Foundry Route Documentation Check

Ensures every TypeSpec route operation in the **AI Foundry data-plane (Foundry)** area has
proper documentation comments and `@summary` decorator tags, using the correct grammatical
voice for each.

## Scope

This skill applies **only** to files matching:

```
specification/ai-foundry/data-plane/Foundry/src/**/routes.tsp
specification/ai-foundry/data-plane/Foundry/src/**/routes.generated.tsp
```

OpenAI route files are nested under `specification/ai-foundry/data-plane/Foundry/src/openai/<area>/`.

It does **not** apply to:

- `models.tsp`, `client.tsp`, `client.*.tsp`, or `main.tsp` files
- Any `.tsp` files outside `specification/ai-foundry/data-plane/Foundry/`
- Generated OpenAPI JSON under `openapi3/`

## When to Use

- Reviewing or authoring route definitions in the Foundry data-plane area
- Pre-PR checks for missing API documentation
- Auditing existing routes for documentation completeness

## Conservative Change Policy

**Do not modify documentation that is already substantially correct.** Only flag and fix
operations that have an explicit, significant rule violation:

- Missing `@summary()` or doc comment entirely → fix
- Wrong grammatical voice (`@summary` using third-person, or doc comment using imperative) → fix
- Empty or placeholder documentation → fix
- Summary contains unnecessary filler ("all", "by id") that can be removed → fix
- Summary uses a multiline triple-quoted string, full sentence, or paragraph instead of a concise single-line phrase → fix
- Description is near-identical to the summary with no added detail → fix
- Description uses `@doc()` instead of a TSDoc `/** ... */` comment → fix
- `#suppress "@azure-tools/typespec-azure-core/documentation-required" ...` hides missing route or parameter documentation → remove the suppression and add documentation
- Multiple adjacent TSDoc comment blocks apply to the same operation or parameter → merge or remove the redundant block
- Multiple route variants or content types would cause TypeSpec to concatenate request body or parameter descriptions into noisy OpenAPI text → add the appropriate override extension with the intended final description instead of stacking TSDoc comments
- Minor wording preferences or stylistic differences that do not violate a rule → **leave unchanged**

When in doubt, leave the existing text alone.

For `routes.generated.tsp` files, it is acceptable to apply this skill's automated
rewrite directly to the generated file. The intended workflow is to run route
generation first and then run this rewrite immediately afterward, so the generated
route documentation changes are consistently reapplied and not lost overall.

## Rules

Every operation defined inside an `interface` block in a `routes.tsp` or `routes.generated.tsp` file must satisfy
**all** of the following requirements. See [route-documentation-rules.md](references/route-documentation-rules.md)
for the full rule definitions, examples, and remediation guidance.

| Rule ID | Requirement |
| ---------------- | ---------------------------------------------------------------------------------------------- |
| `FDOC-001` | **Every** operation must have a TSDoc `/** ... */` comment. Prefer TSDoc over `@doc()`. |
| `FDOC-002` | **Every** operation must have a `@summary()` decorator — no exceptions |
| `FDOC-003` | The TSDoc description must use **third-person indicative** voice ("Creates an agent"), must add meaningful detail beyond the summary, and must not be near-identical to the summary. |
| `FDOC-004` | `@summary()` must be a maximally concise, single-line **imperative** phrase ("Create an agent"). No multiline strings. No trailing period. No filler ("all", "by ID", "info about"). Must not be truncated. Always include articles. |
| `FDOC-005` | Each `@path`, `@query`, `@header`, and `@body` parameter must have a doc comment or `@doc()` |
| `FDOC-006` | Do not leave multiple adjacent TSDoc comment blocks on the same operation or parameter. TypeSpec concatenates adjacent docs into one OpenAPI `description`, which can produce malformed text. |
| `FDOC-007` | Remove `documentation-required` suppressions on routes and parameters, including auto-generated import suppressions, and replace them with generated TSDoc documentation. |
| `FDOC-008` | When TypeSpec would concatenate operation summaries/descriptions, request body descriptions, or parameter descriptions for shared routes, multiple content types, or adjacent imported docs, add the appropriate override extension with the desired final text. |

### `documentation-required` suppressions

When a route file contains a suppression for missing documentation, treat it as a fixable
documentation violation, not as an accepted exception. This includes suppressions such as:

```typespec
#suppress "@azure-tools/typespec-azure-core/documentation-required" "Auto-suppressed warnings non-applicable rules during import."
```

For each matching suppression in a scoped `routes.tsp` or `routes.generated.tsp` file:

1. Remove the `#suppress` directive.
2. Identify the operation, operation parameter, request body, query/header/path parameter, or
route-related declaration the suppression was shielding.
3. Add or repair the appropriate TSDoc documentation using rules `FDOC-001` through `FDOC-005`.
4. If the target already has a TSDoc comment or participates in a shared route / multiple-content-type request body where TypeSpec would concatenate descriptions, keep a single TSDoc comment for linter compliance and add the correct override extension.

For `@path`, `@query`, and real `@header` parameters, apply the parameter-level extension:

```typespec
@extension("x-ms-description-override", "The intended final OpenAPI description.")
```

For `@body` and `@multipartBody`, apply an operation-level request-body override because
TypeSpec does not emit parameter-level extensions onto the OpenAPI `requestBody` object:

```typespec
@extension("x-ms-request-body-description-override", "The intended final request body description.")
```

Put this operation-level extension with the operation decorators (near `@summary`, `@route`,
and `@post`). Import and use `TypeSpec.OpenAPI` if the file does not already do so.
5. Preserve unrelated suppressions and any non-documentation suppressions.
6. Do not leave the file in a state where `documentation-required` still needs to be suppressed.

### Description override extensions

Use description override extensions when the source must retain documentation for TypeSpec
linting but the emitted OpenAPI description would otherwise be noisy because TypeSpec
concatenates multiple source descriptions.

Use:

- `x-ms-summary-override` and `x-ms-description-override` on each shared-route
operation variant when TypeSpec would merge multiple operations into one OpenAPI
operation and concatenate their summaries/descriptions
- `x-ms-description-override` on `@path`, `@query`, and real `@header` parameters
- `x-ms-request-body-description-override` on the operation for `@body` and
`@multipartBody` request bodies

Common examples:

- Shared-route operation variants that combine multipart and JSON request bodies into
one OpenAPI operation, causing summaries such as
`"Create a video edit multipart Create a video edit json"`
- Shared-route request bodies that combine JSON and multipart content types into one OpenAPI `requestBody`
- Imported generated parameters where the import already contributed a generic description
- Any route parameter or request body that would emit repeated text such as `"The request body.The request body."` or `"The file id path parameter.The ID of the file."`

Prefer one concise TSDoc comment for the source declaration and one override extension with
the exact final OpenAPI text. Do not add adjacent TSDoc comments as a workaround. Do not add
`x-ms-description-override` directly to `@body` or `@multipartBody` declarations because the
OpenAPI emitter does not preserve those extensions on `requestBody`.

## Post-Edit Steps

After applying fixes to any `routes.tsp` or `routes.generated.tsp` file, **always** run the following steps in order:

### 1. Format

Run `tsp format` on the changed files to ensure consistent formatting:

```shell
npx tsp format specification/ai-foundry/data-plane/Foundry/src/**/routes.tsp specification/ai-foundry/data-plane/Foundry/src/**/routes.generated.tsp
```

### 2. Regenerate OpenAPI artifacts

Recompile the project to regenerate both JSON **and** YAML OpenAPI outputs under `openapi3/`.
Do **not** modify `tspconfig.yaml` — it already emits both file types via `file-type: [yaml, json]`.

```shell
cd specification/ai-foundry/data-plane/Foundry
npx tsp compile .
```

Verify that the files under `openapi3/{version}/` are updated for every versioned output.

## Workflow

1. **Identify** all `routes.tsp` and `routes.generated.tsp` files under `specification/ai-foundry/data-plane/Foundry/src/`
2. **Parse** each `interface` block and enumerate its operations
3. **Check** each operation against rules `FDOC-001` through `FDOC-008`
4. **Report** findings grouped by file, with rule ID, operation name, and line number
5. **Fix** only operations with explicit, significant rule violations (see Conservative Change Policy)
6. **Run `tsp format`** on all modified files
7. **Run `tsp compile .`** to regenerate JSON and YAML OpenAPI artifacts

## Output Format

Report results as a markdown table:

```markdown
| File | Operation | Rule | Finding |
| ---- | --------- | ---- | ------- |
| src/connections/routes.tsp | get | FDOC-002 | Missing `@summary()` decorator |
| src/openai/chat/routes.generated.tsp | createChatCompletion | FDOC-004 | `@summary()` uses third-person voice |
```

If all operations pass, report: ✅ All Foundry route operations are fully documented.
Loading