@ancplua/qyl-api-schema 1.0.0 → 1.0.2

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
@@ -130,6 +130,54 @@ namespace Qyl.Api.Contracts.Runner {
130
130
  | InternalServerError;
131
131
  }
132
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
+
133
181
  @route("/runner/workspaces")
134
182
  @tag("Runner workspaces")
135
183
  @useAuth(RunnerMcpSessionCookieAuth)
@@ -9329,6 +9329,71 @@
9329
9329
  "Operations.ProfilesApi_list.Response.500": {
9330
9330
  "$ref": "#/$defs/Common.Errors.InternalServerError"
9331
9331
  },
9332
+ "Operations.RunnerMcpApi_callTool.Request": {},
9333
+ "Operations.RunnerMcpApi_callTool.Response.200": {},
9334
+ "Operations.RunnerMcpApi_callTool.Response.400": {
9335
+ "$ref": "#/$defs/Common.Errors.ValidationError"
9336
+ },
9337
+ "Operations.RunnerMcpApi_callTool.Response.403": {
9338
+ "$ref": "#/$defs/Common.Errors.ForbiddenError"
9339
+ },
9340
+ "Operations.RunnerMcpApi_callTool.Response.404": {
9341
+ "$ref": "#/$defs/Common.Errors.NotFoundError"
9342
+ },
9343
+ "Operations.RunnerMcpApi_callTool.Response.409": {
9344
+ "$ref": "#/$defs/Common.Errors.ConflictError"
9345
+ },
9346
+ "Operations.RunnerMcpApi_callTool.Response.500": {
9347
+ "$ref": "#/$defs/Common.Errors.InternalServerError"
9348
+ },
9349
+ "Operations.RunnerMcpApi_callTool.Response.502": {
9350
+ "$ref": "#/$defs/Common.Errors.BadGatewayError"
9351
+ },
9352
+ "Operations.RunnerMcpApi_callTool.Response.503": {
9353
+ "$ref": "#/$defs/Common.Errors.ServiceUnavailableError"
9354
+ },
9355
+ "Operations.RunnerMcpApi_listTools.Response.200": {},
9356
+ "Operations.RunnerMcpApi_listTools.Response.403": {
9357
+ "$ref": "#/$defs/Common.Errors.ForbiddenError"
9358
+ },
9359
+ "Operations.RunnerMcpApi_listTools.Response.404": {
9360
+ "$ref": "#/$defs/Common.Errors.NotFoundError"
9361
+ },
9362
+ "Operations.RunnerMcpApi_listTools.Response.409": {
9363
+ "$ref": "#/$defs/Common.Errors.ConflictError"
9364
+ },
9365
+ "Operations.RunnerMcpApi_listTools.Response.500": {
9366
+ "$ref": "#/$defs/Common.Errors.InternalServerError"
9367
+ },
9368
+ "Operations.RunnerMcpApi_listTools.Response.502": {
9369
+ "$ref": "#/$defs/Common.Errors.BadGatewayError"
9370
+ },
9371
+ "Operations.RunnerMcpApi_listTools.Response.503": {
9372
+ "$ref": "#/$defs/Common.Errors.ServiceUnavailableError"
9373
+ },
9374
+ "Operations.RunnerMcpApi_readResource.Request": {},
9375
+ "Operations.RunnerMcpApi_readResource.Response.200": {},
9376
+ "Operations.RunnerMcpApi_readResource.Response.400": {
9377
+ "$ref": "#/$defs/Common.Errors.ValidationError"
9378
+ },
9379
+ "Operations.RunnerMcpApi_readResource.Response.403": {
9380
+ "$ref": "#/$defs/Common.Errors.ForbiddenError"
9381
+ },
9382
+ "Operations.RunnerMcpApi_readResource.Response.404": {
9383
+ "$ref": "#/$defs/Common.Errors.NotFoundError"
9384
+ },
9385
+ "Operations.RunnerMcpApi_readResource.Response.409": {
9386
+ "$ref": "#/$defs/Common.Errors.ConflictError"
9387
+ },
9388
+ "Operations.RunnerMcpApi_readResource.Response.500": {
9389
+ "$ref": "#/$defs/Common.Errors.InternalServerError"
9390
+ },
9391
+ "Operations.RunnerMcpApi_readResource.Response.502": {
9392
+ "$ref": "#/$defs/Common.Errors.BadGatewayError"
9393
+ },
9394
+ "Operations.RunnerMcpApi_readResource.Response.503": {
9395
+ "$ref": "#/$defs/Common.Errors.ServiceUnavailableError"
9396
+ },
9332
9397
  "Operations.RunnerMcpEvaluationRunsApi_compare.Request": {
9333
9398
  "$ref": "#/$defs/Runner.Mcp.RunnerMcpEvaluationComparisonRequest"
9334
9399
  },
