@ancplua/qyl-api-schema 1.0.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api/streaming.tsp CHANGED
@@ -43,8 +43,8 @@ interface StreamingApi {
43
43
  streamLogs(
44
44
  ...Qyl.Api.Contracts.ProjectScopeHeader,
45
45
  @header("Last-Event-ID") lastEventId?: string,
46
- @query serviceName?: string,
47
- @query @minValue(1) @maxValue(24) minSeverity?: int32,
46
+ @query("service_name") serviceName?: string,
47
+ @query("min_severity") @minValue(1) @maxValue(24) minSeverity?: int32,
48
48
  @query query?: string,
49
49
  ): SSEStream<LogEvents> | ValidationError | UnauthorizedError | ServiceUnavailableError | InternalServerError;
50
50
  }
@@ -0,0 +1,709 @@
1
+ import "@typespec/events";
2
+ import "@typespec/http";
3
+ import "@typespec/sse";
4
+
5
+ import "../common/errors.tsp";
6
+ import "../models/workbench.tsp";
7
+
8
+ using TypeSpec.Events;
9
+ using TypeSpec.Http;
10
+ using TypeSpec.SSE;
11
+
12
+ using Qyl.Api.Contracts.Common.Errors;
13
+ using Qyl.Api.Contracts.Workbench;
14
+
15
+ namespace TypeSpec.Http {
16
+ @doc("HttpOnly local workbench session cookie. The cookie value is never exposed by a product DTO.")
17
+ model WorkbenchSessionCookieAuth
18
+ is ApiKeyAuth<ApiKeyLocation.cookie, "qyl-workbench-session">;
19
+ }
20
+
21
+ namespace Qyl.Api.Contracts.Workbench {
22
+ @events
23
+ union WorkbenchProtocolEvents {
24
+ message: WorkbenchProtocolEvent,
25
+ }
26
+
27
+ @events
28
+ union WorkbenchExecutionUpdateEvents {
29
+ message: WorkbenchExecutionRecord,
30
+ }
31
+
32
+ @route("/workbench/session")
33
+ @tag("Workbench session")
34
+ interface WorkbenchSessionApi {
35
+ @doc("Read local session and workspace identity metadata. The session cookie value is never returned.")
36
+ @useAuth(WorkbenchSessionCookieAuth)
37
+ @get
38
+ get():
39
+ | WorkbenchSession
40
+ | UnauthorizedError
41
+ | ForbiddenError
42
+ | ServiceUnavailableError
43
+ | InternalServerError;
44
+
45
+ @doc("Bootstrap a loopback-only local session. The runtime sets qyl-workbench-session with HttpOnly and SameSite attributes, adds Secure when served over HTTPS, and never returns its value.")
46
+ @post
47
+ bootstrap():
48
+ | WorkbenchSessionBootstrapResponse
49
+ | UnauthorizedError
50
+ | ForbiddenError
51
+ | ConflictError
52
+ | ServiceUnavailableError
53
+ | InternalServerError;
54
+ }
55
+
56
+ @route("/workbench/workspaces")
57
+ @tag("Workbench workspaces")
58
+ @useAuth(WorkbenchSessionCookieAuth)
59
+ interface WorkbenchWorkspacesApi {
60
+ @get
61
+ list():
62
+ | WorkbenchWorkspaceListResponse
63
+ | UnauthorizedError
64
+ | ForbiddenError
65
+ | ServiceUnavailableError
66
+ | InternalServerError;
67
+
68
+ @post
69
+ create(@body request: WorkbenchWorkspaceCreateRequest):
70
+ | WorkbenchWorkspace
71
+ | ValidationError
72
+ | UnauthorizedError
73
+ | ForbiddenError
74
+ | ConflictError
75
+ | ServiceUnavailableError
76
+ | InternalServerError;
77
+
78
+ @get
79
+ @route("/{workspace_id}")
80
+ get(@path("workspace_id") workspaceId: WorkbenchWorkspaceId):
81
+ | WorkbenchWorkspace
82
+ | UnauthorizedError
83
+ | ForbiddenError
84
+ | NotFoundError
85
+ | ServiceUnavailableError
86
+ | InternalServerError;
87
+
88
+ @patch
89
+ @route("/{workspace_id}")
90
+ update(
91
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
92
+ @body request: WorkbenchWorkspaceUpdateRequest,
93
+ ):
94
+ | WorkbenchWorkspace
95
+ | ValidationError
96
+ | UnauthorizedError
97
+ | ForbiddenError
98
+ | NotFoundError
99
+ | ConflictError
100
+ | ServiceUnavailableError
101
+ | InternalServerError;
102
+
103
+ @delete
104
+ @route("/{workspace_id}")
105
+ delete(@path("workspace_id") workspaceId: WorkbenchWorkspaceId):
106
+ | WorkbenchDeleted
107
+ | UnauthorizedError
108
+ | ForbiddenError
109
+ | NotFoundError
110
+ | ConflictError
111
+ | ServiceUnavailableError
112
+ | InternalServerError;
113
+
114
+ @get
115
+ @route("/{workspace_id}/preferences")
116
+ getPreferences(@path("workspace_id") workspaceId: WorkbenchWorkspaceId):
117
+ | WorkbenchWorkspacePreferences
118
+ | UnauthorizedError
119
+ | ForbiddenError
120
+ | NotFoundError
121
+ | ServiceUnavailableError
122
+ | InternalServerError;
123
+
124
+ @put
125
+ @route("/{workspace_id}/preferences")
126
+ updatePreferences(
127
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
128
+ @body request: WorkbenchWorkspacePreferencesUpdateRequest,
129
+ ):
130
+ | WorkbenchWorkspacePreferences
131
+ | ValidationError
132
+ | UnauthorizedError
133
+ | ForbiddenError
134
+ | NotFoundError
135
+ | ServiceUnavailableError
136
+ | InternalServerError;
137
+ }
138
+
139
+ @route("/workbench/workspaces/{workspace_id}/servers")
140
+ @tag("Workbench MCP servers")
141
+ @useAuth(WorkbenchSessionCookieAuth)
142
+ interface WorkbenchServersApi {
143
+ @get
144
+ list(@path("workspace_id") workspaceId: WorkbenchWorkspaceId):
145
+ | WorkbenchServerListResponse
146
+ | UnauthorizedError
147
+ | ForbiddenError
148
+ | NotFoundError
149
+ | ServiceUnavailableError
150
+ | InternalServerError;
151
+
152
+ @post
153
+ create(
154
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
155
+ @body request: WorkbenchServerCreateRequest,
156
+ ):
157
+ | WorkbenchServer
158
+ | ValidationError
159
+ | UnauthorizedError
160
+ | ForbiddenError
161
+ | NotFoundError
162
+ | ConflictError
163
+ | ServiceUnavailableError
164
+ | InternalServerError;
165
+
166
+ @get
167
+ @route("/{server_id}")
168
+ get(
169
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
170
+ @path("server_id") serverId: WorkbenchServerId,
171
+ ):
172
+ | WorkbenchServer
173
+ | UnauthorizedError
174
+ | ForbiddenError
175
+ | NotFoundError
176
+ | ServiceUnavailableError
177
+ | InternalServerError;
178
+
179
+ @patch
180
+ @route("/{server_id}")
181
+ update(
182
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
183
+ @path("server_id") serverId: WorkbenchServerId,
184
+ @body request: WorkbenchServerUpdateRequest,
185
+ ):
186
+ | WorkbenchServer
187
+ | ValidationError
188
+ | UnauthorizedError
189
+ | ForbiddenError
190
+ | NotFoundError
191
+ | ConflictError
192
+ | ServiceUnavailableError
193
+ | InternalServerError;
194
+
195
+ @delete
196
+ @route("/{server_id}")
197
+ delete(
198
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
199
+ @path("server_id") serverId: WorkbenchServerId,
200
+ ):
201
+ | WorkbenchDeleted
202
+ | UnauthorizedError
203
+ | ForbiddenError
204
+ | NotFoundError
205
+ | ConflictError
206
+ | ServiceUnavailableError
207
+ | InternalServerError;
208
+
209
+ @post
210
+ @route("/{server_id}/connect")
211
+ connect(
212
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
213
+ @path("server_id") serverId: WorkbenchServerId,
214
+ ):
215
+ | WorkbenchServerActionAccepted
216
+ | UnauthorizedError
217
+ | ForbiddenError
218
+ | NotFoundError
219
+ | ConflictError
220
+ | BadGatewayError
221
+ | ServiceUnavailableError
222
+ | InternalServerError;
223
+
224
+ @post
225
+ @route("/{server_id}/disconnect")
226
+ disconnect(
227
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
228
+ @path("server_id") serverId: WorkbenchServerId,
229
+ ):
230
+ | WorkbenchServerActionAccepted
231
+ | UnauthorizedError
232
+ | ForbiddenError
233
+ | NotFoundError
234
+ | ConflictError
235
+ | ServiceUnavailableError
236
+ | InternalServerError;
237
+
238
+ @post
239
+ @route("/{server_id}/reconnect")
240
+ reconnect(
241
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
242
+ @path("server_id") serverId: WorkbenchServerId,
243
+ ):
244
+ | WorkbenchServerActionAccepted
245
+ | UnauthorizedError
246
+ | ForbiddenError
247
+ | NotFoundError
248
+ | ConflictError
249
+ | BadGatewayError
250
+ | ServiceUnavailableError
251
+ | InternalServerError;
252
+
253
+ @get
254
+ @route("/{server_id}/discovery")
255
+ discovery(
256
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
257
+ @path("server_id") serverId: WorkbenchServerId,
258
+ ):
259
+ | WorkbenchDiscoverySnapshot
260
+ | UnauthorizedError
261
+ | ForbiddenError
262
+ | NotFoundError
263
+ | ConflictError
264
+ | BadGatewayError
265
+ | ServiceUnavailableError
266
+ | InternalServerError;
267
+
268
+ @post
269
+ @route("/{server_id}/discovery/refresh")
270
+ refreshDiscovery(
271
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
272
+ @path("server_id") serverId: WorkbenchServerId,
273
+ ):
274
+ | WorkbenchDiscoverySnapshot
275
+ | UnauthorizedError
276
+ | ForbiddenError
277
+ | NotFoundError
278
+ | ConflictError
279
+ | BadGatewayError
280
+ | ServiceUnavailableError
281
+ | InternalServerError;
282
+
283
+ @get
284
+ @route("/{server_id}/protocol")
285
+ protocolEvents(
286
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
287
+ @path("server_id") serverId: WorkbenchServerId,
288
+ @query cursor?: string,
289
+
290
+ @query
291
+ @minValue(1)
292
+ @maxValue(1000)
293
+ limit?: int32 = 200,
294
+ ):
295
+ | WorkbenchProtocolEventPage
296
+ | ValidationError
297
+ | UnauthorizedError
298
+ | ForbiddenError
299
+ | NotFoundError
300
+ | ServiceUnavailableError
301
+ | InternalServerError;
302
+
303
+ @get
304
+ @route("/{server_id}/protocol/stream")
305
+ streamProtocolEvents(
306
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
307
+ @path("server_id") serverId: WorkbenchServerId,
308
+ @header("Last-Event-ID") lastEventId?: string,
309
+ ):
310
+ | SSEStream<WorkbenchProtocolEvents>
311
+ | UnauthorizedError
312
+ | ForbiddenError
313
+ | NotFoundError
314
+ | ServiceUnavailableError
315
+ | InternalServerError;
316
+ }
317
+
318
+ @route("/workbench/workspaces/{workspace_id}/servers/{server_id}/executions")
319
+ @tag("Workbench MCP executions")
320
+ @useAuth(WorkbenchSessionCookieAuth)
321
+ interface WorkbenchExecutionsApi {
322
+ @get
323
+ @route("/stream")
324
+ streamUpdates(
325
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
326
+ @path("server_id") serverId: WorkbenchServerId,
327
+ @query("execution_id") executionId?: WorkbenchExecutionId,
328
+ @header("Last-Event-ID") lastEventId?: string,
329
+ ):
330
+ | SSEStream<WorkbenchExecutionUpdateEvents>
331
+ | UnauthorizedError
332
+ | ForbiddenError
333
+ | NotFoundError
334
+ | ServiceUnavailableError
335
+ | InternalServerError;
336
+
337
+ @get
338
+ list(
339
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
340
+ @path("server_id") serverId: WorkbenchServerId,
341
+ @query status?: WorkbenchExecutionStatus,
342
+ @query cursor?: string,
343
+
344
+ @query
345
+ @minValue(1)
346
+ @maxValue(1000)
347
+ limit?: int32 = 100,
348
+ ):
349
+ | WorkbenchExecutionPage
350
+ | ValidationError
351
+ | UnauthorizedError
352
+ | ForbiddenError
353
+ | NotFoundError
354
+ | ServiceUnavailableError
355
+ | InternalServerError;
356
+
357
+ @post
358
+ start(
359
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
360
+ @path("server_id") serverId: WorkbenchServerId,
361
+ @body request: WorkbenchExecutionRequest,
362
+ ):
363
+ | WorkbenchExecutionAccepted
364
+ | ValidationError
365
+ | UnauthorizedError
366
+ | ForbiddenError
367
+ | NotFoundError
368
+ | ConflictError
369
+ | BadGatewayError
370
+ | ServiceUnavailableError
371
+ | InternalServerError;
372
+
373
+ @get
374
+ @route("/{execution_id}")
375
+ get(
376
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
377
+ @path("server_id") serverId: WorkbenchServerId,
378
+ @path("execution_id") executionId: WorkbenchExecutionId,
379
+ ):
380
+ | WorkbenchExecutionRecord
381
+ | UnauthorizedError
382
+ | ForbiddenError
383
+ | NotFoundError
384
+ | ServiceUnavailableError
385
+ | InternalServerError;
386
+
387
+ @post
388
+ @route("/{execution_id}/cancel")
389
+ cancel(
390
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
391
+ @path("server_id") serverId: WorkbenchServerId,
392
+ @path("execution_id") executionId: WorkbenchExecutionId,
393
+ @body request: WorkbenchExecutionCancelRequest,
394
+ ):
395
+ | WorkbenchExecutionAccepted
396
+ | ValidationError
397
+ | UnauthorizedError
398
+ | ForbiddenError
399
+ | NotFoundError
400
+ | ConflictError
401
+ | ServiceUnavailableError
402
+ | InternalServerError;
403
+
404
+ @get
405
+ @route("/{execution_id}/telemetry")
406
+ telemetry(
407
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
408
+ @path("server_id") serverId: WorkbenchServerId,
409
+ @path("execution_id") executionId: WorkbenchExecutionId,
410
+ ):
411
+ | WorkbenchExecutionTelemetryResponse
412
+ | UnauthorizedError
413
+ | ForbiddenError
414
+ | NotFoundError
415
+ | ServiceUnavailableError
416
+ | InternalServerError;
417
+ }
418
+
419
+ @route("/workbench/workspaces/{workspace_id}/test-cases")
420
+ @tag("Workbench MCP test cases")
421
+ @useAuth(WorkbenchSessionCookieAuth)
422
+ interface WorkbenchTestCasesApi {
423
+ @get
424
+ list(
425
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
426
+ @query("server_id") serverId?: WorkbenchServerId,
427
+ @query("tool_name") toolName?: string,
428
+ @query cursor?: string,
429
+
430
+ @query
431
+ @minValue(1)
432
+ @maxValue(1000)
433
+ limit?: int32 = 100,
434
+ ):
435
+ | WorkbenchTestCasePage
436
+ | ValidationError
437
+ | UnauthorizedError
438
+ | ForbiddenError
439
+ | NotFoundError
440
+ | ServiceUnavailableError
441
+ | InternalServerError;
442
+
443
+ @post
444
+ create(
445
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
446
+ @body request: WorkbenchTestCaseCreateRequest,
447
+ ):
448
+ | WorkbenchTestCase
449
+ | ValidationError
450
+ | UnauthorizedError
451
+ | ForbiddenError
452
+ | NotFoundError
453
+ | ConflictError
454
+ | ServiceUnavailableError
455
+ | InternalServerError;
456
+
457
+ @get
458
+ @route("/{test_case_id}")
459
+ get(
460
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
461
+ @path("test_case_id") testCaseId: WorkbenchTestCaseId,
462
+ ):
463
+ | WorkbenchTestCase
464
+ | UnauthorizedError
465
+ | ForbiddenError
466
+ | NotFoundError
467
+ | ServiceUnavailableError
468
+ | InternalServerError;
469
+
470
+ @patch
471
+ @route("/{test_case_id}")
472
+ update(
473
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
474
+ @path("test_case_id") testCaseId: WorkbenchTestCaseId,
475
+ @body request: WorkbenchTestCaseUpdateRequest,
476
+ ):
477
+ | WorkbenchTestCase
478
+ | ValidationError
479
+ | UnauthorizedError
480
+ | ForbiddenError
481
+ | NotFoundError
482
+ | ConflictError
483
+ | ServiceUnavailableError
484
+ | InternalServerError;
485
+
486
+ @delete
487
+ @route("/{test_case_id}")
488
+ delete(
489
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
490
+ @path("test_case_id") testCaseId: WorkbenchTestCaseId,
491
+ ):
492
+ | WorkbenchDeleted
493
+ | UnauthorizedError
494
+ | ForbiddenError
495
+ | NotFoundError
496
+ | ConflictError
497
+ | ServiceUnavailableError
498
+ | InternalServerError;
499
+
500
+ @post
501
+ @route("/{test_case_id}/run")
502
+ run(
503
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
504
+ @path("test_case_id") testCaseId: WorkbenchTestCaseId,
505
+ @body request: WorkbenchTestCaseRunRequest,
506
+ ):
507
+ | WorkbenchEvaluationRunAccepted
508
+ | ValidationError
509
+ | UnauthorizedError
510
+ | ForbiddenError
511
+ | NotFoundError
512
+ | ConflictError
513
+ | ServiceUnavailableError
514
+ | InternalServerError;
515
+ }
516
+
517
+ @route("/workbench/workspaces/{workspace_id}/suites")
518
+ @tag("Workbench MCP suites")
519
+ @useAuth(WorkbenchSessionCookieAuth)
520
+ interface WorkbenchSuitesApi {
521
+ @get
522
+ list(
523
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
524
+ @query cursor?: string,
525
+
526
+ @query
527
+ @minValue(1)
528
+ @maxValue(1000)
529
+ limit?: int32 = 100,
530
+ ):
531
+ | WorkbenchTestSuitePage
532
+ | ValidationError
533
+ | UnauthorizedError
534
+ | ForbiddenError
535
+ | NotFoundError
536
+ | ServiceUnavailableError
537
+ | InternalServerError;
538
+
539
+ @post
540
+ create(
541
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
542
+ @body request: WorkbenchTestSuiteCreateRequest,
543
+ ):
544
+ | WorkbenchTestSuite
545
+ | ValidationError
546
+ | UnauthorizedError
547
+ | ForbiddenError
548
+ | NotFoundError
549
+ | ConflictError
550
+ | ServiceUnavailableError
551
+ | InternalServerError;
552
+
553
+ @get
554
+ @route("/{suite_id}")
555
+ get(
556
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
557
+ @path("suite_id") suiteId: WorkbenchSuiteId,
558
+ ):
559
+ | WorkbenchTestSuite
560
+ | UnauthorizedError
561
+ | ForbiddenError
562
+ | NotFoundError
563
+ | ServiceUnavailableError
564
+ | InternalServerError;
565
+
566
+ @patch
567
+ @route("/{suite_id}")
568
+ update(
569
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
570
+ @path("suite_id") suiteId: WorkbenchSuiteId,
571
+ @body request: WorkbenchTestSuiteUpdateRequest,
572
+ ):
573
+ | WorkbenchTestSuite
574
+ | ValidationError
575
+ | UnauthorizedError
576
+ | ForbiddenError
577
+ | NotFoundError
578
+ | ConflictError
579
+ | ServiceUnavailableError
580
+ | InternalServerError;
581
+
582
+ @delete
583
+ @route("/{suite_id}")
584
+ delete(
585
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
586
+ @path("suite_id") suiteId: WorkbenchSuiteId,
587
+ ):
588
+ | WorkbenchDeleted
589
+ | UnauthorizedError
590
+ | ForbiddenError
591
+ | NotFoundError
592
+ | ConflictError
593
+ | ServiceUnavailableError
594
+ | InternalServerError;
595
+
596
+ @post
597
+ @route("/{suite_id}/run")
598
+ run(
599
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
600
+ @path("suite_id") suiteId: WorkbenchSuiteId,
601
+ @body request: WorkbenchSuiteRunRequest,
602
+ ):
603
+ | WorkbenchEvaluationRunAccepted
604
+ | ValidationError
605
+ | UnauthorizedError
606
+ | ForbiddenError
607
+ | NotFoundError
608
+ | ConflictError
609
+ | ServiceUnavailableError
610
+ | InternalServerError;
611
+ }
612
+
613
+ @route("/workbench/workspaces/{workspace_id}/evaluation-runs")
614
+ @tag("Workbench MCP evaluations")
615
+ @useAuth(WorkbenchSessionCookieAuth)
616
+ interface WorkbenchEvaluationRunsApi {
617
+ @get
618
+ list(
619
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
620
+ @query status?: WorkbenchEvaluationRunStatus,
621
+ @query cursor?: string,
622
+
623
+ @query
624
+ @minValue(1)
625
+ @maxValue(1000)
626
+ limit?: int32 = 100,
627
+ ):
628
+ | WorkbenchEvaluationRunPage
629
+ | ValidationError
630
+ | UnauthorizedError
631
+ | ForbiddenError
632
+ | NotFoundError
633
+ | ServiceUnavailableError
634
+ | InternalServerError;
635
+
636
+ @get
637
+ @route("/{evaluation_run_id}")
638
+ get(
639
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
640
+ @path("evaluation_run_id") evaluationRunId: WorkbenchEvaluationRunId,
641
+ ):
642
+ | WorkbenchEvaluationRun
643
+ | UnauthorizedError
644
+ | ForbiddenError
645
+ | NotFoundError
646
+ | ServiceUnavailableError
647
+ | InternalServerError;
648
+
649
+ @post
650
+ @route("/compare")
651
+ compare(
652
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
653
+ @body request: WorkbenchEvaluationComparisonRequest,
654
+ ):
655
+ | WorkbenchEvaluationRunComparison
656
+ | ValidationError
657
+ | UnauthorizedError
658
+ | ForbiddenError
659
+ | NotFoundError
660
+ | ConflictError
661
+ | ServiceUnavailableError
662
+ | InternalServerError;
663
+
664
+ @post
665
+ @route("/{evaluation_run_id}/export")
666
+ export(
667
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
668
+ @path("evaluation_run_id") evaluationRunId: WorkbenchEvaluationRunId,
669
+ @body request: WorkbenchEvaluationExportRequest,
670
+ ):
671
+ | WorkbenchEvaluationExportAccepted
672
+ | ValidationError
673
+ | UnauthorizedError
674
+ | ForbiddenError
675
+ | NotFoundError
676
+ | ConflictError
677
+ | ServiceUnavailableError
678
+ | InternalServerError;
679
+
680
+ @get
681
+ @route("/{evaluation_run_id}/exports/{export_id}")
682
+ getExport(
683
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
684
+ @path("evaluation_run_id") evaluationRunId: WorkbenchEvaluationRunId,
685
+ @path("export_id") exportId: WorkbenchEvaluationExportId,
686
+ ):
687
+ | WorkbenchEvaluationExport
688
+ | UnauthorizedError
689
+ | ForbiddenError
690
+ | NotFoundError
691
+ | ServiceUnavailableError
692
+ | InternalServerError;
693
+
694
+ @get
695
+ @route("/{evaluation_run_id}/exports/{export_id}/content")
696
+ getExportContent(
697
+ @path("workspace_id") workspaceId: WorkbenchWorkspaceId,
698
+ @path("evaluation_run_id") evaluationRunId: WorkbenchEvaluationRunId,
699
+ @path("export_id") exportId: WorkbenchEvaluationExportId,
700
+ ):
701
+ | WorkbenchEvaluationExportArtifact
702
+ | UnauthorizedError
703
+ | ForbiddenError
704
+ | NotFoundError
705
+ | ConflictError
706
+ | ServiceUnavailableError
707
+ | InternalServerError;
708
+ }
709
+ }