From 9a766a05043aabfe84656e2ec783539c1c3edfe0 Mon Sep 17 00:00:00 2001 From: caballeto Date: Thu, 23 Apr 2026 19:39:27 +0200 Subject: [PATCH] fix(api): regen for typed TimingPhasesDto in HTTP check details Vendored-spec sync to pick up the upstream mono fix (devhelmhq/mono#271) that replaces the misleading `Map` `Http.timing` schema with a typed `TimingPhasesDto` (nullable ints for dns_ms, tcp_ms, tls_ms, ttfb_ms, download_ms, total_ms). mcp-server has no codegen of its own (all SDK types come from the sibling `devhelm` SDK; see devhelmhq/sdk-python#9), so the only artifact change here is the vendored OpenAPI snapshot used for parity tests + the spec_updated repository_dispatch workflow. Verified: ruff + mypy strict + 57 pytest tests pass. Made-with: Cursor --- docs/openapi/monitoring-api.json | 62 +++++++++++++++++++++++++++----- 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/docs/openapi/monitoring-api.json b/docs/openapi/monitoring-api.json index ccd3413..d25734a 100644 --- a/docs/openapi/monitoring-api.json +++ b/docs/openapi/monitoring-api.json @@ -24474,14 +24474,12 @@ ] }, "timing": { - "type": "object", - "additionalProperties": { - "type": "object", - "description": "Request phase timing breakdown", - "nullable": true - }, - "description": "Request phase timing breakdown", - "nullable": true + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/TimingPhasesDto" + } + ] }, "bodyTruncated": { "type": "boolean", @@ -31653,6 +31651,54 @@ }, "description": "Event type to use for a test webhook delivery" }, + "TimingPhasesDto": { + "type": "object", + "properties": { + "dns_ms": { + "type": "integer", + "description": "DNS resolution time in milliseconds", + "format": "int32", + "nullable": true, + "example": 12 + }, + "tcp_ms": { + "type": "integer", + "description": "TCP connect time in milliseconds", + "format": "int32", + "nullable": true, + "example": 18 + }, + "tls_ms": { + "type": "integer", + "description": "TLS handshake time in milliseconds (null for plain HTTP)", + "format": "int32", + "nullable": true, + "example": 34 + }, + "ttfb_ms": { + "type": "integer", + "description": "Time to first response byte in milliseconds", + "format": "int32", + "nullable": true, + "example": 42 + }, + "download_ms": { + "type": "integer", + "description": "Response body download time in milliseconds", + "format": "int32", + "nullable": true, + "example": 8 + }, + "total_ms": { + "type": "integer", + "description": "Total wall-clock request time in milliseconds", + "format": "int32", + "nullable": true, + "example": 114 + } + }, + "description": "Per-phase HTTP request timing breakdown (milliseconds)" + }, "TlsInfoDto": { "type": "object", "properties": {