@@ -11,6 +11,9 @@
11
11
  {
12
12
  "name": "Runner resources"
13
13
  },
14
+ {
15
+ "name": "Runner MCP"
16
+ },
14
17
  {
15
18
  "name": "Runner workspaces"
16
19
  },
@@ -2699,6 +2702,653 @@
2699
2702
  ]
2700
2703
  }
2701
2704
  },
2705
+ "/runner/mcp/{resource}/resources/read": {
2706
+ "post": {
2707
+ "operationId": "RunnerMcpApi_readResource",
2708
+ "description": "Accepts and returns MCP SDK-owned resources/read bodies without redefining the protocol DTOs.",
2709
+ "parameters": [
2710
+ {
2711
+ "name": "resource",
2712
+ "in": "path",
2713
+ "required": true,
2714
+ "schema": {
2715
+ "type": "string"
2716
+ }
2717
+ }
2718
+ ],
2719
+ "responses": {
2720
+ "200": {
2721
+ "description": "The request has succeeded.",
2722
+ "content": {
2723
+ "application/json": {
2724
+ "schema": {}
2725
+ }
2726
+ }
2727
+ },
2728
+ "400": {
2729
+ "description": "Bad request - validation failed (400)",
2730
+ "headers": {
2731
+ "X-Trace-Id": {
2732
+ "required": false,
2733
+ "description": "Trace ID for correlation",
2734
+ "schema": {
2735
+ "type": "string"
2736
+ }
2737
+ },
2738
+ "X-Request-Id": {
2739
+ "required": false,
2740
+ "description": "Request ID for support",
2741
+ "schema": {
2742
+ "type": "string"
2743
+ }
2744
+ }
2745
+ },
2746
+ "content": {
2747
+ "application/problem+json": {
2748
+ "schema": {
2749
+ "$ref": "#/components/schemas/Common.Errors.ValidationError"
2750
+ }
2751
+ }
2752
+ }
2753
+ },
2754
+ "403": {
2755
+ "description": "Forbidden - insufficient permissions (403)",
2756
+ "headers": {
2757
+ "X-Trace-Id": {
2758
+ "required": false,
2759
+ "description": "Trace ID for correlation",
2760
+ "schema": {
2761
+ "type": "string"
2762
+ }
2763
+ },
2764
+ "X-Request-Id": {
2765
+ "required": false,
2766
+ "description": "Request ID for support",
2767
+ "schema": {
2768
+ "type": "string"
2769
+ }
2770
+ }
2771
+ },
2772
+ "content": {
2773
+ "application/problem+json": {
2774
+ "schema": {
2775
+ "$ref": "#/components/schemas/Common.Errors.ForbiddenError"
2776
+ }
2777
+ }
2778
+ }
2779
+ },
2780
+ "404": {
2781
+ "description": "Resource not found (404)",
2782
+ "headers": {
2783
+ "X-Trace-Id": {
2784
+ "required": false,
2785
+ "description": "Trace ID for correlation",
2786
+ "schema": {
2787
+ "type": "string"
2788
+ }
2789
+ },
2790
+ "X-Request-Id": {
2791
+ "required": false,
2792
+ "description": "Request ID for support",
2793
+ "schema": {
2794
+ "type": "string"
2795
+ }
2796
+ }
2797
+ },
2798
+ "content": {
2799
+ "application/problem+json": {
2800
+ "schema": {
2801
+ "$ref": "#/components/schemas/Common.Errors.NotFoundError"
2802
+ }
2803
+ }
2804
+ }
2805
+ },
2806
+ "409": {
2807
+ "description": "Conflict - resource state conflict (409)",
2808
+ "headers": {
2809
+ "X-Trace-Id": {
2810
+ "required": false,
2811
+ "description": "Trace ID for correlation",
2812
+ "schema": {
2813
+ "type": "string"
2814
+ }
2815
+ },
2816
+ "X-Request-Id": {
2817
+ "required": false,
2818
+ "description": "Request ID for support",
2819
+ "schema": {
2820
+ "type": "string"
2821
+ }
2822
+ }
2823
+ },
2824
+ "content": {
2825
+ "application/problem+json": {
2826
+ "schema": {
2827
+ "$ref": "#/components/schemas/Common.Errors.ConflictError"
2828
+ }
2829
+ }
2830
+ }
2831
+ },
2832
+ "500": {
2833
+ "description": "Internal server error (500)",
2834
+ "headers": {
2835
+ "X-Trace-Id": {
2836
+ "required": false,
2837
+ "description": "Trace ID for correlation",
2838
+ "schema": {
2839
+ "type": "string"
2840
+ }
2841
+ },
2842
+ "X-Request-Id": {
2843
+ "required": false,
2844
+ "description": "Request ID for support",
2845
+ "schema": {
2846
+ "type": "string"
2847
+ }
2848
+ }
2849
+ },
2850
+ "content": {
2851
+ "application/problem+json": {
2852
+ "schema": {
2853
+ "$ref": "#/components/schemas/Common.Errors.InternalServerError"
2854
+ }
2855
+ }
2856
+ }
2857
+ },
2858
+ "502": {
2859
+ "description": "Upstream dependency failed while fulfilling the request (502)",
2860
+ "headers": {
2861
+ "X-Trace-Id": {
2862
+ "required": false,
2863
+ "description": "Trace ID for correlation",
2864
+ "schema": {
2865
+ "type": "string"
2866
+ }
2867
+ },
2868
+ "X-Request-Id": {
2869
+ "required": false,
2870
+ "description": "Request ID for support",
2871
+ "schema": {
2872
+ "type": "string"
2873
+ }
2874
+ }
2875
+ },
2876
+ "content": {
2877
+ "application/problem+json": {
2878
+ "schema": {
2879
+ "$ref": "#/components/schemas/Common.Errors.BadGatewayError"
2880
+ }
2881
+ }
2882
+ }
2883
+ },
2884
+ "503": {
2885
+ "description": "Service unavailable (503)",
2886
+ "headers": {
2887
+ "Retry-After": {
2888
+ "required": false,
2889
+ "description": "Expected availability time",
2890
+ "schema": {
2891
+ "type": "integer",
2892
+ "format": "int32"
2893
+ }
2894
+ },
2895
+ "X-Trace-Id": {
2896
+ "required": false,
2897
+ "description": "Trace ID for correlation",
2898
+ "schema": {
2899
+ "type": "string"
2900
+ }
2901
+ },
2902
+ "X-Request-Id": {
2903
+ "required": false,
2904
+ "description": "Request ID for support",
2905
+ "schema": {
2906
+ "type": "string"
2907
+ }
2908
+ }
2909
+ },
2910
+ "content": {
2911
+ "application/problem+json": {
2912
+ "schema": {
2913
+ "$ref": "#/components/schemas/Common.Errors.ServiceUnavailableError"
2914
+ }
2915
+ }
2916
+ }
2917
+ }
2918
+ },
2919
+ "tags": [
2920
+ "Runner MCP"
2921
+ ],
2922
+ "requestBody": {
2923
+ "required": true,
2924
+ "content": {
2925
+ "application/json": {
2926
+ "schema": {}
2927
+ }
2928
+ }
2929
+ }
2930
+ }
2931
+ },
2932
+ "/runner/mcp/{resource}/tools": {
2933
+ "get": {
2934
+ "operationId": "RunnerMcpApi_listTools",
2935
+ "description": "Returns the MCP SDK-owned tools/list result without redefining its protocol body.",
2936
+ "parameters": [
2937
+ {
2938
+ "name": "resource",
2939
+ "in": "path",
2940
+ "required": true,
2941
+ "schema": {
2942
+ "type": "string"
2943
+ }
2944
+ }
2945
+ ],
2946
+ "responses": {
2947
+ "200": {
2948
+ "description": "The request has succeeded.",
2949
+ "content": {
2950
+ "application/json": {
2951
+ "schema": {}
2952
+ }
2953
+ }
2954
+ },
2955
+ "403": {
2956
+ "description": "Forbidden - insufficient permissions (403)",
2957
+ "headers": {
2958
+ "X-Trace-Id": {
2959
+ "required": false,
2960
+ "description": "Trace ID for correlation",
2961
+ "schema": {
2962
+ "type": "string"
2963
+ }
2964
+ },
2965
+ "X-Request-Id": {
2966
+ "required": false,
2967
+ "description": "Request ID for support",
2968
+ "schema": {
2969
+ "type": "string"
2970
+ }
2971
+ }
2972
+ },
2973
+ "content": {
2974
+ "application/problem+json": {
2975
+ "schema": {
2976
+ "$ref": "#/components/schemas/Common.Errors.ForbiddenError"
2977
+ }
2978
+ }
2979
+ }
2980
+ },
2981
+ "404": {
2982
+ "description": "Resource not found (404)",
2983
+ "headers": {
2984
+ "X-Trace-Id": {
2985
+ "required": false,
2986
+ "description": "Trace ID for correlation",
2987
+ "schema": {
2988
+ "type": "string"
2989
+ }
2990
+ },
2991
+ "X-Request-Id": {
2992
+ "required": false,
2993
+ "description": "Request ID for support",
2994
+ "schema": {
2995
+ "type": "string"
2996
+ }
2997
+ }
2998
+ },
2999
+ "content": {
3000
+ "application/problem+json": {
3001
+ "schema": {
3002
+ "$ref": "#/components/schemas/Common.Errors.NotFoundError"
3003
+ }
3004
+ }
3005
+ }
3006
+ },
3007
+ "409": {
3008
+ "description": "Conflict - resource state conflict (409)",
3009
+ "headers": {
3010
+ "X-Trace-Id": {
3011
+ "required": false,
3012
+ "description": "Trace ID for correlation",
3013
+ "schema": {
3014
+ "type": "string"
3015
+ }
3016
+ },
3017
+ "X-Request-Id": {
3018
+ "required": false,
3019
+ "description": "Request ID for support",
3020
+ "schema": {
3021
+ "type": "string"
3022
+ }
3023
+ }
3024
+ },
3025
+ "content": {
3026
+ "application/problem+json": {
3027
+ "schema": {
3028
+ "$ref": "#/components/schemas/Common.Errors.ConflictError"
3029
+ }
3030
+ }
3031
+ }
3032
+ },
3033
+ "500": {
3034
+ "description": "Internal server error (500)",
3035
+ "headers": {
3036
+ "X-Trace-Id": {
3037
+ "required": false,
3038
+ "description": "Trace ID for correlation",
3039
+ "schema": {
3040
+ "type": "string"
3041
+ }
3042
+ },
3043
+ "X-Request-Id": {
3044
+ "required": false,
3045
+ "description": "Request ID for support",
3046
+ "schema": {
3047
+ "type": "string"
3048
+ }
3049
+ }
3050
+ },
3051
+ "content": {
3052
+ "application/problem+json": {
3053
+ "schema": {
3054
+ "$ref": "#/components/schemas/Common.Errors.InternalServerError"
3055
+ }
3056
+ }
3057
+ }
3058
+ },
3059
+ "502": {
3060
+ "description": "Upstream dependency failed while fulfilling the request (502)",
3061
+ "headers": {
3062
+ "X-Trace-Id": {
3063
+ "required": false,
3064
+ "description": "Trace ID for correlation",
3065
+ "schema": {
3066
+ "type": "string"
3067
+ }
3068
+ },
3069
+ "X-Request-Id": {
3070
+ "required": false,
3071
+ "description": "Request ID for support",
3072
+ "schema": {
3073
+ "type": "string"
3074
+ }
3075
+ }
3076
+ },
3077
+ "content": {
3078
+ "application/problem+json": {
3079
+ "schema": {
3080
+ "$ref": "#/components/schemas/Common.Errors.BadGatewayError"
3081
+ }
3082
+ }
3083
+ }
3084
+ },
3085
+ "503": {
3086
+ "description": "Service unavailable (503)",
3087
+ "headers": {
3088
+ "Retry-After": {
3089
+ "required": false,
3090
+ "description": "Expected availability time",
3091
+ "schema": {
3092
+ "type": "integer",
3093
+ "format": "int32"
3094
+ }
3095
+ },
3096
+ "X-Trace-Id": {
3097
+ "required": false,
3098
+ "description": "Trace ID for correlation",
3099
+ "schema": {
3100
+ "type": "string"
3101
+ }
3102
+ },
3103
+ "X-Request-Id": {
3104
+ "required": false,
3105
+ "description": "Request ID for support",
3106
+ "schema": {
3107
+ "type": "string"
3108
+ }
3109
+ }
3110
+ },
3111
+ "content": {
3112
+ "application/problem+json": {
3113
+ "schema": {
3114
+ "$ref": "#/components/schemas/Common.Errors.ServiceUnavailableError"
3115
+ }
3116
+ }
3117
+ }
3118
+ }
3119
+ },
3120
+ "tags": [
3121
+ "Runner MCP"
3122
+ ]
3123
+ }
3124
+ },
3125
+ "/runner/mcp/{resource}/tools/call": {
3126
+ "post": {
3127
+ "operationId": "RunnerMcpApi_callTool",
3128
+ "description": "Accepts and returns MCP SDK-owned tools/call bodies without redefining the protocol DTOs.",
3129
+ "parameters": [
3130
+ {
3131
+ "name": "resource",
3132
+ "in": "path",
3133
+ "required": true,
3134
+ "schema": {
3135
+ "type": "string"
3136
+ }
3137
+ }
3138
+ ],
3139
+ "responses": {
3140
+ "200": {
3141
+ "description": "The request has succeeded.",
3142
+ "content": {
3143
+ "application/json": {
3144
+ "schema": {}
3145
+ }
3146
+ }
3147
+ },
3148
+ "400": {
3149
+ "description": "Bad request - validation failed (400)",
3150
+ "headers": {
3151
+ "X-Trace-Id": {
3152
+ "required": false,
3153
+ "description": "Trace ID for correlation",
3154
+ "schema": {
3155
+ "type": "string"
3156
+ }
3157
+ },
3158
+ "X-Request-Id": {
3159
+ "required": false,
3160
+ "description": "Request ID for support",
3161
+ "schema": {
3162
+ "type": "string"
3163
+ }
3164
+ }
3165
+ },
3166
+ "content": {
3167
+ "application/problem+json": {
3168
+ "schema": {
3169
+ "$ref": "#/components/schemas/Common.Errors.ValidationError"
3170
+ }
3171
+ }
3172
+ }
3173
+ },
3174
+ "403": {
3175
+ "description": "Forbidden - insufficient permissions (403)",
3176
+ "headers": {
3177
+ "X-Trace-Id": {
3178
+ "required": false,
3179
+ "description": "Trace ID for correlation",
3180
+ "schema": {
3181
+ "type": "string"
3182
+ }
3183
+ },
3184
+ "X-Request-Id": {
3185
+ "required": false,
3186
+ "description": "Request ID for support",
3187
+ "schema": {
3188
+ "type": "string"
3189
+ }
3190
+ }
3191
+ },
3192
+ "content": {
3193
+ "application/problem+json": {
3194
+ "schema": {
3195
+ "$ref": "#/components/schemas/Common.Errors.ForbiddenError"
3196
+ }
3197
+ }
3198
+ }
3199
+ },
3200
+ "404": {
3201
+ "description": "Resource not found (404)",
3202
+ "headers": {
3203
+ "X-Trace-Id": {
3204
+ "required": false,
3205
+ "description": "Trace ID for correlation",
3206
+ "schema": {
3207
+ "type": "string"
3208
+ }
3209
+ },
3210
+ "X-Request-Id": {
3211
+ "required": false,
3212
+ "description": "Request ID for support",
3213
+ "schema": {
3214
+ "type": "string"
3215
+ }
3216
+ }
3217
+ },
3218
+ "content": {
3219
+ "application/problem+json": {
3220
+ "schema": {
3221
+ "$ref": "#/components/schemas/Common.Errors.NotFoundError"
3222
+ }
3223
+ }
3224
+ }
3225
+ },
3226
+ "409": {
3227
+ "description": "Conflict - resource state conflict (409)",
3228
+ "headers": {
3229
+ "X-Trace-Id": {
3230
+ "required": false,
3231
+ "description": "Trace ID for correlation",
3232
+ "schema": {
3233
+ "type": "string"
3234
+ }
3235
+ },
3236
+ "X-Request-Id": {
3237
+ "required": false,
3238
+ "description": "Request ID for support",
3239
+ "schema": {
3240
+ "type": "string"
3241
+ }
3242
+ }
3243
+ },
3244
+ "content": {
3245
+ "application/problem+json": {
3246
+ "schema": {
3247
+ "$ref": "#/components/schemas/Common.Errors.ConflictError"
3248
+ }
3249
+ }
3250
+ }
3251
+ },
3252
+ "500": {
3253
+ "description": "Internal server error (500)",
3254
+ "headers": {
3255
+ "X-Trace-Id": {
3256
+ "required": false,
3257
+ "description": "Trace ID for correlation",
3258
+ "schema": {
3259
+ "type": "string"
3260
+ }
3261
+ },
3262
+ "X-Request-Id": {
3263
+ "required": false,
3264
+ "description": "Request ID for support",
3265
+ "schema": {
3266
+ "type": "string"
3267
+ }
3268
+ }
3269
+ },
3270
+ "content": {
3271
+ "application/problem+json": {
3272
+ "schema": {
3273
+ "$ref": "#/components/schemas/Common.Errors.InternalServerError"
3274
+ }
3275
+ }
3276
+ }
3277
+ },
3278
+ "502": {
3279
+ "description": "Upstream dependency failed while fulfilling the request (502)",
3280
+ "headers": {
3281
+ "X-Trace-Id": {
3282
+ "required": false,
3283
+ "description": "Trace ID for correlation",
3284
+ "schema": {
3285
+ "type": "string"
3286
+ }
3287
+ },
3288
+ "X-Request-Id": {
3289
+ "required": false,
3290
+ "description": "Request ID for support",
3291
+ "schema": {
3292
+ "type": "string"
3293
+ }
3294
+ }
3295
+ },
3296
+ "content": {
3297
+ "application/problem+json": {
3298
+ "schema": {
3299
+ "$ref": "#/components/schemas/Common.Errors.BadGatewayError"
3300
+ }
3301
+ }
3302
+ }
3303
+ },
3304
+ "503": {
3305
+ "description": "Service unavailable (503)",
3306
+ "headers": {
3307
+ "Retry-After": {
3308
+ "required": false,
3309
+ "description": "Expected availability time",
3310
+ "schema": {
3311
+ "type": "integer",
3312
+ "format": "int32"
3313
+ }
3314
+ },
3315
+ "X-Trace-Id": {
3316
+ "required": false,
3317
+ "description": "Trace ID for correlation",
3318
+ "schema": {
3319
+ "type": "string"
3320
+ }
3321
+ },
3322
+ "X-Request-Id": {
3323
+ "required": false,
3324
+ "description": "Request ID for support",
3325
+ "schema": {
3326
+ "type": "string"
3327
+ }
3328
+ }
3329
+ },
3330
+ "content": {
3331
+ "application/problem+json": {
3332
+ "schema": {
3333
+ "$ref": "#/components/schemas/Common.Errors.ServiceUnavailableError"
3334
+ }
3335
+ }
3336
+ }
3337
+ }
3338
+ },
3339
+ "tags": [
3340
+ "Runner MCP"
3341
+ ],
3342
+ "requestBody": {
3343
+ "required": true,
3344
+ "content": {
3345
+ "application/json": {
3346
+ "schema": {}
3347
+ }
3348
+ }
3349
+ }
3350
+ }
3351
+ },
2702
3352
  "/runner/resources": {
2703
3353
  "get": {
2704
3354
  "operationId": "RunnerResourcesApi_snapshot",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancplua/qyl-api-schema",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
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": {