diff --git a/client-sdks/stainless/openapi.yml b/client-sdks/stainless/openapi.yml index bbae4d01a..ff86e30e1 100644 --- a/client-sdks/stainless/openapi.yml +++ b/client-sdks/stainless/openapi.yml @@ -1079,11 +1079,6 @@ paths: description: 'Path parameter: model_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -1096,6 +1091,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Models summary: Unregister Model @@ -1294,11 +1291,6 @@ paths: $ref: '#/components/schemas/UpdatePromptRequest' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': $ref: '#/components/responses/BadRequest400' description: Bad Request @@ -1311,6 +1303,8 @@ paths: default: $ref: '#/components/responses/DefaultError' description: Default Response + '204': + description: Successful Response tags: - Prompts summary: Delete Prompt @@ -1793,11 +1787,6 @@ paths: operationId: list_scoring_functions_v1_scoring_functions_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -1810,6 +1799,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Scoring Functions summary: Register Scoring Function @@ -1857,11 +1848,6 @@ paths: description: 'Path parameter: scoring_fn_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -1874,6 +1860,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Scoring Functions summary: Unregister Scoring Function @@ -2044,11 +2032,6 @@ paths: description: 'Path parameter: identifier' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2061,6 +2044,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Shields summary: Unregister Shield @@ -2185,11 +2170,6 @@ paths: operationId: list_tool_groups_v1_toolgroups_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2202,6 +2182,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Tool Groups summary: Register Tool Group @@ -2249,11 +2231,6 @@ paths: description: 'Path parameter: toolgroup_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2266,6 +2243,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Tool Groups summary: Unregister Toolgroup @@ -2350,11 +2329,6 @@ paths: /v1/vector-io/insert: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2367,6 +2341,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Vector Io summary: Insert Chunks @@ -3179,11 +3155,6 @@ paths: /v1beta/datasetio/append-rows/{dataset_id}: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3196,6 +3167,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Datasetio summary: Append Rows @@ -3365,11 +3338,6 @@ paths: description: 'Path parameter: dataset_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3382,6 +3350,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Datasets summary: Unregister Dataset @@ -3423,11 +3393,6 @@ paths: operationId: list_benchmarks_v1alpha_eval_benchmarks_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3440,6 +3405,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Benchmarks summary: Register Benchmark @@ -3487,11 +3454,6 @@ paths: description: 'Path parameter: benchmark_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3504,6 +3466,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Benchmarks summary: Unregister Benchmark @@ -3636,11 +3600,6 @@ paths: description: 'Path parameter: job_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3653,6 +3612,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Eval summary: Job Cancel @@ -3778,11 +3739,6 @@ paths: /v1alpha/post-training/job/cancel: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3795,6 +3751,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Post Training summary: Cancel Training Job diff --git a/docs/static/deprecated-llama-stack-spec.yaml b/docs/static/deprecated-llama-stack-spec.yaml index 5454874db..3bc06d7d7 100644 --- a/docs/static/deprecated-llama-stack-spec.yaml +++ b/docs/static/deprecated-llama-stack-spec.yaml @@ -112,11 +112,6 @@ paths: description: 'Path parameter: model_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -129,6 +124,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Models summary: Unregister Model @@ -173,11 +170,6 @@ paths: operationId: list_scoring_functions_v1_scoring_functions_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -190,6 +182,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Scoring Functions summary: Register Scoring Function @@ -237,11 +231,6 @@ paths: description: 'Path parameter: scoring_fn_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -254,6 +243,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Scoring Functions summary: Unregister Scoring Function @@ -360,11 +351,6 @@ paths: description: 'Path parameter: identifier' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -377,6 +363,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Shields summary: Unregister Shield @@ -418,11 +406,6 @@ paths: operationId: list_tool_groups_v1_toolgroups_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -435,6 +418,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Tool Groups summary: Register Tool Group @@ -482,11 +467,6 @@ paths: description: 'Path parameter: toolgroup_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -499,6 +479,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Tool Groups summary: Unregister Toolgroup @@ -605,11 +587,6 @@ paths: description: 'Path parameter: dataset_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -622,6 +599,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Datasets summary: Unregister Dataset @@ -663,11 +642,6 @@ paths: operationId: list_benchmarks_v1alpha_eval_benchmarks_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -680,6 +654,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Benchmarks summary: Register Benchmark @@ -727,11 +703,6 @@ paths: description: 'Path parameter: benchmark_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -744,6 +715,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Benchmarks summary: Unregister Benchmark diff --git a/docs/static/experimental-llama-stack-spec.yaml b/docs/static/experimental-llama-stack-spec.yaml index aaafc3ce2..2b36ebf47 100644 --- a/docs/static/experimental-llama-stack-spec.yaml +++ b/docs/static/experimental-llama-stack-spec.yaml @@ -16,11 +16,6 @@ paths: /v1beta/datasetio/append-rows/{dataset_id}: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -33,6 +28,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Datasetio summary: Append Rows @@ -346,11 +343,6 @@ paths: description: 'Path parameter: job_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -363,6 +355,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Eval summary: Job Cancel @@ -488,11 +482,6 @@ paths: /v1alpha/post-training/job/cancel: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -505,6 +494,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Post Training summary: Cancel Training Job diff --git a/docs/static/llama-stack-spec.yaml b/docs/static/llama-stack-spec.yaml index 24f43ab7d..a12ac342f 100644 --- a/docs/static/llama-stack-spec.yaml +++ b/docs/static/llama-stack-spec.yaml @@ -1222,11 +1222,6 @@ paths: $ref: '#/components/schemas/UpdatePromptRequest' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': $ref: '#/components/responses/BadRequest400' description: Bad Request @@ -1239,6 +1234,8 @@ paths: default: $ref: '#/components/responses/DefaultError' description: Default Response + '204': + description: Successful Response tags: - Prompts summary: Delete Prompt @@ -2088,11 +2085,6 @@ paths: /v1/vector-io/insert: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2105,6 +2097,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Vector Io summary: Insert Chunks diff --git a/docs/static/stainless-llama-stack-spec.yaml b/docs/static/stainless-llama-stack-spec.yaml index bbae4d01a..ff86e30e1 100644 --- a/docs/static/stainless-llama-stack-spec.yaml +++ b/docs/static/stainless-llama-stack-spec.yaml @@ -1079,11 +1079,6 @@ paths: description: 'Path parameter: model_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -1096,6 +1091,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Models summary: Unregister Model @@ -1294,11 +1291,6 @@ paths: $ref: '#/components/schemas/UpdatePromptRequest' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': $ref: '#/components/responses/BadRequest400' description: Bad Request @@ -1311,6 +1303,8 @@ paths: default: $ref: '#/components/responses/DefaultError' description: Default Response + '204': + description: Successful Response tags: - Prompts summary: Delete Prompt @@ -1793,11 +1787,6 @@ paths: operationId: list_scoring_functions_v1_scoring_functions_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -1810,6 +1799,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Scoring Functions summary: Register Scoring Function @@ -1857,11 +1848,6 @@ paths: description: 'Path parameter: scoring_fn_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -1874,6 +1860,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Scoring Functions summary: Unregister Scoring Function @@ -2044,11 +2032,6 @@ paths: description: 'Path parameter: identifier' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2061,6 +2044,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Shields summary: Unregister Shield @@ -2185,11 +2170,6 @@ paths: operationId: list_tool_groups_v1_toolgroups_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2202,6 +2182,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Tool Groups summary: Register Tool Group @@ -2249,11 +2231,6 @@ paths: description: 'Path parameter: toolgroup_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2266,6 +2243,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Tool Groups summary: Unregister Toolgroup @@ -2350,11 +2329,6 @@ paths: /v1/vector-io/insert: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -2367,6 +2341,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Vector Io summary: Insert Chunks @@ -3179,11 +3155,6 @@ paths: /v1beta/datasetio/append-rows/{dataset_id}: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3196,6 +3167,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Datasetio summary: Append Rows @@ -3365,11 +3338,6 @@ paths: description: 'Path parameter: dataset_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3382,6 +3350,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Datasets summary: Unregister Dataset @@ -3423,11 +3393,6 @@ paths: operationId: list_benchmarks_v1alpha_eval_benchmarks_get post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3440,6 +3405,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Benchmarks summary: Register Benchmark @@ -3487,11 +3454,6 @@ paths: description: 'Path parameter: benchmark_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3504,6 +3466,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Benchmarks summary: Unregister Benchmark @@ -3636,11 +3600,6 @@ paths: description: 'Path parameter: job_id' delete: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3653,6 +3612,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Eval summary: Job Cancel @@ -3778,11 +3739,6 @@ paths: /v1alpha/post-training/job/cancel: post: responses: - '200': - description: Successful Response - content: - application/json: - schema: {} '400': description: Bad Request $ref: '#/components/responses/BadRequest400' @@ -3795,6 +3751,8 @@ paths: default: description: Default Response $ref: '#/components/responses/DefaultError' + '204': + description: Successful Response tags: - Post Training summary: Cancel Training Job diff --git a/scripts/openapi_generator/main.py b/scripts/openapi_generator/main.py index e402d4d73..e881ff726 100755 --- a/scripts/openapi_generator/main.py +++ b/scripts/openapi_generator/main.py @@ -62,6 +62,7 @@ def generate_openapi_spec(output_dir: str) -> dict[str, Any]: # Clean descriptions in schema definitions by removing docstring metadata openapi_schema = schema_transforms._clean_schema_descriptions(openapi_schema) + openapi_schema = schema_transforms._normalize_empty_responses(openapi_schema) # Remove query parameters from POST/PUT/PATCH endpoints that have a request body # FastAPI sometimes infers parameters as query params even when they should be in the request body diff --git a/scripts/openapi_generator/schema_transforms.py b/scripts/openapi_generator/schema_transforms.py index bda5decb8..5821c99d5 100644 --- a/scripts/openapi_generator/schema_transforms.py +++ b/scripts/openapi_generator/schema_transforms.py @@ -51,6 +51,33 @@ def _fix_ref_references(openapi_schema: dict[str, Any]) -> dict[str, Any]: return openapi_schema +def _normalize_empty_responses(openapi_schema: dict[str, Any]) -> dict[str, Any]: + """Convert empty 200 responses into 204 No Content.""" + + for path_item in openapi_schema.get("paths", {}).values(): + if not isinstance(path_item, dict): + continue + for method in list(path_item.keys()): + operation = path_item.get(method) + if not isinstance(operation, dict): + continue + responses = operation.get("responses") + if not isinstance(responses, dict): + continue + response_200 = responses.get("200") or responses.get(200) + if response_200 is None: + continue + content = response_200.get("content") + if content and any( + isinstance(media, dict) and media.get("schema") not in ({}, None) for media in content.values() + ): + continue + responses.pop("200", None) + responses.pop(200, None) + responses["204"] = {"description": response_200.get("description", "No Content")} + return openapi_schema + + def _eliminate_defs_section(openapi_schema: dict[str, Any]) -> dict[str, Any]: """ Eliminate $defs section entirely by moving all definitions to components/schemas.