@@ -15,7 +15,7 @@ namespace Azure.AI.Projects;
1515
1616const AgentOptimizationRequiredPreviews = #{
1717 conditional_previews : #[
18- FoundryFeaturesOptInKeys .agents_optimization_v1_preview
18+ FoundryFeaturesOptInKeys .agents_optimization_v2_preview
1919 ],
2020};
2121
@@ -28,55 +28,31 @@ const AgentOptimizationRequiredPreviews = #{
2828#suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" "LRO polling is handled by the client via Operation-Location"
2929@ tag ("AgentOptimizationJobs" )
3030interface AgentOptimizationJobs {
31- /**
32- * Creates an agent optimization job and returns the queued job.
33- * Honors `Operation-Id` for idempotent retry.
34- */
35- @ summary ("Create an agent optimization job" )
31+ @ summary ("Creates an agent optimization job." )
32+ @ doc ("Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry." )
3633 @ route ("agent_optimization_jobs" )
3734 @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
38- @ post
39- create is FoundryDataPlanePreviewOperation <
40- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
41- {
42- ... WithOperationId ;
43-
44- @ doc ("The optimization job inputs." )
45- @ body
46- inputs : OptimizationJobInputs ;
47- },
48- JobCreatedResponse <OptimizationJob >
35+ create is postJobPreview <
36+ FoundryFeaturesOptInKeys .agents_optimization_v2_preview ,
37+ OptimizationJob
4938 >;
5039
51- /**
52- * Retrieves the specified agent optimization job.
53- * Returns 202 while the job is in progress and 200 after it reaches a terminal state.
54- */
55- @ summary ("Get an agent optimization job" )
40+ @ summary ("Get info about an agent optimization job." )
41+ @ doc ("Get an optimization job by id." )
5642 @ route ("agent_optimization_jobs/{jobId}" )
5743 @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
58- @ get
59- get is FoundryDataPlanePreviewOperation <
60- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
61- {
62- /** The ID of the job. */
63- @ path jobId : string ;
64- },
65- OptimizationJob & {
66- @ statusCode _ : 200 | 202 ;
67- @ header ("Retry-After" ) retryAfter ? : int32 ;
68- }
44+ get is queryJobStatusPreview <
45+ FoundryFeaturesOptInKeys .agents_optimization_v2_preview ,
46+ OptimizationJob
6947 >;
7048
71- /**
72- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
73- */
74- @ summary ("List agent optimization jobs" )
49+ @ summary ("Returns a list of agent optimization jobs." )
50+ @ doc ("List optimization jobs. Supports cursor pagination and optional status / agent_name filters." )
7551 @ route ("agent_optimization_jobs" )
7652 @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
7753 list is listJobsPreview <
78- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
79- OptimizationJob ,
54+ FoundryFeaturesOptInKeys .agents_optimization_v2_preview ,
55+ OptimizationJobListItem ,
8056 {
8157 @ doc ("Filter to jobs in this lifecycle state." )
8258 @ query
@@ -88,175 +64,19 @@ interface AgentOptimizationJobs {
8864 }
8965 >;
9066
91- /**
92- * Requests cancellation of the specified agent optimization job.
93- * The operation remains idempotent after the job reaches a terminal state.
94- */
95- @ summary ("Cancel an agent optimization job" )
67+ @ summary ("Cancels an agent optimization job." )
68+ @ doc ("Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state." )
9669 @ route ("agent_optimization_jobs/{jobId}:cancel" )
9770 @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
9871 cancel is cancelJobPreview <
99- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
72+ FoundryFeaturesOptInKeys .agents_optimization_v2_preview ,
10073 OptimizationJob
10174 >;
10275
103- /**
104- * Deletes the specified agent optimization job and its candidate artifacts.
105- * Cancels the job first when it is still in a non-terminal state.
106- */
107- @ summary ("Delete an agent optimization job" )
76+ @ summary ("Deletes an agent optimization job." )
77+ @ doc ("Delete the job and its candidate artifacts. Cancels first if non-terminal." )
10878 @ route ("agent_optimization_jobs/{jobId}" )
10979 @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
110- @ delete
111- delete is FoundryDataPlanePreviewOperation <
112- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
113- {
114- @ doc ("The ID of the job to delete." )
115- @ path
116- jobId : string ;
117-
118- @ doc ("When true, force-delete even if the job is in a non-terminal state." )
119- @ query
120- force ? : boolean ;
121- },
122- NoContentResponse
123- >;
124-
125- // ---------------------------------------------------------------------------
126- // Candidate sub-resource operations
127- // ---------------------------------------------------------------------------
128-
129- /**
130- * Returns the candidates produced by the specified optimization job.
131- */
132- @ summary ("List optimization job candidates" )
133- @ route ("agent_optimization_jobs/{jobId}/candidates" )
134- @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
135- @ get
136- @ list
137- listCandidates is FoundryDataPlanePreviewOperation <
138- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
139- {
140- @ doc ("The optimization job id." )
141- @ path
142- jobId : string ;
80+ delete is deleteJobPreview <FoundryFeaturesOptInKeys .agents_optimization_v2_preview >;
14381
144- ... CommonPageQueryParameters ;
145- },
146- AgentsPagedResult <OptimizationCandidate >
147- >;
148-
149- /**
150- * Retrieves metadata, manifest information, and promotion details for the specified candidate.
151- */
152- @ summary ("Get an optimization candidate" )
153- @ route ("agent_optimization_jobs/{jobId}/candidates/{candidateId}" )
154- @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
155- @ get
156- getCandidate is FoundryDataPlanePreviewOperation <
157- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
158- {
159- @ doc ("The optimization job id." )
160- @ path
161- jobId : string ;
162-
163- @ doc ("The candidate id." )
164- @ path
165- candidateId : string ;
166- },
167- CandidateMetadata
168- >;
169-
170- /**
171- * Retrieves the deploy configuration JSON for the specified candidate.
172- * Clients can use it to compose `agents.create_version(...)` requests.
173- */
174- @ summary ("Get an optimization candidate config" )
175- @ route ("agent_optimization_jobs/{jobId}/candidates/{candidateId}/config" )
176- @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
177- @ get
178- getCandidateConfig is FoundryDataPlanePreviewOperation <
179- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
180- {
181- @ doc ("The optimization job id." )
182- @ path
183- jobId : string ;
184-
185- @ doc ("The candidate id." )
186- @ path
187- candidateId : string ;
188- },
189- CandidateDeployConfig
190- >;
191-
192- /**
193- * Retrieves full per-task evaluation results for the specified candidate.
194- */
195- @ summary ("Get optimization candidate results" )
196- @ route ("agent_optimization_jobs/{jobId}/candidates/{candidateId}/results" )
197- @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
198- @ get
199- getCandidateResults is FoundryDataPlanePreviewOperation <
200- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
201- {
202- @ doc ("The optimization job id." )
203- @ path
204- jobId : string ;
205-
206- @ doc ("The candidate id." )
207- @ path
208- candidateId : string ;
209- },
210- CandidateResults
211- >;
212-
213- /**
214- * Streams the specified file from the candidate's blob directory.
215- */
216- @ summary ("Get an optimization candidate file" )
217- @ route ("agent_optimization_jobs/{jobId}/candidates/{candidateId}/files" )
218- @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
219- @ get
220- getCandidateFile is FoundryDataPlanePreviewOperation <
221- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
222- {
223- @ doc ("The optimization job id." )
224- @ path
225- jobId : string ;
226-
227- @ doc ("The candidate id." )
228- @ path
229- candidateId : string ;
230-
231- @ doc ("Relative path of the file to download (e.g. 'files/examples.jsonl')." )
232- @ query
233- path : string ;
234- },
235- bytes
236- >;
237-
238- /**
239- * Promotes the specified candidate and records the deployment timestamp and target agent version.
240- */
241- @ summary ("Promote an optimization candidate" )
242- @ route ("agent_optimization_jobs/{jobId}/candidates/{candidateId}:promote" )
243- @ extension ("x-ms-foundry-meta" , AgentOptimizationRequiredPreviews )
244- @ post
245- promoteCandidate is FoundryDataPlanePreviewOperation <
246- FoundryFeaturesOptInKeys .agents_optimization_v1_preview ,
247- {
248- @ doc ("The optimization job id." )
249- @ path
250- jobId : string ;
251-
252- @ doc ("The candidate id to promote." )
253- @ path
254- candidateId : string ;
255-
256- @ doc ("Promotion details." )
257- @ body
258- candidate_request : PromoteCandidateRequest ;
259- },
260- PromoteCandidateResponse
261- >;
26282}
0 commit comments