@ancplua/qyl-api-schema 0.5.2 → 0.5.4
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
|
@@ -16,47 +16,47 @@ using Qyl.Api.Contracts.Runner.Mcp;
|
|
|
16
16
|
namespace Qyl.Api.Contracts.Runner {
|
|
17
17
|
@events
|
|
18
18
|
union RunnerResourceEvents {
|
|
19
|
-
RunnerResourceState,
|
|
19
|
+
message: RunnerResourceState,
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
@events
|
|
23
23
|
union RunnerLogEvents {
|
|
24
|
-
RunnerLogLine,
|
|
24
|
+
message: RunnerLogLine,
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
@route("/runner/resources")
|
|
28
28
|
@tag("Runner resources")
|
|
29
29
|
interface RunnerResourcesApi {
|
|
30
30
|
@get
|
|
31
|
-
snapshot(): RunnerResourceState[] | InternalServerError;
|
|
31
|
+
snapshot(): RunnerResourceState[] | ForbiddenError | InternalServerError;
|
|
32
32
|
|
|
33
33
|
@get
|
|
34
34
|
@route("/stream")
|
|
35
|
-
stream(): SSEStream<RunnerResourceEvents> | InternalServerError;
|
|
35
|
+
stream(): SSEStream<RunnerResourceEvents> | ForbiddenError | InternalServerError;
|
|
36
36
|
|
|
37
37
|
@get
|
|
38
38
|
@route("/{resource}/logs")
|
|
39
39
|
logs(
|
|
40
40
|
@path resource: string,
|
|
41
|
-
): RunnerLogLine[] | NotFoundError | InternalServerError;
|
|
41
|
+
): RunnerLogLine[] | ForbiddenError | NotFoundError | InternalServerError;
|
|
42
42
|
|
|
43
43
|
@get
|
|
44
44
|
@route("/{resource}/logs/stream")
|
|
45
45
|
streamLogs(
|
|
46
46
|
@path resource: string,
|
|
47
|
-
): SSEStream<RunnerLogEvents> | NotFoundError | InternalServerError;
|
|
47
|
+
): SSEStream<RunnerLogEvents> | ForbiddenError | NotFoundError | InternalServerError;
|
|
48
48
|
|
|
49
49
|
@post
|
|
50
50
|
@route("/{resource}/restart")
|
|
51
51
|
restart(
|
|
52
52
|
@path resource: string,
|
|
53
|
-
): RunnerActionAccepted | NotFoundError | ConflictError | InternalServerError;
|
|
53
|
+
): RunnerActionAccepted | ForbiddenError | NotFoundError | ConflictError | InternalServerError;
|
|
54
54
|
|
|
55
55
|
@post
|
|
56
56
|
@route("/{resource}/stop")
|
|
57
57
|
stop(
|
|
58
58
|
@path resource: string,
|
|
59
|
-
): RunnerActionAccepted | NotFoundError | ConflictError | InternalServerError;
|
|
59
|
+
): RunnerActionAccepted | ForbiddenError | NotFoundError | ConflictError | InternalServerError;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
@route("/runner/mcp/{resource}")
|
|
@@ -67,6 +67,7 @@ namespace Qyl.Api.Contracts.Runner {
|
|
|
67
67
|
listTools(
|
|
68
68
|
@path resource: string,
|
|
69
69
|
): RunnerMcpToolsResponse
|
|
70
|
+
| ForbiddenError
|
|
70
71
|
| NotFoundError
|
|
71
72
|
| ConflictError
|
|
72
73
|
| BadGatewayError
|
|
@@ -79,6 +80,7 @@ namespace Qyl.Api.Contracts.Runner {
|
|
|
79
80
|
@body request: RunnerMcpToolCallRequest,
|
|
80
81
|
): RunnerMcpToolCallResponse
|
|
81
82
|
| ValidationError
|
|
83
|
+
| ForbiddenError
|
|
82
84
|
| NotFoundError
|
|
83
85
|
| ConflictError
|
|
84
86
|
| BadGatewayError
|
|
@@ -91,6 +93,7 @@ namespace Qyl.Api.Contracts.Runner {
|
|
|
91
93
|
@body request: RunnerMcpResourceReadRequest,
|
|
92
94
|
): RunnerMcpResourceReadResponse
|
|
93
95
|
| ValidationError
|
|
96
|
+
| ForbiddenError
|
|
94
97
|
| NotFoundError
|
|
95
98
|
| ConflictError
|
|
96
99
|
| BadGatewayError
|
package/common/errors.tsp
CHANGED
|
@@ -17,6 +17,9 @@ namespace Qyl.Api.Contracts.Common.Errors;
|
|
|
17
17
|
@doc("RFC 7807 Problem Details for HTTP APIs")
|
|
18
18
|
@error
|
|
19
19
|
model ProblemDetails {
|
|
20
|
+
@doc("RFC 7807 problem-details response media type")
|
|
21
|
+
@header contentType: "application/problem+json";
|
|
22
|
+
|
|
20
23
|
@doc("A URI reference identifying the problem type")
|
|
21
24
|
@encodedName("application/json", "type")
|
|
22
25
|
problemType: url = "about:blank";
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
}
|
|
214
214
|
},
|
|
215
215
|
"content": {
|
|
216
|
-
"application/json": {
|
|
216
|
+
"application/problem+json": {
|
|
217
217
|
"schema": {
|
|
218
218
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
219
219
|
}
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
}
|
|
247
247
|
},
|
|
248
248
|
"content": {
|
|
249
|
-
"application/json": {
|
|
249
|
+
"application/problem+json": {
|
|
250
250
|
"schema": {
|
|
251
251
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
252
252
|
}
|
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
}
|
|
273
273
|
},
|
|
274
274
|
"content": {
|
|
275
|
-
"application/json": {
|
|
275
|
+
"application/problem+json": {
|
|
276
276
|
"schema": {
|
|
277
277
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
278
278
|
}
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
}
|
|
381
381
|
},
|
|
382
382
|
"content": {
|
|
383
|
-
"application/json": {
|
|
383
|
+
"application/problem+json": {
|
|
384
384
|
"schema": {
|
|
385
385
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
386
386
|
}
|
|
@@ -413,7 +413,7 @@
|
|
|
413
413
|
}
|
|
414
414
|
},
|
|
415
415
|
"content": {
|
|
416
|
-
"application/json": {
|
|
416
|
+
"application/problem+json": {
|
|
417
417
|
"schema": {
|
|
418
418
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
419
419
|
}
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
}
|
|
440
440
|
},
|
|
441
441
|
"content": {
|
|
442
|
-
"application/json": {
|
|
442
|
+
"application/problem+json": {
|
|
443
443
|
"schema": {
|
|
444
444
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
445
445
|
}
|
|
@@ -519,7 +519,7 @@
|
|
|
519
519
|
}
|
|
520
520
|
},
|
|
521
521
|
"content": {
|
|
522
|
-
"application/json": {
|
|
522
|
+
"application/problem+json": {
|
|
523
523
|
"schema": {
|
|
524
524
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
525
525
|
}
|
|
@@ -552,7 +552,7 @@
|
|
|
552
552
|
}
|
|
553
553
|
},
|
|
554
554
|
"content": {
|
|
555
|
-
"application/json": {
|
|
555
|
+
"application/problem+json": {
|
|
556
556
|
"schema": {
|
|
557
557
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
558
558
|
}
|
|
@@ -578,7 +578,7 @@
|
|
|
578
578
|
}
|
|
579
579
|
},
|
|
580
580
|
"content": {
|
|
581
|
-
"application/json": {
|
|
581
|
+
"application/problem+json": {
|
|
582
582
|
"schema": {
|
|
583
583
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
584
584
|
}
|
|
@@ -658,7 +658,7 @@
|
|
|
658
658
|
}
|
|
659
659
|
},
|
|
660
660
|
"content": {
|
|
661
|
-
"application/json": {
|
|
661
|
+
"application/problem+json": {
|
|
662
662
|
"schema": {
|
|
663
663
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
664
664
|
}
|
|
@@ -691,7 +691,7 @@
|
|
|
691
691
|
}
|
|
692
692
|
},
|
|
693
693
|
"content": {
|
|
694
|
-
"application/json": {
|
|
694
|
+
"application/problem+json": {
|
|
695
695
|
"schema": {
|
|
696
696
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
697
697
|
}
|
|
@@ -717,7 +717,7 @@
|
|
|
717
717
|
}
|
|
718
718
|
},
|
|
719
719
|
"content": {
|
|
720
|
-
"application/json": {
|
|
720
|
+
"application/problem+json": {
|
|
721
721
|
"schema": {
|
|
722
722
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
723
723
|
}
|
|
@@ -788,7 +788,7 @@
|
|
|
788
788
|
}
|
|
789
789
|
},
|
|
790
790
|
"content": {
|
|
791
|
-
"application/json": {
|
|
791
|
+
"application/problem+json": {
|
|
792
792
|
"schema": {
|
|
793
793
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
794
794
|
}
|
|
@@ -814,7 +814,7 @@
|
|
|
814
814
|
}
|
|
815
815
|
},
|
|
816
816
|
"content": {
|
|
817
|
-
"application/json": {
|
|
817
|
+
"application/problem+json": {
|
|
818
818
|
"schema": {
|
|
819
819
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
820
820
|
}
|
|
@@ -840,7 +840,7 @@
|
|
|
840
840
|
}
|
|
841
841
|
},
|
|
842
842
|
"content": {
|
|
843
|
-
"application/json": {
|
|
843
|
+
"application/problem+json": {
|
|
844
844
|
"schema": {
|
|
845
845
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
846
846
|
}
|
|
@@ -973,7 +973,7 @@
|
|
|
973
973
|
}
|
|
974
974
|
},
|
|
975
975
|
"content": {
|
|
976
|
-
"application/json": {
|
|
976
|
+
"application/problem+json": {
|
|
977
977
|
"schema": {
|
|
978
978
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
979
979
|
}
|
|
@@ -1006,7 +1006,7 @@
|
|
|
1006
1006
|
}
|
|
1007
1007
|
},
|
|
1008
1008
|
"content": {
|
|
1009
|
-
"application/json": {
|
|
1009
|
+
"application/problem+json": {
|
|
1010
1010
|
"schema": {
|
|
1011
1011
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1012
1012
|
}
|
|
@@ -1032,7 +1032,7 @@
|
|
|
1032
1032
|
}
|
|
1033
1033
|
},
|
|
1034
1034
|
"content": {
|
|
1035
|
-
"application/json": {
|
|
1035
|
+
"application/problem+json": {
|
|
1036
1036
|
"schema": {
|
|
1037
1037
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1038
1038
|
}
|
|
@@ -1115,7 +1115,7 @@
|
|
|
1115
1115
|
}
|
|
1116
1116
|
},
|
|
1117
1117
|
"content": {
|
|
1118
|
-
"application/json": {
|
|
1118
|
+
"application/problem+json": {
|
|
1119
1119
|
"schema": {
|
|
1120
1120
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1121
1121
|
}
|
|
@@ -1141,7 +1141,7 @@
|
|
|
1141
1141
|
}
|
|
1142
1142
|
},
|
|
1143
1143
|
"content": {
|
|
1144
|
-
"application/json": {
|
|
1144
|
+
"application/problem+json": {
|
|
1145
1145
|
"schema": {
|
|
1146
1146
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1147
1147
|
}
|
|
@@ -1212,7 +1212,7 @@
|
|
|
1212
1212
|
}
|
|
1213
1213
|
},
|
|
1214
1214
|
"content": {
|
|
1215
|
-
"application/json": {
|
|
1215
|
+
"application/problem+json": {
|
|
1216
1216
|
"schema": {
|
|
1217
1217
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1218
1218
|
}
|
|
@@ -1238,7 +1238,7 @@
|
|
|
1238
1238
|
}
|
|
1239
1239
|
},
|
|
1240
1240
|
"content": {
|
|
1241
|
-
"application/json": {
|
|
1241
|
+
"application/problem+json": {
|
|
1242
1242
|
"schema": {
|
|
1243
1243
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
1244
1244
|
}
|
|
@@ -1264,7 +1264,7 @@
|
|
|
1264
1264
|
}
|
|
1265
1265
|
},
|
|
1266
1266
|
"content": {
|
|
1267
|
-
"application/json": {
|
|
1267
|
+
"application/problem+json": {
|
|
1268
1268
|
"schema": {
|
|
1269
1269
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1270
1270
|
}
|
|
@@ -1361,7 +1361,7 @@
|
|
|
1361
1361
|
}
|
|
1362
1362
|
},
|
|
1363
1363
|
"content": {
|
|
1364
|
-
"application/json": {
|
|
1364
|
+
"application/problem+json": {
|
|
1365
1365
|
"schema": {
|
|
1366
1366
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1367
1367
|
}
|
|
@@ -1387,7 +1387,7 @@
|
|
|
1387
1387
|
}
|
|
1388
1388
|
},
|
|
1389
1389
|
"content": {
|
|
1390
|
-
"application/json": {
|
|
1390
|
+
"application/problem+json": {
|
|
1391
1391
|
"schema": {
|
|
1392
1392
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
1393
1393
|
}
|
|
@@ -1413,7 +1413,7 @@
|
|
|
1413
1413
|
}
|
|
1414
1414
|
},
|
|
1415
1415
|
"content": {
|
|
1416
|
-
"application/json": {
|
|
1416
|
+
"application/problem+json": {
|
|
1417
1417
|
"schema": {
|
|
1418
1418
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1419
1419
|
}
|
|
@@ -1545,7 +1545,7 @@
|
|
|
1545
1545
|
}
|
|
1546
1546
|
},
|
|
1547
1547
|
"content": {
|
|
1548
|
-
"application/json": {
|
|
1548
|
+
"application/problem+json": {
|
|
1549
1549
|
"schema": {
|
|
1550
1550
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1551
1551
|
}
|
|
@@ -1571,7 +1571,7 @@
|
|
|
1571
1571
|
}
|
|
1572
1572
|
},
|
|
1573
1573
|
"content": {
|
|
1574
|
-
"application/json": {
|
|
1574
|
+
"application/problem+json": {
|
|
1575
1575
|
"schema": {
|
|
1576
1576
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1577
1577
|
}
|
|
@@ -1666,7 +1666,7 @@
|
|
|
1666
1666
|
}
|
|
1667
1667
|
},
|
|
1668
1668
|
"content": {
|
|
1669
|
-
"application/json": {
|
|
1669
|
+
"application/problem+json": {
|
|
1670
1670
|
"schema": {
|
|
1671
1671
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
1672
1672
|
}
|
|
@@ -1699,7 +1699,7 @@
|
|
|
1699
1699
|
}
|
|
1700
1700
|
},
|
|
1701
1701
|
"content": {
|
|
1702
|
-
"application/json": {
|
|
1702
|
+
"application/problem+json": {
|
|
1703
1703
|
"schema": {
|
|
1704
1704
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1705
1705
|
}
|
|
@@ -1725,7 +1725,7 @@
|
|
|
1725
1725
|
}
|
|
1726
1726
|
},
|
|
1727
1727
|
"content": {
|
|
1728
|
-
"application/json": {
|
|
1728
|
+
"application/problem+json": {
|
|
1729
1729
|
"schema": {
|
|
1730
1730
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1731
1731
|
}
|
|
@@ -1796,7 +1796,7 @@
|
|
|
1796
1796
|
}
|
|
1797
1797
|
},
|
|
1798
1798
|
"content": {
|
|
1799
|
-
"application/json": {
|
|
1799
|
+
"application/problem+json": {
|
|
1800
1800
|
"schema": {
|
|
1801
1801
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1802
1802
|
}
|
|
@@ -1822,7 +1822,7 @@
|
|
|
1822
1822
|
}
|
|
1823
1823
|
},
|
|
1824
1824
|
"content": {
|
|
1825
|
-
"application/json": {
|
|
1825
|
+
"application/problem+json": {
|
|
1826
1826
|
"schema": {
|
|
1827
1827
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
1828
1828
|
}
|
|
@@ -1848,7 +1848,7 @@
|
|
|
1848
1848
|
}
|
|
1849
1849
|
},
|
|
1850
1850
|
"content": {
|
|
1851
|
-
"application/json": {
|
|
1851
|
+
"application/problem+json": {
|
|
1852
1852
|
"schema": {
|
|
1853
1853
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
1854
1854
|
}
|
|
@@ -1945,7 +1945,7 @@
|
|
|
1945
1945
|
}
|
|
1946
1946
|
},
|
|
1947
1947
|
"content": {
|
|
1948
|
-
"application/json": {
|
|
1948
|
+
"application/problem+json": {
|
|
1949
1949
|
"schema": {
|
|
1950
1950
|
"$ref": "#/components/schemas/Common.Errors.UnauthorizedError"
|
|
1951
1951
|
}
|
|
@@ -1971,7 +1971,7 @@
|
|
|
1971
1971
|
}
|
|
1972
1972
|
},
|
|
1973
1973
|
"content": {
|
|
1974
|
-
"application/json": {
|
|
1974
|
+
"application/problem+json": {
|
|
1975
1975
|
"schema": {
|
|
1976
1976
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
1977
1977
|
}
|
|
@@ -1997,7 +1997,7 @@
|
|
|
1997
1997
|
}
|
|
1998
1998
|
},
|
|
1999
1999
|
"content": {
|
|
2000
|
-
"application/json": {
|
|
2000
|
+
"application/problem+json": {
|
|
2001
2001
|
"schema": {
|
|
2002
2002
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2003
2003
|
}
|
|
@@ -2089,13 +2089,39 @@
|
|
|
2089
2089
|
}
|
|
2090
2090
|
},
|
|
2091
2091
|
"content": {
|
|
2092
|
-
"application/json": {
|
|
2092
|
+
"application/problem+json": {
|
|
2093
2093
|
"schema": {
|
|
2094
2094
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
2095
2095
|
}
|
|
2096
2096
|
}
|
|
2097
2097
|
}
|
|
2098
2098
|
},
|
|
2099
|
+
"403": {
|
|
2100
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2101
|
+
"headers": {
|
|
2102
|
+
"X-Trace-Id": {
|
|
2103
|
+
"required": false,
|
|
2104
|
+
"description": "Trace ID for correlation",
|
|
2105
|
+
"schema": {
|
|
2106
|
+
"type": "string"
|
|
2107
|
+
}
|
|
2108
|
+
},
|
|
2109
|
+
"X-Request-Id": {
|
|
2110
|
+
"required": false,
|
|
2111
|
+
"description": "Request ID for support",
|
|
2112
|
+
"schema": {
|
|
2113
|
+
"type": "string"
|
|
2114
|
+
}
|
|
2115
|
+
}
|
|
2116
|
+
},
|
|
2117
|
+
"content": {
|
|
2118
|
+
"application/problem+json": {
|
|
2119
|
+
"schema": {
|
|
2120
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
}
|
|
2124
|
+
},
|
|
2099
2125
|
"404": {
|
|
2100
2126
|
"description": "Resource not found (404)",
|
|
2101
2127
|
"headers": {
|
|
@@ -2115,7 +2141,7 @@
|
|
|
2115
2141
|
}
|
|
2116
2142
|
},
|
|
2117
2143
|
"content": {
|
|
2118
|
-
"application/json": {
|
|
2144
|
+
"application/problem+json": {
|
|
2119
2145
|
"schema": {
|
|
2120
2146
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2121
2147
|
}
|
|
@@ -2141,7 +2167,7 @@
|
|
|
2141
2167
|
}
|
|
2142
2168
|
},
|
|
2143
2169
|
"content": {
|
|
2144
|
-
"application/json": {
|
|
2170
|
+
"application/problem+json": {
|
|
2145
2171
|
"schema": {
|
|
2146
2172
|
"$ref": "#/components/schemas/Common.Errors.ConflictError"
|
|
2147
2173
|
}
|
|
@@ -2167,7 +2193,7 @@
|
|
|
2167
2193
|
}
|
|
2168
2194
|
},
|
|
2169
2195
|
"content": {
|
|
2170
|
-
"application/json": {
|
|
2196
|
+
"application/problem+json": {
|
|
2171
2197
|
"schema": {
|
|
2172
2198
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2173
2199
|
}
|
|
@@ -2193,7 +2219,7 @@
|
|
|
2193
2219
|
}
|
|
2194
2220
|
},
|
|
2195
2221
|
"content": {
|
|
2196
|
-
"application/json": {
|
|
2222
|
+
"application/problem+json": {
|
|
2197
2223
|
"schema": {
|
|
2198
2224
|
"$ref": "#/components/schemas/Common.Errors.BadGatewayError"
|
|
2199
2225
|
}
|
|
@@ -2240,6 +2266,32 @@
|
|
|
2240
2266
|
}
|
|
2241
2267
|
}
|
|
2242
2268
|
},
|
|
2269
|
+
"403": {
|
|
2270
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2271
|
+
"headers": {
|
|
2272
|
+
"X-Trace-Id": {
|
|
2273
|
+
"required": false,
|
|
2274
|
+
"description": "Trace ID for correlation",
|
|
2275
|
+
"schema": {
|
|
2276
|
+
"type": "string"
|
|
2277
|
+
}
|
|
2278
|
+
},
|
|
2279
|
+
"X-Request-Id": {
|
|
2280
|
+
"required": false,
|
|
2281
|
+
"description": "Request ID for support",
|
|
2282
|
+
"schema": {
|
|
2283
|
+
"type": "string"
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
},
|
|
2287
|
+
"content": {
|
|
2288
|
+
"application/problem+json": {
|
|
2289
|
+
"schema": {
|
|
2290
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2291
|
+
}
|
|
2292
|
+
}
|
|
2293
|
+
}
|
|
2294
|
+
},
|
|
2243
2295
|
"404": {
|
|
2244
2296
|
"description": "Resource not found (404)",
|
|
2245
2297
|
"headers": {
|
|
@@ -2259,7 +2311,7 @@
|
|
|
2259
2311
|
}
|
|
2260
2312
|
},
|
|
2261
2313
|
"content": {
|
|
2262
|
-
"application/json": {
|
|
2314
|
+
"application/problem+json": {
|
|
2263
2315
|
"schema": {
|
|
2264
2316
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2265
2317
|
}
|
|
@@ -2285,7 +2337,7 @@
|
|
|
2285
2337
|
}
|
|
2286
2338
|
},
|
|
2287
2339
|
"content": {
|
|
2288
|
-
"application/json": {
|
|
2340
|
+
"application/problem+json": {
|
|
2289
2341
|
"schema": {
|
|
2290
2342
|
"$ref": "#/components/schemas/Common.Errors.ConflictError"
|
|
2291
2343
|
}
|
|
@@ -2311,7 +2363,7 @@
|
|
|
2311
2363
|
}
|
|
2312
2364
|
},
|
|
2313
2365
|
"content": {
|
|
2314
|
-
"application/json": {
|
|
2366
|
+
"application/problem+json": {
|
|
2315
2367
|
"schema": {
|
|
2316
2368
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2317
2369
|
}
|
|
@@ -2337,7 +2389,7 @@
|
|
|
2337
2389
|
}
|
|
2338
2390
|
},
|
|
2339
2391
|
"content": {
|
|
2340
|
-
"application/json": {
|
|
2392
|
+
"application/problem+json": {
|
|
2341
2393
|
"schema": {
|
|
2342
2394
|
"$ref": "#/components/schemas/Common.Errors.BadGatewayError"
|
|
2343
2395
|
}
|
|
@@ -2393,13 +2445,39 @@
|
|
|
2393
2445
|
}
|
|
2394
2446
|
},
|
|
2395
2447
|
"content": {
|
|
2396
|
-
"application/json": {
|
|
2448
|
+
"application/problem+json": {
|
|
2397
2449
|
"schema": {
|
|
2398
2450
|
"$ref": "#/components/schemas/Common.Errors.ValidationError"
|
|
2399
2451
|
}
|
|
2400
2452
|
}
|
|
2401
2453
|
}
|
|
2402
2454
|
},
|
|
2455
|
+
"403": {
|
|
2456
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2457
|
+
"headers": {
|
|
2458
|
+
"X-Trace-Id": {
|
|
2459
|
+
"required": false,
|
|
2460
|
+
"description": "Trace ID for correlation",
|
|
2461
|
+
"schema": {
|
|
2462
|
+
"type": "string"
|
|
2463
|
+
}
|
|
2464
|
+
},
|
|
2465
|
+
"X-Request-Id": {
|
|
2466
|
+
"required": false,
|
|
2467
|
+
"description": "Request ID for support",
|
|
2468
|
+
"schema": {
|
|
2469
|
+
"type": "string"
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
},
|
|
2473
|
+
"content": {
|
|
2474
|
+
"application/problem+json": {
|
|
2475
|
+
"schema": {
|
|
2476
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2477
|
+
}
|
|
2478
|
+
}
|
|
2479
|
+
}
|
|
2480
|
+
},
|
|
2403
2481
|
"404": {
|
|
2404
2482
|
"description": "Resource not found (404)",
|
|
2405
2483
|
"headers": {
|
|
@@ -2419,7 +2497,7 @@
|
|
|
2419
2497
|
}
|
|
2420
2498
|
},
|
|
2421
2499
|
"content": {
|
|
2422
|
-
"application/json": {
|
|
2500
|
+
"application/problem+json": {
|
|
2423
2501
|
"schema": {
|
|
2424
2502
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2425
2503
|
}
|
|
@@ -2445,7 +2523,7 @@
|
|
|
2445
2523
|
}
|
|
2446
2524
|
},
|
|
2447
2525
|
"content": {
|
|
2448
|
-
"application/json": {
|
|
2526
|
+
"application/problem+json": {
|
|
2449
2527
|
"schema": {
|
|
2450
2528
|
"$ref": "#/components/schemas/Common.Errors.ConflictError"
|
|
2451
2529
|
}
|
|
@@ -2471,7 +2549,7 @@
|
|
|
2471
2549
|
}
|
|
2472
2550
|
},
|
|
2473
2551
|
"content": {
|
|
2474
|
-
"application/json": {
|
|
2552
|
+
"application/problem+json": {
|
|
2475
2553
|
"schema": {
|
|
2476
2554
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2477
2555
|
}
|
|
@@ -2497,7 +2575,7 @@
|
|
|
2497
2575
|
}
|
|
2498
2576
|
},
|
|
2499
2577
|
"content": {
|
|
2500
|
-
"application/json": {
|
|
2578
|
+
"application/problem+json": {
|
|
2501
2579
|
"schema": {
|
|
2502
2580
|
"$ref": "#/components/schemas/Common.Errors.BadGatewayError"
|
|
2503
2581
|
}
|
|
@@ -2538,6 +2616,32 @@
|
|
|
2538
2616
|
}
|
|
2539
2617
|
}
|
|
2540
2618
|
},
|
|
2619
|
+
"403": {
|
|
2620
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2621
|
+
"headers": {
|
|
2622
|
+
"X-Trace-Id": {
|
|
2623
|
+
"required": false,
|
|
2624
|
+
"description": "Trace ID for correlation",
|
|
2625
|
+
"schema": {
|
|
2626
|
+
"type": "string"
|
|
2627
|
+
}
|
|
2628
|
+
},
|
|
2629
|
+
"X-Request-Id": {
|
|
2630
|
+
"required": false,
|
|
2631
|
+
"description": "Request ID for support",
|
|
2632
|
+
"schema": {
|
|
2633
|
+
"type": "string"
|
|
2634
|
+
}
|
|
2635
|
+
}
|
|
2636
|
+
},
|
|
2637
|
+
"content": {
|
|
2638
|
+
"application/problem+json": {
|
|
2639
|
+
"schema": {
|
|
2640
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2641
|
+
}
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
},
|
|
2541
2645
|
"500": {
|
|
2542
2646
|
"description": "Internal server error (500)",
|
|
2543
2647
|
"headers": {
|
|
@@ -2557,7 +2661,7 @@
|
|
|
2557
2661
|
}
|
|
2558
2662
|
},
|
|
2559
2663
|
"content": {
|
|
2560
|
-
"application/json": {
|
|
2664
|
+
"application/problem+json": {
|
|
2561
2665
|
"schema": {
|
|
2562
2666
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2563
2667
|
}
|
|
@@ -2600,6 +2704,9 @@
|
|
|
2600
2704
|
"contentSchema": {
|
|
2601
2705
|
"$ref": "#/components/schemas/Runner.RunnerResourceState"
|
|
2602
2706
|
}
|
|
2707
|
+
},
|
|
2708
|
+
"event": {
|
|
2709
|
+
"const": "message"
|
|
2603
2710
|
}
|
|
2604
2711
|
}
|
|
2605
2712
|
}
|
|
@@ -2608,6 +2715,32 @@
|
|
|
2608
2715
|
}
|
|
2609
2716
|
}
|
|
2610
2717
|
},
|
|
2718
|
+
"403": {
|
|
2719
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2720
|
+
"headers": {
|
|
2721
|
+
"X-Trace-Id": {
|
|
2722
|
+
"required": false,
|
|
2723
|
+
"description": "Trace ID for correlation",
|
|
2724
|
+
"schema": {
|
|
2725
|
+
"type": "string"
|
|
2726
|
+
}
|
|
2727
|
+
},
|
|
2728
|
+
"X-Request-Id": {
|
|
2729
|
+
"required": false,
|
|
2730
|
+
"description": "Request ID for support",
|
|
2731
|
+
"schema": {
|
|
2732
|
+
"type": "string"
|
|
2733
|
+
}
|
|
2734
|
+
}
|
|
2735
|
+
},
|
|
2736
|
+
"content": {
|
|
2737
|
+
"application/problem+json": {
|
|
2738
|
+
"schema": {
|
|
2739
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2740
|
+
}
|
|
2741
|
+
}
|
|
2742
|
+
}
|
|
2743
|
+
},
|
|
2611
2744
|
"500": {
|
|
2612
2745
|
"description": "Internal server error (500)",
|
|
2613
2746
|
"headers": {
|
|
@@ -2627,7 +2760,7 @@
|
|
|
2627
2760
|
}
|
|
2628
2761
|
},
|
|
2629
2762
|
"content": {
|
|
2630
|
-
"application/json": {
|
|
2763
|
+
"application/problem+json": {
|
|
2631
2764
|
"schema": {
|
|
2632
2765
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2633
2766
|
}
|
|
@@ -2667,6 +2800,32 @@
|
|
|
2667
2800
|
}
|
|
2668
2801
|
}
|
|
2669
2802
|
},
|
|
2803
|
+
"403": {
|
|
2804
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2805
|
+
"headers": {
|
|
2806
|
+
"X-Trace-Id": {
|
|
2807
|
+
"required": false,
|
|
2808
|
+
"description": "Trace ID for correlation",
|
|
2809
|
+
"schema": {
|
|
2810
|
+
"type": "string"
|
|
2811
|
+
}
|
|
2812
|
+
},
|
|
2813
|
+
"X-Request-Id": {
|
|
2814
|
+
"required": false,
|
|
2815
|
+
"description": "Request ID for support",
|
|
2816
|
+
"schema": {
|
|
2817
|
+
"type": "string"
|
|
2818
|
+
}
|
|
2819
|
+
}
|
|
2820
|
+
},
|
|
2821
|
+
"content": {
|
|
2822
|
+
"application/problem+json": {
|
|
2823
|
+
"schema": {
|
|
2824
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2825
|
+
}
|
|
2826
|
+
}
|
|
2827
|
+
}
|
|
2828
|
+
},
|
|
2670
2829
|
"404": {
|
|
2671
2830
|
"description": "Resource not found (404)",
|
|
2672
2831
|
"headers": {
|
|
@@ -2686,7 +2845,7 @@
|
|
|
2686
2845
|
}
|
|
2687
2846
|
},
|
|
2688
2847
|
"content": {
|
|
2689
|
-
"application/json": {
|
|
2848
|
+
"application/problem+json": {
|
|
2690
2849
|
"schema": {
|
|
2691
2850
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2692
2851
|
}
|
|
@@ -2712,7 +2871,7 @@
|
|
|
2712
2871
|
}
|
|
2713
2872
|
},
|
|
2714
2873
|
"content": {
|
|
2715
|
-
"application/json": {
|
|
2874
|
+
"application/problem+json": {
|
|
2716
2875
|
"schema": {
|
|
2717
2876
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2718
2877
|
}
|
|
@@ -2764,6 +2923,9 @@
|
|
|
2764
2923
|
"contentSchema": {
|
|
2765
2924
|
"$ref": "#/components/schemas/Runner.RunnerLogLine"
|
|
2766
2925
|
}
|
|
2926
|
+
},
|
|
2927
|
+
"event": {
|
|
2928
|
+
"const": "message"
|
|
2767
2929
|
}
|
|
2768
2930
|
}
|
|
2769
2931
|
}
|
|
@@ -2772,6 +2934,32 @@
|
|
|
2772
2934
|
}
|
|
2773
2935
|
}
|
|
2774
2936
|
},
|
|
2937
|
+
"403": {
|
|
2938
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
2939
|
+
"headers": {
|
|
2940
|
+
"X-Trace-Id": {
|
|
2941
|
+
"required": false,
|
|
2942
|
+
"description": "Trace ID for correlation",
|
|
2943
|
+
"schema": {
|
|
2944
|
+
"type": "string"
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2947
|
+
"X-Request-Id": {
|
|
2948
|
+
"required": false,
|
|
2949
|
+
"description": "Request ID for support",
|
|
2950
|
+
"schema": {
|
|
2951
|
+
"type": "string"
|
|
2952
|
+
}
|
|
2953
|
+
}
|
|
2954
|
+
},
|
|
2955
|
+
"content": {
|
|
2956
|
+
"application/problem+json": {
|
|
2957
|
+
"schema": {
|
|
2958
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
2959
|
+
}
|
|
2960
|
+
}
|
|
2961
|
+
}
|
|
2962
|
+
},
|
|
2775
2963
|
"404": {
|
|
2776
2964
|
"description": "Resource not found (404)",
|
|
2777
2965
|
"headers": {
|
|
@@ -2791,7 +2979,7 @@
|
|
|
2791
2979
|
}
|
|
2792
2980
|
},
|
|
2793
2981
|
"content": {
|
|
2794
|
-
"application/json": {
|
|
2982
|
+
"application/problem+json": {
|
|
2795
2983
|
"schema": {
|
|
2796
2984
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2797
2985
|
}
|
|
@@ -2817,7 +3005,7 @@
|
|
|
2817
3005
|
}
|
|
2818
3006
|
},
|
|
2819
3007
|
"content": {
|
|
2820
|
-
"application/json": {
|
|
3008
|
+
"application/problem+json": {
|
|
2821
3009
|
"schema": {
|
|
2822
3010
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2823
3011
|
}
|
|
@@ -2847,6 +3035,32 @@
|
|
|
2847
3035
|
"202": {
|
|
2848
3036
|
"description": "A runner lifecycle action was accepted and continues asynchronously."
|
|
2849
3037
|
},
|
|
3038
|
+
"403": {
|
|
3039
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
3040
|
+
"headers": {
|
|
3041
|
+
"X-Trace-Id": {
|
|
3042
|
+
"required": false,
|
|
3043
|
+
"description": "Trace ID for correlation",
|
|
3044
|
+
"schema": {
|
|
3045
|
+
"type": "string"
|
|
3046
|
+
}
|
|
3047
|
+
},
|
|
3048
|
+
"X-Request-Id": {
|
|
3049
|
+
"required": false,
|
|
3050
|
+
"description": "Request ID for support",
|
|
3051
|
+
"schema": {
|
|
3052
|
+
"type": "string"
|
|
3053
|
+
}
|
|
3054
|
+
}
|
|
3055
|
+
},
|
|
3056
|
+
"content": {
|
|
3057
|
+
"application/problem+json": {
|
|
3058
|
+
"schema": {
|
|
3059
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
3060
|
+
}
|
|
3061
|
+
}
|
|
3062
|
+
}
|
|
3063
|
+
},
|
|
2850
3064
|
"404": {
|
|
2851
3065
|
"description": "Resource not found (404)",
|
|
2852
3066
|
"headers": {
|
|
@@ -2866,7 +3080,7 @@
|
|
|
2866
3080
|
}
|
|
2867
3081
|
},
|
|
2868
3082
|
"content": {
|
|
2869
|
-
"application/json": {
|
|
3083
|
+
"application/problem+json": {
|
|
2870
3084
|
"schema": {
|
|
2871
3085
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2872
3086
|
}
|
|
@@ -2892,7 +3106,7 @@
|
|
|
2892
3106
|
}
|
|
2893
3107
|
},
|
|
2894
3108
|
"content": {
|
|
2895
|
-
"application/json": {
|
|
3109
|
+
"application/problem+json": {
|
|
2896
3110
|
"schema": {
|
|
2897
3111
|
"$ref": "#/components/schemas/Common.Errors.ConflictError"
|
|
2898
3112
|
}
|
|
@@ -2918,7 +3132,7 @@
|
|
|
2918
3132
|
}
|
|
2919
3133
|
},
|
|
2920
3134
|
"content": {
|
|
2921
|
-
"application/json": {
|
|
3135
|
+
"application/problem+json": {
|
|
2922
3136
|
"schema": {
|
|
2923
3137
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
2924
3138
|
}
|
|
@@ -2948,6 +3162,32 @@
|
|
|
2948
3162
|
"202": {
|
|
2949
3163
|
"description": "A runner lifecycle action was accepted and continues asynchronously."
|
|
2950
3164
|
},
|
|
3165
|
+
"403": {
|
|
3166
|
+
"description": "Forbidden - insufficient permissions (403)",
|
|
3167
|
+
"headers": {
|
|
3168
|
+
"X-Trace-Id": {
|
|
3169
|
+
"required": false,
|
|
3170
|
+
"description": "Trace ID for correlation",
|
|
3171
|
+
"schema": {
|
|
3172
|
+
"type": "string"
|
|
3173
|
+
}
|
|
3174
|
+
},
|
|
3175
|
+
"X-Request-Id": {
|
|
3176
|
+
"required": false,
|
|
3177
|
+
"description": "Request ID for support",
|
|
3178
|
+
"schema": {
|
|
3179
|
+
"type": "string"
|
|
3180
|
+
}
|
|
3181
|
+
}
|
|
3182
|
+
},
|
|
3183
|
+
"content": {
|
|
3184
|
+
"application/problem+json": {
|
|
3185
|
+
"schema": {
|
|
3186
|
+
"$ref": "#/components/schemas/Common.Errors.ForbiddenError"
|
|
3187
|
+
}
|
|
3188
|
+
}
|
|
3189
|
+
}
|
|
3190
|
+
},
|
|
2951
3191
|
"404": {
|
|
2952
3192
|
"description": "Resource not found (404)",
|
|
2953
3193
|
"headers": {
|
|
@@ -2967,7 +3207,7 @@
|
|
|
2967
3207
|
}
|
|
2968
3208
|
},
|
|
2969
3209
|
"content": {
|
|
2970
|
-
"application/json": {
|
|
3210
|
+
"application/problem+json": {
|
|
2971
3211
|
"schema": {
|
|
2972
3212
|
"$ref": "#/components/schemas/Common.Errors.NotFoundError"
|
|
2973
3213
|
}
|
|
@@ -2993,7 +3233,7 @@
|
|
|
2993
3233
|
}
|
|
2994
3234
|
},
|
|
2995
3235
|
"content": {
|
|
2996
|
-
"application/json": {
|
|
3236
|
+
"application/problem+json": {
|
|
2997
3237
|
"schema": {
|
|
2998
3238
|
"$ref": "#/components/schemas/Common.Errors.ConflictError"
|
|
2999
3239
|
}
|
|
@@ -3019,7 +3259,7 @@
|
|
|
3019
3259
|
}
|
|
3020
3260
|
},
|
|
3021
3261
|
"content": {
|
|
3022
|
-
"application/json": {
|
|
3262
|
+
"application/problem+json": {
|
|
3023
3263
|
"schema": {
|
|
3024
3264
|
"$ref": "#/components/schemas/Common.Errors.InternalServerError"
|
|
3025
3265
|
}
|
|
@@ -10,6 +10,8 @@ export type SessionId = string & {
|
|
|
10
10
|
export type UserId = string & {
|
|
11
11
|
readonly __brand: "UserId";
|
|
12
12
|
};
|
|
13
|
+
export declare const ProblemDetailsMediaType: "application/problem+json";
|
|
14
|
+
export type ProblemDetailsMediaType = typeof ProblemDetailsMediaType;
|
|
13
15
|
export declare const SortOrderValues: {
|
|
14
16
|
readonly asc: "asc";
|
|
15
17
|
readonly desc: "desc";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ancplua/qyl-api-schema",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "TypeSpec source of truth for qyl API contracts. Emits OpenAPI, JSON Schema, Qyl.Api.Contracts DTOs, and TypeScript contract types; not an OpenTelemetry package, storage schema, or server implementation.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -88,7 +88,8 @@
|
|
|
88
88
|
"watch": "tsp compile main.tsp --watch",
|
|
89
89
|
"format": "tsp format **/*.tsp",
|
|
90
90
|
"lint": "npm run build:emitters && tsp compile main.tsp --no-emit --warn-as-error",
|
|
91
|
-
"lint:public": "tsp compile index.tsp --no-emit --warn-as-error"
|
|
91
|
+
"lint:public": "tsp compile index.tsp --no-emit --warn-as-error",
|
|
92
|
+
"verify:runner-security": "node scripts/verify-runner-security.mjs"
|
|
92
93
|
},
|
|
93
94
|
"peerDependencies": {
|
|
94
95
|
"@typespec/compiler": "^1.13.0 || >=1.13.0-dev.0",
|