From e6f8a0013252b930c70938914e534266ab6c6915 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Tue, 18 Aug 2026 18:17:52 +0000 Subject: [PATCH] feat: Sync with Seam API via 07596d93b8960715298cdbde3487a60d2f6cef77 --- .../connect/models/devices/device-metadata.ts | 14 +- src/lib/seam/connect/openapi.ts | 18 ++- src/lib/seam/connect/route-types.ts | 136 +++++++++++++++--- 3 files changed, 149 insertions(+), 19 deletions(-) diff --git a/src/lib/seam/connect/models/devices/device-metadata.ts b/src/lib/seam/connect/models/devices/device-metadata.ts index df0855cc..097a6097 100644 --- a/src/lib/seam/connect/models/devices/device-metadata.ts +++ b/src/lib/seam/connect/models/devices/device-metadata.ts @@ -975,7 +975,19 @@ export const device_metadata = z .tuple([z.number(), z.number()]) .optional() .describe( - `Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.`, + `Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written.`, + ), + enforced_heating_setpoint_range_celsius: z + .tuple([z.number(), z.number()]) + .optional() + .describe( + `Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.`, + ), + enforced_cooling_setpoint_range_celsius: z + .tuple([z.number(), z.number()]) + .optional() + .describe( + `Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.`, ), }) .partial() diff --git a/src/lib/seam/connect/openapi.ts b/src/lib/seam/connect/openapi.ts index 8c924e8a..c695b13f 100644 --- a/src/lib/seam/connect/openapi.ts +++ b/src/lib/seam/connect/openapi.ts @@ -15462,9 +15462,25 @@ const openapi: OpenAPISpec = { 'Set to true when the device does not support the /dual-setpoints API endpoint.', type: 'boolean', }, + enforced_cooling_setpoint_range_celsius: { + description: + 'Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.', + items: { format: 'float', type: 'number' }, + maxItems: 2, + minItems: 2, + type: 'array', + }, + enforced_heating_setpoint_range_celsius: { + description: + 'Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.', + items: { format: 'float', type: 'number' }, + maxItems: 2, + minItems: 2, + type: 'array', + }, enforced_setpoint_range_celsius: { description: - 'Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error.', + 'Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written.', items: { format: 'float', type: 'number' }, maxItems: 2, minItems: 2, diff --git a/src/lib/seam/connect/route-types.ts b/src/lib/seam/connect/route-types.ts index ede876a1..799dd8bc 100644 --- a/src/lib/seam/connect/route-types.ts +++ b/src/lib/seam/connect/route-types.ts @@ -14505,9 +14505,15 @@ export type Routes = { /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -22917,9 +22923,15 @@ export type Routes = { /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -51045,9 +51057,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -53156,9 +53174,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -67812,9 +67836,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -69674,9 +69704,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -71663,9 +71699,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -73524,9 +73566,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -83815,9 +83863,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -85676,9 +85730,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -105565,9 +105625,15 @@ export type Routes = { /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -114975,9 +115041,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -121103,9 +121175,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -122964,9 +123042,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -134279,9 +134363,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -136142,9 +136232,15 @@ export type Routes = { product_type?: (string | undefined) | undefined /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */ @@ -139559,9 +139655,15 @@ export type Routes = { /** Set to true when the device does not support the /dual-setpoints API endpoint. */ dual_setpoints_not_supported?: (boolean | undefined) | undefined - /** Enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + /** Legacy combined enforced setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. Read as a fallback for the per-mode ranges below; no longer written. */ enforced_setpoint_range_celsius?: ([number, number] | undefined) | undefined + /** Enforced heating setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_heating_setpoint_range_celsius?: + ([number, number] | undefined) | undefined + /** Enforced cooling setpoint range in Celsius for a Sensi device, derived from an OutOfRange API error. */ + enforced_cooling_setpoint_range_celsius?: + ([number, number] | undefined) | undefined } | undefined /** Metadata for a KeyNest device. */