@ancplua/qyl-api-schema 1.0.4 → 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/runner.tsp CHANGED
@@ -4,20 +4,12 @@ import "@typespec/sse";
4
4
 
5
5
  import "../common/errors.tsp";
6
6
  import "../models/runner.tsp";
7
- import "../models/runner-mcp.tsp";
8
7
 
9
8
  using TypeSpec.Events;
10
9
  using TypeSpec.Http;
11
10
  using TypeSpec.SSE;
12
11
 
13
12
  using Qyl.Api.Contracts.Common.Errors;
14
- using Qyl.Api.Contracts.Runner.Mcp;
15
-
16
- namespace TypeSpec.Http {
17
- @doc("HttpOnly local runner session cookie. The cookie value is never exposed by a product DTO.")
18
- model RunnerMcpSessionCookieAuth
19
- is ApiKeyAuth<ApiKeyLocation.cookie, "qyl-mcp-session">;
20
- }
21
13
 
22
14
  namespace Qyl.Api.Contracts.Runner {
23
15
  @events
@@ -30,47 +22,11 @@ namespace Qyl.Api.Contracts.Runner {
30
22
  message: RunnerLogLine,
31
23
  }
32
24
 
33
- @events
34
- union RunnerMcpProtocolEvents {
35
- message: RunnerMcpProtocolEvent,
36
- }
37
-
38
- @events
39
- union RunnerMcpExecutionUpdateEvents {
40
- message: RunnerMcpExecutionRecord,
41
- }
42
-
43
- @route("/runner/session")
44
- @tag("Runner session")
45
- interface RunnerSessionApi {
46
- @doc("Read local session and workspace identity metadata. The session cookie value is never returned.")
47
- @useAuth(RunnerMcpSessionCookieAuth)
48
- @get
49
- get():
50
- | RunnerMcpWorkbenchSession
51
- | UnauthorizedError
52
- | ForbiddenError
53
- | ServiceUnavailableError
54
- | InternalServerError;
55
-
56
- @doc("Bootstrap a loopback-only local session. The runtime sets qyl-mcp-session with HttpOnly and SameSite attributes, adds Secure when served over HTTPS, and never returns its value.")
57
- @post
58
- bootstrap():
59
- | RunnerMcpSessionBootstrapResponse
60
- | UnauthorizedError
61
- | ForbiddenError
62
- | ConflictError
63
- | ServiceUnavailableError
64
- | InternalServerError;
65
- }
66
-
67
25
  @route("/runner/resources")
68
26
  @tag("Runner resources")
69
- @useAuth(RunnerMcpSessionCookieAuth)
70
27
  interface RunnerResourcesApi {
71
28
  @get snapshot():
72
29
  | RunnerResourceState[]
73
- | UnauthorizedError
74
30
  | ForbiddenError
75
31
  | ServiceUnavailableError
76
32
  | InternalServerError;
@@ -79,7 +35,6 @@ namespace Qyl.Api.Contracts.Runner {
79
35
  @route("/stream")
80
36
  stream():
81
37
  | SSEStream<RunnerResourceEvents>
82
- | UnauthorizedError
83
38
  | ForbiddenError
84
39
  | ServiceUnavailableError
85
40
  | InternalServerError;
@@ -88,7 +43,6 @@ namespace Qyl.Api.Contracts.Runner {
88
43
  @route("/{resource}/logs")
89
44
  logs(@path resource: string):
90
45
  | RunnerLogLine[]
91
- | UnauthorizedError
92
46
  | ForbiddenError
93
47
  | NotFoundError
94
48
  | ServiceUnavailableError
@@ -101,7 +55,6 @@ namespace Qyl.Api.Contracts.Runner {
101
55
  @header("Last-Event-ID") lastEventId?: string,
102
56
  ):
103
57
  | SSEStream<RunnerLogEvents>
104
- | UnauthorizedError
105
58
  | ForbiddenError
106
59
  | NotFoundError
107
60
  | ServiceUnavailableError
@@ -111,7 +64,6 @@ namespace Qyl.Api.Contracts.Runner {
111
64
  @route("/{resource}/restart")
112
65
  restart(@path resource: string):
113
66
  | RunnerActionAccepted
114
- | UnauthorizedError
115
67
  | ForbiddenError
116
68
  | NotFoundError
117
69
  | ConflictError
@@ -122,709 +74,6 @@ namespace Qyl.Api.Contracts.Runner {
122
74
  @route("/{resource}/stop")
123
75
  stop(@path resource: string):
124
76
  | RunnerActionAccepted
125
- | UnauthorizedError
126
- | ForbiddenError
127
- | NotFoundError
128
- | ConflictError
129
- | ServiceUnavailableError
130
- | InternalServerError;
131
- }
132
-
133
- @route("/runner/mcp/{resource}")
134
- @tag("Runner MCP")
135
- interface RunnerMcpApi {
136
- @doc("Returns the MCP SDK-owned tools/list result without redefining its protocol body.")
137
- @get
138
- @route("/tools")
139
- listTools(@path resource: string):
140
- | unknown
141
- | ForbiddenError
142
- | NotFoundError
143
- | ConflictError
144
- | BadGatewayError
145
- | ServiceUnavailableError
146
- | InternalServerError;
147
-
148
- @doc("Accepts and returns MCP SDK-owned tools/call bodies without redefining the protocol DTOs.")
149
- @post
150
- @route("/tools/call")
151
- callTool(
152
- @path resource: string,
153
- @body request: unknown,
154
- ):
155
- | unknown
156
- | ValidationError
157
- | ForbiddenError
158
- | NotFoundError
159
- | ConflictError
160
- | BadGatewayError
161
- | ServiceUnavailableError
162
- | InternalServerError;
163
-
164
- @doc("Accepts and returns MCP SDK-owned resources/read bodies without redefining the protocol DTOs.")
165
- @post
166
- @route("/resources/read")
167
- readResource(
168
- @path resource: string,
169
- @body request: unknown,
170
- ):
171
- | unknown
172
- | ValidationError
173
- | ForbiddenError
174
- | NotFoundError
175
- | ConflictError
176
- | BadGatewayError
177
- | ServiceUnavailableError
178
- | InternalServerError;
179
- }
180
-
181
- @route("/runner/workspaces")
182
- @tag("Runner workspaces")
183
- @useAuth(RunnerMcpSessionCookieAuth)
184
- interface RunnerWorkspacesApi {
185
- @get
186
- list():
187
- | RunnerMcpWorkspaceListResponse
188
- | UnauthorizedError
189
- | ForbiddenError
190
- | ServiceUnavailableError
191
- | InternalServerError;
192
-
193
- @post
194
- create(@body request: RunnerMcpWorkspaceCreateRequest):
195
- | RunnerMcpWorkspace
196
- | ValidationError
197
- | UnauthorizedError
198
- | ForbiddenError
199
- | ConflictError
200
- | ServiceUnavailableError
201
- | InternalServerError;
202
-
203
- @get
204
- @route("/{workspaceId}")
205
- get(@path workspaceId: RunnerMcpWorkspaceId):
206
- | RunnerMcpWorkspace
207
- | UnauthorizedError
208
- | ForbiddenError
209
- | NotFoundError
210
- | ServiceUnavailableError
211
- | InternalServerError;
212
-
213
- @patch
214
- @route("/{workspaceId}")
215
- update(
216
- @path workspaceId: RunnerMcpWorkspaceId,
217
- @body request: RunnerMcpWorkspaceUpdateRequest,
218
- ):
219
- | RunnerMcpWorkspace
220
- | ValidationError
221
- | UnauthorizedError
222
- | ForbiddenError
223
- | NotFoundError
224
- | ConflictError
225
- | ServiceUnavailableError
226
- | InternalServerError;
227
-
228
- @delete
229
- @route("/{workspaceId}")
230
- delete(@path workspaceId: RunnerMcpWorkspaceId):
231
- | RunnerMcpDeleted
232
- | UnauthorizedError
233
- | ForbiddenError
234
- | NotFoundError
235
- | ConflictError
236
- | ServiceUnavailableError
237
- | InternalServerError;
238
-
239
- @get
240
- @route("/{workspaceId}/preferences")
241
- getPreferences(@path workspaceId: RunnerMcpWorkspaceId):
242
- | RunnerMcpWorkspacePreferences
243
- | UnauthorizedError
244
- | ForbiddenError
245
- | NotFoundError
246
- | ServiceUnavailableError
247
- | InternalServerError;
248
-
249
- @put
250
- @route("/{workspaceId}/preferences")
251
- updatePreferences(
252
- @path workspaceId: RunnerMcpWorkspaceId,
253
- @body request: RunnerMcpWorkspacePreferencesUpdateRequest,
254
- ):
255
- | RunnerMcpWorkspacePreferences
256
- | ValidationError
257
- | UnauthorizedError
258
- | ForbiddenError
259
- | NotFoundError
260
- | ServiceUnavailableError
261
- | InternalServerError;
262
- }
263
-
264
- @route("/runner/workspaces/{workspaceId}/servers")
265
- @tag("Runner MCP servers")
266
- @useAuth(RunnerMcpSessionCookieAuth)
267
- interface RunnerMcpServersApi {
268
- @get
269
- list(@path workspaceId: RunnerMcpWorkspaceId):
270
- | RunnerMcpServerListResponse
271
- | UnauthorizedError
272
- | ForbiddenError
273
- | NotFoundError
274
- | ServiceUnavailableError
275
- | InternalServerError;
276
-
277
- @post
278
- create(
279
- @path workspaceId: RunnerMcpWorkspaceId,
280
- @body request: RunnerMcpServerCreateRequest,
281
- ):
282
- | RunnerMcpServer
283
- | ValidationError
284
- | UnauthorizedError
285
- | ForbiddenError
286
- | NotFoundError
287
- | ConflictError
288
- | ServiceUnavailableError
289
- | InternalServerError;
290
-
291
- @get
292
- @route("/{serverId}")
293
- get(
294
- @path workspaceId: RunnerMcpWorkspaceId,
295
- @path serverId: RunnerMcpServerId,
296
- ):
297
- | RunnerMcpServer
298
- | UnauthorizedError
299
- | ForbiddenError
300
- | NotFoundError
301
- | ServiceUnavailableError
302
- | InternalServerError;
303
-
304
- @patch
305
- @route("/{serverId}")
306
- update(
307
- @path workspaceId: RunnerMcpWorkspaceId,
308
- @path serverId: RunnerMcpServerId,
309
- @body request: RunnerMcpServerUpdateRequest,
310
- ):
311
- | RunnerMcpServer
312
- | ValidationError
313
- | UnauthorizedError
314
- | ForbiddenError
315
- | NotFoundError
316
- | ConflictError
317
- | ServiceUnavailableError
318
- | InternalServerError;
319
-
320
- @delete
321
- @route("/{serverId}")
322
- delete(
323
- @path workspaceId: RunnerMcpWorkspaceId,
324
- @path serverId: RunnerMcpServerId,
325
- ):
326
- | RunnerMcpDeleted
327
- | UnauthorizedError
328
- | ForbiddenError
329
- | NotFoundError
330
- | ConflictError
331
- | ServiceUnavailableError
332
- | InternalServerError;
333
-
334
- @post
335
- @route("/{serverId}/connect")
336
- connect(
337
- @path workspaceId: RunnerMcpWorkspaceId,
338
- @path serverId: RunnerMcpServerId,
339
- ):
340
- | RunnerMcpServerActionAccepted
341
- | UnauthorizedError
342
- | ForbiddenError
343
- | NotFoundError
344
- | ConflictError
345
- | BadGatewayError
346
- | ServiceUnavailableError
347
- | InternalServerError;
348
-
349
- @post
350
- @route("/{serverId}/disconnect")
351
- disconnect(
352
- @path workspaceId: RunnerMcpWorkspaceId,
353
- @path serverId: RunnerMcpServerId,
354
- ):
355
- | RunnerMcpServerActionAccepted
356
- | UnauthorizedError
357
- | ForbiddenError
358
- | NotFoundError
359
- | ConflictError
360
- | ServiceUnavailableError
361
- | InternalServerError;
362
-
363
- @post
364
- @route("/{serverId}/reconnect")
365
- reconnect(
366
- @path workspaceId: RunnerMcpWorkspaceId,
367
- @path serverId: RunnerMcpServerId,
368
- ):
369
- | RunnerMcpServerActionAccepted
370
- | UnauthorizedError
371
- | ForbiddenError
372
- | NotFoundError
373
- | ConflictError
374
- | BadGatewayError
375
- | ServiceUnavailableError
376
- | InternalServerError;
377
-
378
- @get
379
- @route("/{serverId}/discovery")
380
- discovery(
381
- @path workspaceId: RunnerMcpWorkspaceId,
382
- @path serverId: RunnerMcpServerId,
383
- ):
384
- | RunnerMcpDiscoverySnapshot
385
- | UnauthorizedError
386
- | ForbiddenError
387
- | NotFoundError
388
- | ConflictError
389
- | BadGatewayError
390
- | ServiceUnavailableError
391
- | InternalServerError;
392
-
393
- @post
394
- @route("/{serverId}/discovery/refresh")
395
- refreshDiscovery(
396
- @path workspaceId: RunnerMcpWorkspaceId,
397
- @path serverId: RunnerMcpServerId,
398
- ):
399
- | RunnerMcpDiscoverySnapshot
400
- | UnauthorizedError
401
- | ForbiddenError
402
- | NotFoundError
403
- | ConflictError
404
- | BadGatewayError
405
- | ServiceUnavailableError
406
- | InternalServerError;
407
-
408
- @get
409
- @route("/{serverId}/protocol")
410
- protocolEvents(
411
- @path workspaceId: RunnerMcpWorkspaceId,
412
- @path serverId: RunnerMcpServerId,
413
- @query cursor?: string,
414
-
415
- @query
416
- @minValue(1)
417
- @maxValue(1000)
418
- limit?: int32 = 200,
419
- ):
420
- | RunnerMcpProtocolEventPage
421
- | ValidationError
422
- | UnauthorizedError
423
- | ForbiddenError
424
- | NotFoundError
425
- | ServiceUnavailableError
426
- | InternalServerError;
427
-
428
- @get
429
- @route("/{serverId}/protocol/stream")
430
- streamProtocolEvents(
431
- @path workspaceId: RunnerMcpWorkspaceId,
432
- @path serverId: RunnerMcpServerId,
433
- @header("Last-Event-ID") lastEventId?: string,
434
- ):
435
- | SSEStream<RunnerMcpProtocolEvents>
436
- | UnauthorizedError
437
- | ForbiddenError
438
- | NotFoundError
439
- | ServiceUnavailableError
440
- | InternalServerError;
441
- }
442
-
443
- @route("/runner/workspaces/{workspaceId}/servers/{serverId}/executions")
444
- @tag("Runner MCP executions")
445
- @useAuth(RunnerMcpSessionCookieAuth)
446
- interface RunnerMcpExecutionsApi {
447
- @get
448
- @route("/stream")
449
- streamUpdates(
450
- @path workspaceId: RunnerMcpWorkspaceId,
451
- @path serverId: RunnerMcpServerId,
452
- @query executionId?: RunnerMcpExecutionId,
453
- @header("Last-Event-ID") lastEventId?: string,
454
- ):
455
- | SSEStream<RunnerMcpExecutionUpdateEvents>
456
- | UnauthorizedError
457
- | ForbiddenError
458
- | NotFoundError
459
- | ServiceUnavailableError
460
- | InternalServerError;
461
-
462
- @get
463
- list(
464
- @path workspaceId: RunnerMcpWorkspaceId,
465
- @path serverId: RunnerMcpServerId,
466
- @query status?: RunnerMcpExecutionStatus,
467
- @query cursor?: string,
468
-
469
- @query
470
- @minValue(1)
471
- @maxValue(1000)
472
- limit?: int32 = 100,
473
- ):
474
- | RunnerMcpExecutionPage
475
- | ValidationError
476
- | UnauthorizedError
477
- | ForbiddenError
478
- | NotFoundError
479
- | ServiceUnavailableError
480
- | InternalServerError;
481
-
482
- @post
483
- start(
484
- @path workspaceId: RunnerMcpWorkspaceId,
485
- @path serverId: RunnerMcpServerId,
486
- @body request: RunnerMcpExecutionRequest,
487
- ):
488
- | RunnerMcpExecutionAccepted
489
- | ValidationError
490
- | UnauthorizedError
491
- | ForbiddenError
492
- | NotFoundError
493
- | ConflictError
494
- | BadGatewayError
495
- | ServiceUnavailableError
496
- | InternalServerError;
497
-
498
- @get
499
- @route("/{executionId}")
500
- get(
501
- @path workspaceId: RunnerMcpWorkspaceId,
502
- @path serverId: RunnerMcpServerId,
503
- @path executionId: RunnerMcpExecutionId,
504
- ):
505
- | RunnerMcpExecutionRecord
506
- | UnauthorizedError
507
- | ForbiddenError
508
- | NotFoundError
509
- | ServiceUnavailableError
510
- | InternalServerError;
511
-
512
- @post
513
- @route("/{executionId}/cancel")
514
- cancel(
515
- @path workspaceId: RunnerMcpWorkspaceId,
516
- @path serverId: RunnerMcpServerId,
517
- @path executionId: RunnerMcpExecutionId,
518
- @body request: RunnerMcpExecutionCancelRequest,
519
- ):
520
- | RunnerMcpExecutionAccepted
521
- | ValidationError
522
- | UnauthorizedError
523
- | ForbiddenError
524
- | NotFoundError
525
- | ConflictError
526
- | ServiceUnavailableError
527
- | InternalServerError;
528
-
529
- @get
530
- @route("/{executionId}/telemetry")
531
- telemetry(
532
- @path workspaceId: RunnerMcpWorkspaceId,
533
- @path serverId: RunnerMcpServerId,
534
- @path executionId: RunnerMcpExecutionId,
535
- ):
536
- | RunnerMcpExecutionTelemetryResponse
537
- | UnauthorizedError
538
- | ForbiddenError
539
- | NotFoundError
540
- | ServiceUnavailableError
541
- | InternalServerError;
542
- }
543
-
544
- @route("/runner/workspaces/{workspaceId}/test-cases")
545
- @tag("Runner MCP test cases")
546
- @useAuth(RunnerMcpSessionCookieAuth)
547
- interface RunnerMcpTestCasesApi {
548
- @get
549
- list(
550
- @path workspaceId: RunnerMcpWorkspaceId,
551
- @query serverId?: RunnerMcpServerId,
552
- @query toolName?: string,
553
- @query cursor?: string,
554
-
555
- @query
556
- @minValue(1)
557
- @maxValue(1000)
558
- limit?: int32 = 100,
559
- ):
560
- | RunnerMcpTestCasePage
561
- | ValidationError
562
- | UnauthorizedError
563
- | ForbiddenError
564
- | NotFoundError
565
- | ServiceUnavailableError
566
- | InternalServerError;
567
-
568
- @post
569
- create(
570
- @path workspaceId: RunnerMcpWorkspaceId,
571
- @body request: RunnerMcpTestCaseCreateRequest,
572
- ):
573
- | RunnerMcpTestCase
574
- | ValidationError
575
- | UnauthorizedError
576
- | ForbiddenError
577
- | NotFoundError
578
- | ConflictError
579
- | ServiceUnavailableError
580
- | InternalServerError;
581
-
582
- @get
583
- @route("/{testCaseId}")
584
- get(
585
- @path workspaceId: RunnerMcpWorkspaceId,
586
- @path testCaseId: RunnerMcpTestCaseId,
587
- ):
588
- | RunnerMcpTestCase
589
- | UnauthorizedError
590
- | ForbiddenError
591
- | NotFoundError
592
- | ServiceUnavailableError
593
- | InternalServerError;
594
-
595
- @patch
596
- @route("/{testCaseId}")
597
- update(
598
- @path workspaceId: RunnerMcpWorkspaceId,
599
- @path testCaseId: RunnerMcpTestCaseId,
600
- @body request: RunnerMcpTestCaseUpdateRequest,
601
- ):
602
- | RunnerMcpTestCase
603
- | ValidationError
604
- | UnauthorizedError
605
- | ForbiddenError
606
- | NotFoundError
607
- | ConflictError
608
- | ServiceUnavailableError
609
- | InternalServerError;
610
-
611
- @delete
612
- @route("/{testCaseId}")
613
- delete(
614
- @path workspaceId: RunnerMcpWorkspaceId,
615
- @path testCaseId: RunnerMcpTestCaseId,
616
- ):
617
- | RunnerMcpDeleted
618
- | UnauthorizedError
619
- | ForbiddenError
620
- | NotFoundError
621
- | ConflictError
622
- | ServiceUnavailableError
623
- | InternalServerError;
624
-
625
- @post
626
- @route("/{testCaseId}/run")
627
- run(
628
- @path workspaceId: RunnerMcpWorkspaceId,
629
- @path testCaseId: RunnerMcpTestCaseId,
630
- @body request: RunnerMcpTestCaseRunRequest,
631
- ):
632
- | RunnerMcpEvaluationRunAccepted
633
- | ValidationError
634
- | UnauthorizedError
635
- | ForbiddenError
636
- | NotFoundError
637
- | ConflictError
638
- | ServiceUnavailableError
639
- | InternalServerError;
640
- }
641
-
642
- @route("/runner/workspaces/{workspaceId}/suites")
643
- @tag("Runner MCP suites")
644
- @useAuth(RunnerMcpSessionCookieAuth)
645
- interface RunnerMcpSuitesApi {
646
- @get
647
- list(
648
- @path workspaceId: RunnerMcpWorkspaceId,
649
- @query cursor?: string,
650
-
651
- @query
652
- @minValue(1)
653
- @maxValue(1000)
654
- limit?: int32 = 100,
655
- ):
656
- | RunnerMcpTestSuitePage
657
- | ValidationError
658
- | UnauthorizedError
659
- | ForbiddenError
660
- | NotFoundError
661
- | ServiceUnavailableError
662
- | InternalServerError;
663
-
664
- @post
665
- create(
666
- @path workspaceId: RunnerMcpWorkspaceId,
667
- @body request: RunnerMcpTestSuiteCreateRequest,
668
- ):
669
- | RunnerMcpTestSuite
670
- | ValidationError
671
- | UnauthorizedError
672
- | ForbiddenError
673
- | NotFoundError
674
- | ConflictError
675
- | ServiceUnavailableError
676
- | InternalServerError;
677
-
678
- @get
679
- @route("/{suiteId}")
680
- get(
681
- @path workspaceId: RunnerMcpWorkspaceId,
682
- @path suiteId: RunnerMcpSuiteId,
683
- ):
684
- | RunnerMcpTestSuite
685
- | UnauthorizedError
686
- | ForbiddenError
687
- | NotFoundError
688
- | ServiceUnavailableError
689
- | InternalServerError;
690
-
691
- @patch
692
- @route("/{suiteId}")
693
- update(
694
- @path workspaceId: RunnerMcpWorkspaceId,
695
- @path suiteId: RunnerMcpSuiteId,
696
- @body request: RunnerMcpTestSuiteUpdateRequest,
697
- ):
698
- | RunnerMcpTestSuite
699
- | ValidationError
700
- | UnauthorizedError
701
- | ForbiddenError
702
- | NotFoundError
703
- | ConflictError
704
- | ServiceUnavailableError
705
- | InternalServerError;
706
-
707
- @delete
708
- @route("/{suiteId}")
709
- delete(
710
- @path workspaceId: RunnerMcpWorkspaceId,
711
- @path suiteId: RunnerMcpSuiteId,
712
- ):
713
- | RunnerMcpDeleted
714
- | UnauthorizedError
715
- | ForbiddenError
716
- | NotFoundError
717
- | ConflictError
718
- | ServiceUnavailableError
719
- | InternalServerError;
720
-
721
- @post
722
- @route("/{suiteId}/run")
723
- run(
724
- @path workspaceId: RunnerMcpWorkspaceId,
725
- @path suiteId: RunnerMcpSuiteId,
726
- @body request: RunnerMcpSuiteRunRequest,
727
- ):
728
- | RunnerMcpEvaluationRunAccepted
729
- | ValidationError
730
- | UnauthorizedError
731
- | ForbiddenError
732
- | NotFoundError
733
- | ConflictError
734
- | ServiceUnavailableError
735
- | InternalServerError;
736
- }
737
-
738
- @route("/runner/workspaces/{workspaceId}/evaluation-runs")
739
- @tag("Runner MCP evaluations")
740
- @useAuth(RunnerMcpSessionCookieAuth)
741
- interface RunnerMcpEvaluationRunsApi {
742
- @get
743
- list(
744
- @path workspaceId: RunnerMcpWorkspaceId,
745
- @query status?: RunnerMcpEvaluationRunStatus,
746
- @query cursor?: string,
747
-
748
- @query
749
- @minValue(1)
750
- @maxValue(1000)
751
- limit?: int32 = 100,
752
- ):
753
- | RunnerMcpEvaluationRunPage
754
- | ValidationError
755
- | UnauthorizedError
756
- | ForbiddenError
757
- | NotFoundError
758
- | ServiceUnavailableError
759
- | InternalServerError;
760
-
761
- @get
762
- @route("/{evaluationRunId}")
763
- get(
764
- @path workspaceId: RunnerMcpWorkspaceId,
765
- @path evaluationRunId: RunnerMcpEvaluationRunId,
766
- ):
767
- | RunnerMcpEvaluationRun
768
- | UnauthorizedError
769
- | ForbiddenError
770
- | NotFoundError
771
- | ServiceUnavailableError
772
- | InternalServerError;
773
-
774
- @post
775
- @route("/compare")
776
- compare(
777
- @path workspaceId: RunnerMcpWorkspaceId,
778
- @body request: RunnerMcpEvaluationComparisonRequest,
779
- ):
780
- | RunnerMcpEvaluationRunComparison
781
- | ValidationError
782
- | UnauthorizedError
783
- | ForbiddenError
784
- | NotFoundError
785
- | ConflictError
786
- | ServiceUnavailableError
787
- | InternalServerError;
788
-
789
- @post
790
- @route("/{evaluationRunId}/export")
791
- export(
792
- @path workspaceId: RunnerMcpWorkspaceId,
793
- @path evaluationRunId: RunnerMcpEvaluationRunId,
794
- @body request: RunnerMcpEvaluationExportRequest,
795
- ):
796
- | RunnerMcpEvaluationExportAccepted
797
- | ValidationError
798
- | UnauthorizedError
799
- | ForbiddenError
800
- | NotFoundError
801
- | ConflictError
802
- | ServiceUnavailableError
803
- | InternalServerError;
804
-
805
- @get
806
- @route("/{evaluationRunId}/exports/{exportId}")
807
- getExport(
808
- @path workspaceId: RunnerMcpWorkspaceId,
809
- @path evaluationRunId: RunnerMcpEvaluationRunId,
810
- @path exportId: RunnerMcpEvaluationExportId,
811
- ):
812
- | RunnerMcpEvaluationExport
813
- | UnauthorizedError
814
- | ForbiddenError
815
- | NotFoundError
816
- | ServiceUnavailableError
817
- | InternalServerError;
818
-
819
- @get
820
- @route("/{evaluationRunId}/exports/{exportId}/content")
821
- getExportContent(
822
- @path workspaceId: RunnerMcpWorkspaceId,
823
- @path evaluationRunId: RunnerMcpEvaluationRunId,
824
- @path exportId: RunnerMcpEvaluationExportId,
825
- ):
826
- | RunnerMcpEvaluationExportArtifact
827
- | UnauthorizedError
828
77
  | ForbiddenError
829
78
  | NotFoundError
830
79
  | ConflictError