@seamapi/types 1.25.0 → 1.26.1

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.
Files changed (31) hide show
  1. package/dist/connect.cjs +10 -0
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +35 -0
  4. package/dist/devicedb.cjs +81 -9
  5. package/dist/devicedb.cjs.map +1 -1
  6. package/dist/devicedb.d.cts +1842 -2
  7. package/lib/seam/connect/openapi.d.ts +30 -0
  8. package/lib/seam/connect/openapi.js +10 -0
  9. package/lib/seam/connect/openapi.js.map +1 -1
  10. package/lib/seam/connect/route-types.d.ts +5 -0
  11. package/lib/seam/devicedb/index.d.ts +3 -2
  12. package/lib/seam/devicedb/index.js +2 -0
  13. package/lib/seam/devicedb/index.js.map +1 -1
  14. package/lib/seam/devicedb/public-models/device-model-v1.d.ts +5 -2
  15. package/lib/seam/devicedb/public-models/device-model-v1.js +22 -8
  16. package/lib/seam/devicedb/public-models/device-model-v1.js.map +1 -1
  17. package/lib/seam/devicedb/public-models/manufacturer.d.ts +2 -0
  18. package/lib/seam/devicedb/public-models/manufacturer.js +8 -1
  19. package/lib/seam/devicedb/public-models/manufacturer.js.map +1 -1
  20. package/lib/seam/devicedb/route-specs.d.ts +1817 -0
  21. package/lib/seam/devicedb/route-specs.js +49 -0
  22. package/lib/seam/devicedb/route-specs.js.map +1 -0
  23. package/lib/seam/devicedb/route-types.d.ts +1 -1
  24. package/package.json +3 -1
  25. package/src/lib/seam/connect/openapi.ts +10 -0
  26. package/src/lib/seam/connect/route-types.ts +5 -0
  27. package/src/lib/seam/devicedb/index.ts +5 -1
  28. package/src/lib/seam/devicedb/public-models/device-model-v1.ts +28 -8
  29. package/src/lib/seam/devicedb/public-models/manufacturer.ts +13 -1
  30. package/src/lib/seam/devicedb/route-specs.ts +50 -0
  31. package/src/lib/seam/devicedb/route-types.ts +7 -1
@@ -30,6 +30,10 @@ declare const device_model_v0: z.ZodObject<{
30
30
  }>;
31
31
  type DeviceModelV0 = z.infer<typeof device_model_v0>;
32
32
 
33
+ declare const device_category: z.ZodEnum<["smartlock", "sensor", "thermostat", "relay", "intercom", "accessory"]>;
34
+ type DeviceCategory = z.infer<typeof device_category>;
35
+ declare const device_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
36
+ type DeviceConnectionType = z.infer<typeof device_connection_type>;
33
37
  declare const thermostat: z.ZodObject<{
34
38
  main_category: z.ZodLiteral<"thermostat">;
35
39
  physical_properties: z.ZodObject<{
@@ -953,6 +957,8 @@ declare const image_reference: z.ZodObject<{
953
957
  }>;
954
958
  type ImageReference = z.infer<typeof image_reference>;
955
959
 
960
+ declare const manufacturer_integration_support_level: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
961
+ type ManufacturerIntegrationSupportLevel = z.infer<typeof manufacturer_integration_support_level>;
956
962
  declare const manufacturer: z.ZodObject<{
957
963
  manufacturer_id: z.ZodString;
958
964
  display_name: z.ZodString;
@@ -998,34 +1004,1865 @@ declare const manufacturer: z.ZodObject<{
998
1004
  type Manufacturer = z.infer<typeof manufacturer>;
999
1005
 
1000
1006
  type index_BaseDeviceModelV1 = BaseDeviceModelV1;
1007
+ type index_DeviceCategory = DeviceCategory;
1008
+ type index_DeviceConnectionType = DeviceConnectionType;
1001
1009
  type index_DeviceModelV0 = DeviceModelV0;
1002
1010
  type index_DeviceModelV1 = DeviceModelV1;
1003
1011
  type index_ImageReference = ImageReference;
1004
1012
  type index_Manufacturer = Manufacturer;
1013
+ type index_ManufacturerIntegrationSupportLevel = ManufacturerIntegrationSupportLevel;
1005
1014
  type index_ThermostatPropertiesV1 = ThermostatPropertiesV1;
1006
1015
  declare const index_base_device_model_v1: typeof base_device_model_v1;
1016
+ declare const index_device_category: typeof device_category;
1017
+ declare const index_device_connection_type: typeof device_connection_type;
1007
1018
  declare const index_device_model_category_specific_properties: typeof device_model_category_specific_properties;
1008
1019
  declare const index_device_model_v0: typeof device_model_v0;
1009
1020
  declare const index_device_model_v1: typeof device_model_v1;
1010
1021
  declare const index_image_reference: typeof image_reference;
1011
1022
  declare const index_manufacturer: typeof manufacturer;
1023
+ declare const index_manufacturer_integration_support_level: typeof manufacturer_integration_support_level;
1024
+ declare const index_thermostat: typeof thermostat;
1012
1025
  declare namespace index {
1013
1026
  export {
1014
1027
  index_BaseDeviceModelV1 as BaseDeviceModelV1,
1028
+ index_DeviceCategory as DeviceCategory,
1029
+ index_DeviceConnectionType as DeviceConnectionType,
1015
1030
  index_DeviceModelV0 as DeviceModelV0,
1016
1031
  index_DeviceModelV1 as DeviceModelV1,
1017
1032
  index_ImageReference as ImageReference,
1018
1033
  index_Manufacturer as Manufacturer,
1034
+ index_ManufacturerIntegrationSupportLevel as ManufacturerIntegrationSupportLevel,
1019
1035
  index_ThermostatPropertiesV1 as ThermostatPropertiesV1,
1020
1036
  index_base_device_model_v1 as base_device_model_v1,
1037
+ index_device_category as device_category,
1038
+ index_device_connection_type as device_connection_type,
1021
1039
  index_device_model_category_specific_properties as device_model_category_specific_properties,
1022
1040
  index_device_model_v0 as device_model_v0,
1023
1041
  index_device_model_v1 as device_model_v1,
1024
1042
  index_image_reference as image_reference,
1025
1043
  index_manufacturer as manufacturer,
1044
+ index_manufacturer_integration_support_level as manufacturer_integration_support_level,
1045
+ index_thermostat as thermostat,
1026
1046
  };
1027
1047
  }
1028
1048
 
1049
+ declare const routes: {
1050
+ readonly '/api/v1/device_models/get': {
1051
+ readonly auth: "publishable_key";
1052
+ readonly methods: readonly ["GET", "OPTIONS"];
1053
+ readonly queryParams: z.ZodObject<{
1054
+ device_model_id: z.ZodString;
1055
+ }, "strip", z.ZodTypeAny, {
1056
+ device_model_id: string;
1057
+ }, {
1058
+ device_model_id: string;
1059
+ }>;
1060
+ readonly jsonResponse: z.ZodObject<{
1061
+ device_model: z.ZodIntersection<z.ZodObject<{
1062
+ device_model_id: z.ZodString;
1063
+ manufacturer: z.ZodObject<{
1064
+ manufacturer_id: z.ZodString;
1065
+ display_name: z.ZodString;
1066
+ logo: z.ZodOptional<z.ZodObject<{
1067
+ url: z.ZodString;
1068
+ width: z.ZodNumber;
1069
+ height: z.ZodNumber;
1070
+ }, "strip", z.ZodTypeAny, {
1071
+ url: string;
1072
+ width: number;
1073
+ height: number;
1074
+ }, {
1075
+ url: string;
1076
+ width: number;
1077
+ height: number;
1078
+ }>>;
1079
+ integration: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
1080
+ is_connect_webview_supported: z.ZodBoolean;
1081
+ requires_seam_support_to_add_account: z.ZodBoolean;
1082
+ }, "strip", z.ZodTypeAny, {
1083
+ display_name: string;
1084
+ manufacturer_id: string;
1085
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1086
+ is_connect_webview_supported: boolean;
1087
+ requires_seam_support_to_add_account: boolean;
1088
+ logo?: {
1089
+ url: string;
1090
+ width: number;
1091
+ height: number;
1092
+ } | undefined;
1093
+ }, {
1094
+ display_name: string;
1095
+ manufacturer_id: string;
1096
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1097
+ is_connect_webview_supported: boolean;
1098
+ requires_seam_support_to_add_account: boolean;
1099
+ logo?: {
1100
+ url: string;
1101
+ width: number;
1102
+ height: number;
1103
+ } | undefined;
1104
+ }>;
1105
+ is_device_supported: z.ZodBoolean;
1106
+ display_name: z.ZodString;
1107
+ description: z.ZodString;
1108
+ product_url: z.ZodOptional<z.ZodString>;
1109
+ main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
1110
+ aesthetic_variants: z.ZodArray<z.ZodObject<{
1111
+ slug: z.ZodString;
1112
+ display_name: z.ZodString;
1113
+ primary_color_hex: z.ZodOptional<z.ZodString>;
1114
+ manufacturer_sku: z.ZodOptional<z.ZodString>;
1115
+ front_image: z.ZodOptional<z.ZodObject<{
1116
+ url: z.ZodString;
1117
+ width: z.ZodNumber;
1118
+ height: z.ZodNumber;
1119
+ }, "strip", z.ZodTypeAny, {
1120
+ url: string;
1121
+ width: number;
1122
+ height: number;
1123
+ }, {
1124
+ url: string;
1125
+ width: number;
1126
+ height: number;
1127
+ }>>;
1128
+ back_image: z.ZodOptional<z.ZodObject<{
1129
+ url: z.ZodString;
1130
+ width: z.ZodNumber;
1131
+ height: z.ZodNumber;
1132
+ }, "strip", z.ZodTypeAny, {
1133
+ url: string;
1134
+ width: number;
1135
+ height: number;
1136
+ }, {
1137
+ url: string;
1138
+ width: number;
1139
+ height: number;
1140
+ }>>;
1141
+ images: z.ZodArray<z.ZodObject<{
1142
+ url: z.ZodString;
1143
+ width: z.ZodNumber;
1144
+ height: z.ZodNumber;
1145
+ }, "strip", z.ZodTypeAny, {
1146
+ url: string;
1147
+ width: number;
1148
+ height: number;
1149
+ }, {
1150
+ url: string;
1151
+ width: number;
1152
+ height: number;
1153
+ }>, "many">;
1154
+ }, "strip", z.ZodTypeAny, {
1155
+ display_name: string;
1156
+ slug: string;
1157
+ images: {
1158
+ url: string;
1159
+ width: number;
1160
+ height: number;
1161
+ }[];
1162
+ primary_color_hex?: string | undefined;
1163
+ manufacturer_sku?: string | undefined;
1164
+ front_image?: {
1165
+ url: string;
1166
+ width: number;
1167
+ height: number;
1168
+ } | undefined;
1169
+ back_image?: {
1170
+ url: string;
1171
+ width: number;
1172
+ height: number;
1173
+ } | undefined;
1174
+ }, {
1175
+ display_name: string;
1176
+ slug: string;
1177
+ images: {
1178
+ url: string;
1179
+ width: number;
1180
+ height: number;
1181
+ }[];
1182
+ primary_color_hex?: string | undefined;
1183
+ manufacturer_sku?: string | undefined;
1184
+ front_image?: {
1185
+ url: string;
1186
+ width: number;
1187
+ height: number;
1188
+ } | undefined;
1189
+ back_image?: {
1190
+ url: string;
1191
+ width: number;
1192
+ height: number;
1193
+ } | undefined;
1194
+ }>, "many">;
1195
+ power_sources: z.ZodArray<z.ZodEnum<["battery", "hardwired", "mechanical_harvesting", "wireless", "ethernet"]>, "many">;
1196
+ }, "strip", z.ZodTypeAny, {
1197
+ display_name: string;
1198
+ description: string;
1199
+ device_model_id: string;
1200
+ manufacturer: {
1201
+ display_name: string;
1202
+ manufacturer_id: string;
1203
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1204
+ is_connect_webview_supported: boolean;
1205
+ requires_seam_support_to_add_account: boolean;
1206
+ logo?: {
1207
+ url: string;
1208
+ width: number;
1209
+ height: number;
1210
+ } | undefined;
1211
+ };
1212
+ is_device_supported: boolean;
1213
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1214
+ aesthetic_variants: {
1215
+ display_name: string;
1216
+ slug: string;
1217
+ images: {
1218
+ url: string;
1219
+ width: number;
1220
+ height: number;
1221
+ }[];
1222
+ primary_color_hex?: string | undefined;
1223
+ manufacturer_sku?: string | undefined;
1224
+ front_image?: {
1225
+ url: string;
1226
+ width: number;
1227
+ height: number;
1228
+ } | undefined;
1229
+ back_image?: {
1230
+ url: string;
1231
+ width: number;
1232
+ height: number;
1233
+ } | undefined;
1234
+ }[];
1235
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1236
+ product_url?: string | undefined;
1237
+ }, {
1238
+ display_name: string;
1239
+ description: string;
1240
+ device_model_id: string;
1241
+ manufacturer: {
1242
+ display_name: string;
1243
+ manufacturer_id: string;
1244
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1245
+ is_connect_webview_supported: boolean;
1246
+ requires_seam_support_to_add_account: boolean;
1247
+ logo?: {
1248
+ url: string;
1249
+ width: number;
1250
+ height: number;
1251
+ } | undefined;
1252
+ };
1253
+ is_device_supported: boolean;
1254
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1255
+ aesthetic_variants: {
1256
+ display_name: string;
1257
+ slug: string;
1258
+ images: {
1259
+ url: string;
1260
+ width: number;
1261
+ height: number;
1262
+ }[];
1263
+ primary_color_hex?: string | undefined;
1264
+ manufacturer_sku?: string | undefined;
1265
+ front_image?: {
1266
+ url: string;
1267
+ width: number;
1268
+ height: number;
1269
+ } | undefined;
1270
+ back_image?: {
1271
+ url: string;
1272
+ width: number;
1273
+ height: number;
1274
+ } | undefined;
1275
+ }[];
1276
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1277
+ product_url?: string | undefined;
1278
+ }>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
1279
+ main_category: z.ZodLiteral<"smartlock">;
1280
+ physical_properties: z.ZodObject<{
1281
+ lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
1282
+ has_physical_key: z.ZodBoolean;
1283
+ has_camera: z.ZodBoolean;
1284
+ }, "strip", z.ZodTypeAny, {
1285
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
1286
+ has_physical_key: boolean;
1287
+ has_camera: boolean;
1288
+ }, {
1289
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
1290
+ has_physical_key: boolean;
1291
+ has_camera: boolean;
1292
+ }>;
1293
+ software_features: z.ZodObject<{
1294
+ can_remotely_unlock: z.ZodBoolean;
1295
+ can_program_access_codes: z.ZodBoolean;
1296
+ can_program_access_schedules: z.ZodBoolean;
1297
+ can_program_access_codes_offline: z.ZodBoolean;
1298
+ }, "strip", z.ZodTypeAny, {
1299
+ can_remotely_unlock: boolean;
1300
+ can_program_access_codes: boolean;
1301
+ can_program_access_schedules: boolean;
1302
+ can_program_access_codes_offline: boolean;
1303
+ }, {
1304
+ can_remotely_unlock: boolean;
1305
+ can_program_access_codes: boolean;
1306
+ can_program_access_schedules: boolean;
1307
+ can_program_access_codes_offline: boolean;
1308
+ }>;
1309
+ }, "strip", z.ZodTypeAny, {
1310
+ main_category: "smartlock";
1311
+ physical_properties: {
1312
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
1313
+ has_physical_key: boolean;
1314
+ has_camera: boolean;
1315
+ };
1316
+ software_features: {
1317
+ can_remotely_unlock: boolean;
1318
+ can_program_access_codes: boolean;
1319
+ can_program_access_schedules: boolean;
1320
+ can_program_access_codes_offline: boolean;
1321
+ };
1322
+ }, {
1323
+ main_category: "smartlock";
1324
+ physical_properties: {
1325
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
1326
+ has_physical_key: boolean;
1327
+ has_camera: boolean;
1328
+ };
1329
+ software_features: {
1330
+ can_remotely_unlock: boolean;
1331
+ can_program_access_codes: boolean;
1332
+ can_program_access_schedules: boolean;
1333
+ can_program_access_codes_offline: boolean;
1334
+ };
1335
+ }>, z.ZodObject<{
1336
+ main_category: z.ZodLiteral<"sensor">;
1337
+ physical_properties: z.ZodObject<{
1338
+ has_noise_sensor: z.ZodBoolean;
1339
+ has_humidity_sensor: z.ZodBoolean;
1340
+ has_temperature_sensor: z.ZodBoolean;
1341
+ has_occupancy_detection: z.ZodBoolean;
1342
+ }, "strip", z.ZodTypeAny, {
1343
+ has_noise_sensor: boolean;
1344
+ has_humidity_sensor: boolean;
1345
+ has_temperature_sensor: boolean;
1346
+ has_occupancy_detection: boolean;
1347
+ }, {
1348
+ has_noise_sensor: boolean;
1349
+ has_humidity_sensor: boolean;
1350
+ has_temperature_sensor: boolean;
1351
+ has_occupancy_detection: boolean;
1352
+ }>;
1353
+ }, "strip", z.ZodTypeAny, {
1354
+ main_category: "sensor";
1355
+ physical_properties: {
1356
+ has_noise_sensor: boolean;
1357
+ has_humidity_sensor: boolean;
1358
+ has_temperature_sensor: boolean;
1359
+ has_occupancy_detection: boolean;
1360
+ };
1361
+ }, {
1362
+ main_category: "sensor";
1363
+ physical_properties: {
1364
+ has_noise_sensor: boolean;
1365
+ has_humidity_sensor: boolean;
1366
+ has_temperature_sensor: boolean;
1367
+ has_occupancy_detection: boolean;
1368
+ };
1369
+ }>, z.ZodObject<{
1370
+ main_category: z.ZodLiteral<"thermostat">;
1371
+ physical_properties: z.ZodObject<{
1372
+ available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
1373
+ is_heat_pump_compatible: z.ZodBoolean;
1374
+ has_occupancy_detection: z.ZodBoolean;
1375
+ supports_demand_response: z.ZodBoolean;
1376
+ has_humidity_sensor: z.ZodBoolean;
1377
+ has_temperature_sensor: z.ZodBoolean;
1378
+ supports_emergency_heating_mode: z.ZodBoolean;
1379
+ }, "strip", z.ZodTypeAny, {
1380
+ has_humidity_sensor: boolean;
1381
+ has_temperature_sensor: boolean;
1382
+ has_occupancy_detection: boolean;
1383
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
1384
+ is_heat_pump_compatible: boolean;
1385
+ supports_demand_response: boolean;
1386
+ supports_emergency_heating_mode: boolean;
1387
+ }, {
1388
+ has_humidity_sensor: boolean;
1389
+ has_temperature_sensor: boolean;
1390
+ has_occupancy_detection: boolean;
1391
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
1392
+ is_heat_pump_compatible: boolean;
1393
+ supports_demand_response: boolean;
1394
+ supports_emergency_heating_mode: boolean;
1395
+ }>;
1396
+ software_features: z.ZodObject<{
1397
+ can_program_climate_schedules: z.ZodBoolean;
1398
+ }, "strip", z.ZodTypeAny, {
1399
+ can_program_climate_schedules: boolean;
1400
+ }, {
1401
+ can_program_climate_schedules: boolean;
1402
+ }>;
1403
+ }, "strip", z.ZodTypeAny, {
1404
+ main_category: "thermostat";
1405
+ physical_properties: {
1406
+ has_humidity_sensor: boolean;
1407
+ has_temperature_sensor: boolean;
1408
+ has_occupancy_detection: boolean;
1409
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
1410
+ is_heat_pump_compatible: boolean;
1411
+ supports_demand_response: boolean;
1412
+ supports_emergency_heating_mode: boolean;
1413
+ };
1414
+ software_features: {
1415
+ can_program_climate_schedules: boolean;
1416
+ };
1417
+ }, {
1418
+ main_category: "thermostat";
1419
+ physical_properties: {
1420
+ has_humidity_sensor: boolean;
1421
+ has_temperature_sensor: boolean;
1422
+ has_occupancy_detection: boolean;
1423
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
1424
+ is_heat_pump_compatible: boolean;
1425
+ supports_demand_response: boolean;
1426
+ supports_emergency_heating_mode: boolean;
1427
+ };
1428
+ software_features: {
1429
+ can_program_climate_schedules: boolean;
1430
+ };
1431
+ }>, z.ZodObject<{
1432
+ main_category: z.ZodLiteral<"relay">;
1433
+ }, "strip", z.ZodTypeAny, {
1434
+ main_category: "relay";
1435
+ }, {
1436
+ main_category: "relay";
1437
+ }>, z.ZodObject<{
1438
+ main_category: z.ZodLiteral<"intercom">;
1439
+ physical_properties: z.ZodObject<{
1440
+ has_camera: z.ZodBoolean;
1441
+ }, "strip", z.ZodTypeAny, {
1442
+ has_camera: boolean;
1443
+ }, {
1444
+ has_camera: boolean;
1445
+ }>;
1446
+ software_features: z.ZodObject<{
1447
+ can_remotely_unlock: z.ZodBoolean;
1448
+ can_program_access_codes: z.ZodBoolean;
1449
+ }, "strip", z.ZodTypeAny, {
1450
+ can_remotely_unlock: boolean;
1451
+ can_program_access_codes: boolean;
1452
+ }, {
1453
+ can_remotely_unlock: boolean;
1454
+ can_program_access_codes: boolean;
1455
+ }>;
1456
+ }, "strip", z.ZodTypeAny, {
1457
+ main_category: "intercom";
1458
+ physical_properties: {
1459
+ has_camera: boolean;
1460
+ };
1461
+ software_features: {
1462
+ can_remotely_unlock: boolean;
1463
+ can_program_access_codes: boolean;
1464
+ };
1465
+ }, {
1466
+ main_category: "intercom";
1467
+ physical_properties: {
1468
+ has_camera: boolean;
1469
+ };
1470
+ software_features: {
1471
+ can_remotely_unlock: boolean;
1472
+ can_program_access_codes: boolean;
1473
+ };
1474
+ }>, z.ZodObject<{
1475
+ main_category: z.ZodLiteral<"accessory">;
1476
+ }, "strip", z.ZodTypeAny, {
1477
+ main_category: "accessory";
1478
+ }, {
1479
+ main_category: "accessory";
1480
+ }>]>>;
1481
+ }, "strip", z.ZodTypeAny, {
1482
+ device_model: ({
1483
+ display_name: string;
1484
+ description: string;
1485
+ device_model_id: string;
1486
+ manufacturer: {
1487
+ display_name: string;
1488
+ manufacturer_id: string;
1489
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1490
+ is_connect_webview_supported: boolean;
1491
+ requires_seam_support_to_add_account: boolean;
1492
+ logo?: {
1493
+ url: string;
1494
+ width: number;
1495
+ height: number;
1496
+ } | undefined;
1497
+ };
1498
+ is_device_supported: boolean;
1499
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1500
+ aesthetic_variants: {
1501
+ display_name: string;
1502
+ slug: string;
1503
+ images: {
1504
+ url: string;
1505
+ width: number;
1506
+ height: number;
1507
+ }[];
1508
+ primary_color_hex?: string | undefined;
1509
+ manufacturer_sku?: string | undefined;
1510
+ front_image?: {
1511
+ url: string;
1512
+ width: number;
1513
+ height: number;
1514
+ } | undefined;
1515
+ back_image?: {
1516
+ url: string;
1517
+ width: number;
1518
+ height: number;
1519
+ } | undefined;
1520
+ }[];
1521
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1522
+ product_url?: string | undefined;
1523
+ } & {
1524
+ main_category: "smartlock";
1525
+ physical_properties: {
1526
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
1527
+ has_physical_key: boolean;
1528
+ has_camera: boolean;
1529
+ };
1530
+ software_features: {
1531
+ can_remotely_unlock: boolean;
1532
+ can_program_access_codes: boolean;
1533
+ can_program_access_schedules: boolean;
1534
+ can_program_access_codes_offline: boolean;
1535
+ };
1536
+ }) | ({
1537
+ display_name: string;
1538
+ description: string;
1539
+ device_model_id: string;
1540
+ manufacturer: {
1541
+ display_name: string;
1542
+ manufacturer_id: string;
1543
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1544
+ is_connect_webview_supported: boolean;
1545
+ requires_seam_support_to_add_account: boolean;
1546
+ logo?: {
1547
+ url: string;
1548
+ width: number;
1549
+ height: number;
1550
+ } | undefined;
1551
+ };
1552
+ is_device_supported: boolean;
1553
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1554
+ aesthetic_variants: {
1555
+ display_name: string;
1556
+ slug: string;
1557
+ images: {
1558
+ url: string;
1559
+ width: number;
1560
+ height: number;
1561
+ }[];
1562
+ primary_color_hex?: string | undefined;
1563
+ manufacturer_sku?: string | undefined;
1564
+ front_image?: {
1565
+ url: string;
1566
+ width: number;
1567
+ height: number;
1568
+ } | undefined;
1569
+ back_image?: {
1570
+ url: string;
1571
+ width: number;
1572
+ height: number;
1573
+ } | undefined;
1574
+ }[];
1575
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1576
+ product_url?: string | undefined;
1577
+ } & {
1578
+ main_category: "sensor";
1579
+ physical_properties: {
1580
+ has_noise_sensor: boolean;
1581
+ has_humidity_sensor: boolean;
1582
+ has_temperature_sensor: boolean;
1583
+ has_occupancy_detection: boolean;
1584
+ };
1585
+ }) | ({
1586
+ display_name: string;
1587
+ description: string;
1588
+ device_model_id: string;
1589
+ manufacturer: {
1590
+ display_name: string;
1591
+ manufacturer_id: string;
1592
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1593
+ is_connect_webview_supported: boolean;
1594
+ requires_seam_support_to_add_account: boolean;
1595
+ logo?: {
1596
+ url: string;
1597
+ width: number;
1598
+ height: number;
1599
+ } | undefined;
1600
+ };
1601
+ is_device_supported: boolean;
1602
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1603
+ aesthetic_variants: {
1604
+ display_name: string;
1605
+ slug: string;
1606
+ images: {
1607
+ url: string;
1608
+ width: number;
1609
+ height: number;
1610
+ }[];
1611
+ primary_color_hex?: string | undefined;
1612
+ manufacturer_sku?: string | undefined;
1613
+ front_image?: {
1614
+ url: string;
1615
+ width: number;
1616
+ height: number;
1617
+ } | undefined;
1618
+ back_image?: {
1619
+ url: string;
1620
+ width: number;
1621
+ height: number;
1622
+ } | undefined;
1623
+ }[];
1624
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1625
+ product_url?: string | undefined;
1626
+ } & {
1627
+ main_category: "thermostat";
1628
+ physical_properties: {
1629
+ has_humidity_sensor: boolean;
1630
+ has_temperature_sensor: boolean;
1631
+ has_occupancy_detection: boolean;
1632
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
1633
+ is_heat_pump_compatible: boolean;
1634
+ supports_demand_response: boolean;
1635
+ supports_emergency_heating_mode: boolean;
1636
+ };
1637
+ software_features: {
1638
+ can_program_climate_schedules: boolean;
1639
+ };
1640
+ }) | ({
1641
+ display_name: string;
1642
+ description: string;
1643
+ device_model_id: string;
1644
+ manufacturer: {
1645
+ display_name: string;
1646
+ manufacturer_id: string;
1647
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1648
+ is_connect_webview_supported: boolean;
1649
+ requires_seam_support_to_add_account: boolean;
1650
+ logo?: {
1651
+ url: string;
1652
+ width: number;
1653
+ height: number;
1654
+ } | undefined;
1655
+ };
1656
+ is_device_supported: boolean;
1657
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1658
+ aesthetic_variants: {
1659
+ display_name: string;
1660
+ slug: string;
1661
+ images: {
1662
+ url: string;
1663
+ width: number;
1664
+ height: number;
1665
+ }[];
1666
+ primary_color_hex?: string | undefined;
1667
+ manufacturer_sku?: string | undefined;
1668
+ front_image?: {
1669
+ url: string;
1670
+ width: number;
1671
+ height: number;
1672
+ } | undefined;
1673
+ back_image?: {
1674
+ url: string;
1675
+ width: number;
1676
+ height: number;
1677
+ } | undefined;
1678
+ }[];
1679
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1680
+ product_url?: string | undefined;
1681
+ } & {
1682
+ main_category: "relay";
1683
+ }) | ({
1684
+ display_name: string;
1685
+ description: string;
1686
+ device_model_id: string;
1687
+ manufacturer: {
1688
+ display_name: string;
1689
+ manufacturer_id: string;
1690
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1691
+ is_connect_webview_supported: boolean;
1692
+ requires_seam_support_to_add_account: boolean;
1693
+ logo?: {
1694
+ url: string;
1695
+ width: number;
1696
+ height: number;
1697
+ } | undefined;
1698
+ };
1699
+ is_device_supported: boolean;
1700
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1701
+ aesthetic_variants: {
1702
+ display_name: string;
1703
+ slug: string;
1704
+ images: {
1705
+ url: string;
1706
+ width: number;
1707
+ height: number;
1708
+ }[];
1709
+ primary_color_hex?: string | undefined;
1710
+ manufacturer_sku?: string | undefined;
1711
+ front_image?: {
1712
+ url: string;
1713
+ width: number;
1714
+ height: number;
1715
+ } | undefined;
1716
+ back_image?: {
1717
+ url: string;
1718
+ width: number;
1719
+ height: number;
1720
+ } | undefined;
1721
+ }[];
1722
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1723
+ product_url?: string | undefined;
1724
+ } & {
1725
+ main_category: "intercom";
1726
+ physical_properties: {
1727
+ has_camera: boolean;
1728
+ };
1729
+ software_features: {
1730
+ can_remotely_unlock: boolean;
1731
+ can_program_access_codes: boolean;
1732
+ };
1733
+ }) | ({
1734
+ display_name: string;
1735
+ description: string;
1736
+ device_model_id: string;
1737
+ manufacturer: {
1738
+ display_name: string;
1739
+ manufacturer_id: string;
1740
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1741
+ is_connect_webview_supported: boolean;
1742
+ requires_seam_support_to_add_account: boolean;
1743
+ logo?: {
1744
+ url: string;
1745
+ width: number;
1746
+ height: number;
1747
+ } | undefined;
1748
+ };
1749
+ is_device_supported: boolean;
1750
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1751
+ aesthetic_variants: {
1752
+ display_name: string;
1753
+ slug: string;
1754
+ images: {
1755
+ url: string;
1756
+ width: number;
1757
+ height: number;
1758
+ }[];
1759
+ primary_color_hex?: string | undefined;
1760
+ manufacturer_sku?: string | undefined;
1761
+ front_image?: {
1762
+ url: string;
1763
+ width: number;
1764
+ height: number;
1765
+ } | undefined;
1766
+ back_image?: {
1767
+ url: string;
1768
+ width: number;
1769
+ height: number;
1770
+ } | undefined;
1771
+ }[];
1772
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1773
+ product_url?: string | undefined;
1774
+ } & {
1775
+ main_category: "accessory";
1776
+ });
1777
+ }, {
1778
+ device_model: ({
1779
+ display_name: string;
1780
+ description: string;
1781
+ device_model_id: string;
1782
+ manufacturer: {
1783
+ display_name: string;
1784
+ manufacturer_id: string;
1785
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1786
+ is_connect_webview_supported: boolean;
1787
+ requires_seam_support_to_add_account: boolean;
1788
+ logo?: {
1789
+ url: string;
1790
+ width: number;
1791
+ height: number;
1792
+ } | undefined;
1793
+ };
1794
+ is_device_supported: boolean;
1795
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1796
+ aesthetic_variants: {
1797
+ display_name: string;
1798
+ slug: string;
1799
+ images: {
1800
+ url: string;
1801
+ width: number;
1802
+ height: number;
1803
+ }[];
1804
+ primary_color_hex?: string | undefined;
1805
+ manufacturer_sku?: string | undefined;
1806
+ front_image?: {
1807
+ url: string;
1808
+ width: number;
1809
+ height: number;
1810
+ } | undefined;
1811
+ back_image?: {
1812
+ url: string;
1813
+ width: number;
1814
+ height: number;
1815
+ } | undefined;
1816
+ }[];
1817
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1818
+ product_url?: string | undefined;
1819
+ } & {
1820
+ main_category: "smartlock";
1821
+ physical_properties: {
1822
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
1823
+ has_physical_key: boolean;
1824
+ has_camera: boolean;
1825
+ };
1826
+ software_features: {
1827
+ can_remotely_unlock: boolean;
1828
+ can_program_access_codes: boolean;
1829
+ can_program_access_schedules: boolean;
1830
+ can_program_access_codes_offline: boolean;
1831
+ };
1832
+ }) | ({
1833
+ display_name: string;
1834
+ description: string;
1835
+ device_model_id: string;
1836
+ manufacturer: {
1837
+ display_name: string;
1838
+ manufacturer_id: string;
1839
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1840
+ is_connect_webview_supported: boolean;
1841
+ requires_seam_support_to_add_account: boolean;
1842
+ logo?: {
1843
+ url: string;
1844
+ width: number;
1845
+ height: number;
1846
+ } | undefined;
1847
+ };
1848
+ is_device_supported: boolean;
1849
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1850
+ aesthetic_variants: {
1851
+ display_name: string;
1852
+ slug: string;
1853
+ images: {
1854
+ url: string;
1855
+ width: number;
1856
+ height: number;
1857
+ }[];
1858
+ primary_color_hex?: string | undefined;
1859
+ manufacturer_sku?: string | undefined;
1860
+ front_image?: {
1861
+ url: string;
1862
+ width: number;
1863
+ height: number;
1864
+ } | undefined;
1865
+ back_image?: {
1866
+ url: string;
1867
+ width: number;
1868
+ height: number;
1869
+ } | undefined;
1870
+ }[];
1871
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1872
+ product_url?: string | undefined;
1873
+ } & {
1874
+ main_category: "sensor";
1875
+ physical_properties: {
1876
+ has_noise_sensor: boolean;
1877
+ has_humidity_sensor: boolean;
1878
+ has_temperature_sensor: boolean;
1879
+ has_occupancy_detection: boolean;
1880
+ };
1881
+ }) | ({
1882
+ display_name: string;
1883
+ description: string;
1884
+ device_model_id: string;
1885
+ manufacturer: {
1886
+ display_name: string;
1887
+ manufacturer_id: string;
1888
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1889
+ is_connect_webview_supported: boolean;
1890
+ requires_seam_support_to_add_account: boolean;
1891
+ logo?: {
1892
+ url: string;
1893
+ width: number;
1894
+ height: number;
1895
+ } | undefined;
1896
+ };
1897
+ is_device_supported: boolean;
1898
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1899
+ aesthetic_variants: {
1900
+ display_name: string;
1901
+ slug: string;
1902
+ images: {
1903
+ url: string;
1904
+ width: number;
1905
+ height: number;
1906
+ }[];
1907
+ primary_color_hex?: string | undefined;
1908
+ manufacturer_sku?: string | undefined;
1909
+ front_image?: {
1910
+ url: string;
1911
+ width: number;
1912
+ height: number;
1913
+ } | undefined;
1914
+ back_image?: {
1915
+ url: string;
1916
+ width: number;
1917
+ height: number;
1918
+ } | undefined;
1919
+ }[];
1920
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1921
+ product_url?: string | undefined;
1922
+ } & {
1923
+ main_category: "thermostat";
1924
+ physical_properties: {
1925
+ has_humidity_sensor: boolean;
1926
+ has_temperature_sensor: boolean;
1927
+ has_occupancy_detection: boolean;
1928
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
1929
+ is_heat_pump_compatible: boolean;
1930
+ supports_demand_response: boolean;
1931
+ supports_emergency_heating_mode: boolean;
1932
+ };
1933
+ software_features: {
1934
+ can_program_climate_schedules: boolean;
1935
+ };
1936
+ }) | ({
1937
+ display_name: string;
1938
+ description: string;
1939
+ device_model_id: string;
1940
+ manufacturer: {
1941
+ display_name: string;
1942
+ manufacturer_id: string;
1943
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1944
+ is_connect_webview_supported: boolean;
1945
+ requires_seam_support_to_add_account: boolean;
1946
+ logo?: {
1947
+ url: string;
1948
+ width: number;
1949
+ height: number;
1950
+ } | undefined;
1951
+ };
1952
+ is_device_supported: boolean;
1953
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1954
+ aesthetic_variants: {
1955
+ display_name: string;
1956
+ slug: string;
1957
+ images: {
1958
+ url: string;
1959
+ width: number;
1960
+ height: number;
1961
+ }[];
1962
+ primary_color_hex?: string | undefined;
1963
+ manufacturer_sku?: string | undefined;
1964
+ front_image?: {
1965
+ url: string;
1966
+ width: number;
1967
+ height: number;
1968
+ } | undefined;
1969
+ back_image?: {
1970
+ url: string;
1971
+ width: number;
1972
+ height: number;
1973
+ } | undefined;
1974
+ }[];
1975
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
1976
+ product_url?: string | undefined;
1977
+ } & {
1978
+ main_category: "relay";
1979
+ }) | ({
1980
+ display_name: string;
1981
+ description: string;
1982
+ device_model_id: string;
1983
+ manufacturer: {
1984
+ display_name: string;
1985
+ manufacturer_id: string;
1986
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
1987
+ is_connect_webview_supported: boolean;
1988
+ requires_seam_support_to_add_account: boolean;
1989
+ logo?: {
1990
+ url: string;
1991
+ width: number;
1992
+ height: number;
1993
+ } | undefined;
1994
+ };
1995
+ is_device_supported: boolean;
1996
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
1997
+ aesthetic_variants: {
1998
+ display_name: string;
1999
+ slug: string;
2000
+ images: {
2001
+ url: string;
2002
+ width: number;
2003
+ height: number;
2004
+ }[];
2005
+ primary_color_hex?: string | undefined;
2006
+ manufacturer_sku?: string | undefined;
2007
+ front_image?: {
2008
+ url: string;
2009
+ width: number;
2010
+ height: number;
2011
+ } | undefined;
2012
+ back_image?: {
2013
+ url: string;
2014
+ width: number;
2015
+ height: number;
2016
+ } | undefined;
2017
+ }[];
2018
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
2019
+ product_url?: string | undefined;
2020
+ } & {
2021
+ main_category: "intercom";
2022
+ physical_properties: {
2023
+ has_camera: boolean;
2024
+ };
2025
+ software_features: {
2026
+ can_remotely_unlock: boolean;
2027
+ can_program_access_codes: boolean;
2028
+ };
2029
+ }) | ({
2030
+ display_name: string;
2031
+ description: string;
2032
+ device_model_id: string;
2033
+ manufacturer: {
2034
+ display_name: string;
2035
+ manufacturer_id: string;
2036
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2037
+ is_connect_webview_supported: boolean;
2038
+ requires_seam_support_to_add_account: boolean;
2039
+ logo?: {
2040
+ url: string;
2041
+ width: number;
2042
+ height: number;
2043
+ } | undefined;
2044
+ };
2045
+ is_device_supported: boolean;
2046
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2047
+ aesthetic_variants: {
2048
+ display_name: string;
2049
+ slug: string;
2050
+ images: {
2051
+ url: string;
2052
+ width: number;
2053
+ height: number;
2054
+ }[];
2055
+ primary_color_hex?: string | undefined;
2056
+ manufacturer_sku?: string | undefined;
2057
+ front_image?: {
2058
+ url: string;
2059
+ width: number;
2060
+ height: number;
2061
+ } | undefined;
2062
+ back_image?: {
2063
+ url: string;
2064
+ width: number;
2065
+ height: number;
2066
+ } | undefined;
2067
+ }[];
2068
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
2069
+ product_url?: string | undefined;
2070
+ } & {
2071
+ main_category: "accessory";
2072
+ });
2073
+ }>;
2074
+ };
2075
+ readonly '/api/v1/device_models/list': {
2076
+ readonly auth: "publishable_key";
2077
+ readonly methods: readonly ["GET", "OPTIONS"];
2078
+ readonly queryParams: z.ZodObject<{
2079
+ main_category: z.ZodEnum<["smartlock", "sensor", "thermostat", "relay", "intercom", "accessory"]>;
2080
+ manufacturer_id: z.ZodOptional<z.ZodString>;
2081
+ manufacturer_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2082
+ integration_status: z.ZodOptional<z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>>;
2083
+ text_search: z.ZodOptional<z.ZodString>;
2084
+ }, "strip", z.ZodTypeAny, {
2085
+ main_category: "thermostat" | "smartlock" | "sensor" | "relay" | "intercom" | "accessory";
2086
+ manufacturer_id?: string | undefined;
2087
+ manufacturer_ids?: string[] | undefined;
2088
+ integration_status?: "stable" | "beta" | "unsupported" | "planned" | "inquire" | undefined;
2089
+ text_search?: string | undefined;
2090
+ }, {
2091
+ main_category: "thermostat" | "smartlock" | "sensor" | "relay" | "intercom" | "accessory";
2092
+ manufacturer_id?: string | undefined;
2093
+ manufacturer_ids?: string[] | undefined;
2094
+ integration_status?: "stable" | "beta" | "unsupported" | "planned" | "inquire" | undefined;
2095
+ text_search?: string | undefined;
2096
+ }>;
2097
+ readonly jsonResponse: z.ZodObject<{
2098
+ device_models: z.ZodArray<z.ZodIntersection<z.ZodObject<{
2099
+ device_model_id: z.ZodString;
2100
+ manufacturer: z.ZodObject<{
2101
+ manufacturer_id: z.ZodString;
2102
+ display_name: z.ZodString;
2103
+ logo: z.ZodOptional<z.ZodObject<{
2104
+ url: z.ZodString;
2105
+ width: z.ZodNumber;
2106
+ height: z.ZodNumber;
2107
+ }, "strip", z.ZodTypeAny, {
2108
+ url: string;
2109
+ width: number;
2110
+ height: number;
2111
+ }, {
2112
+ url: string;
2113
+ width: number;
2114
+ height: number;
2115
+ }>>;
2116
+ integration: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
2117
+ is_connect_webview_supported: z.ZodBoolean;
2118
+ requires_seam_support_to_add_account: z.ZodBoolean;
2119
+ }, "strip", z.ZodTypeAny, {
2120
+ display_name: string;
2121
+ manufacturer_id: string;
2122
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2123
+ is_connect_webview_supported: boolean;
2124
+ requires_seam_support_to_add_account: boolean;
2125
+ logo?: {
2126
+ url: string;
2127
+ width: number;
2128
+ height: number;
2129
+ } | undefined;
2130
+ }, {
2131
+ display_name: string;
2132
+ manufacturer_id: string;
2133
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2134
+ is_connect_webview_supported: boolean;
2135
+ requires_seam_support_to_add_account: boolean;
2136
+ logo?: {
2137
+ url: string;
2138
+ width: number;
2139
+ height: number;
2140
+ } | undefined;
2141
+ }>;
2142
+ is_device_supported: z.ZodBoolean;
2143
+ display_name: z.ZodString;
2144
+ description: z.ZodString;
2145
+ product_url: z.ZodOptional<z.ZodString>;
2146
+ main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
2147
+ aesthetic_variants: z.ZodArray<z.ZodObject<{
2148
+ slug: z.ZodString;
2149
+ display_name: z.ZodString;
2150
+ primary_color_hex: z.ZodOptional<z.ZodString>;
2151
+ manufacturer_sku: z.ZodOptional<z.ZodString>;
2152
+ front_image: z.ZodOptional<z.ZodObject<{
2153
+ url: z.ZodString;
2154
+ width: z.ZodNumber;
2155
+ height: z.ZodNumber;
2156
+ }, "strip", z.ZodTypeAny, {
2157
+ url: string;
2158
+ width: number;
2159
+ height: number;
2160
+ }, {
2161
+ url: string;
2162
+ width: number;
2163
+ height: number;
2164
+ }>>;
2165
+ back_image: z.ZodOptional<z.ZodObject<{
2166
+ url: z.ZodString;
2167
+ width: z.ZodNumber;
2168
+ height: z.ZodNumber;
2169
+ }, "strip", z.ZodTypeAny, {
2170
+ url: string;
2171
+ width: number;
2172
+ height: number;
2173
+ }, {
2174
+ url: string;
2175
+ width: number;
2176
+ height: number;
2177
+ }>>;
2178
+ images: z.ZodArray<z.ZodObject<{
2179
+ url: z.ZodString;
2180
+ width: z.ZodNumber;
2181
+ height: z.ZodNumber;
2182
+ }, "strip", z.ZodTypeAny, {
2183
+ url: string;
2184
+ width: number;
2185
+ height: number;
2186
+ }, {
2187
+ url: string;
2188
+ width: number;
2189
+ height: number;
2190
+ }>, "many">;
2191
+ }, "strip", z.ZodTypeAny, {
2192
+ display_name: string;
2193
+ slug: string;
2194
+ images: {
2195
+ url: string;
2196
+ width: number;
2197
+ height: number;
2198
+ }[];
2199
+ primary_color_hex?: string | undefined;
2200
+ manufacturer_sku?: string | undefined;
2201
+ front_image?: {
2202
+ url: string;
2203
+ width: number;
2204
+ height: number;
2205
+ } | undefined;
2206
+ back_image?: {
2207
+ url: string;
2208
+ width: number;
2209
+ height: number;
2210
+ } | undefined;
2211
+ }, {
2212
+ display_name: string;
2213
+ slug: string;
2214
+ images: {
2215
+ url: string;
2216
+ width: number;
2217
+ height: number;
2218
+ }[];
2219
+ primary_color_hex?: string | undefined;
2220
+ manufacturer_sku?: string | undefined;
2221
+ front_image?: {
2222
+ url: string;
2223
+ width: number;
2224
+ height: number;
2225
+ } | undefined;
2226
+ back_image?: {
2227
+ url: string;
2228
+ width: number;
2229
+ height: number;
2230
+ } | undefined;
2231
+ }>, "many">;
2232
+ power_sources: z.ZodArray<z.ZodEnum<["battery", "hardwired", "mechanical_harvesting", "wireless", "ethernet"]>, "many">;
2233
+ }, "strip", z.ZodTypeAny, {
2234
+ display_name: string;
2235
+ description: string;
2236
+ device_model_id: string;
2237
+ manufacturer: {
2238
+ display_name: string;
2239
+ manufacturer_id: string;
2240
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2241
+ is_connect_webview_supported: boolean;
2242
+ requires_seam_support_to_add_account: boolean;
2243
+ logo?: {
2244
+ url: string;
2245
+ width: number;
2246
+ height: number;
2247
+ } | undefined;
2248
+ };
2249
+ is_device_supported: boolean;
2250
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2251
+ aesthetic_variants: {
2252
+ display_name: string;
2253
+ slug: string;
2254
+ images: {
2255
+ url: string;
2256
+ width: number;
2257
+ height: number;
2258
+ }[];
2259
+ primary_color_hex?: string | undefined;
2260
+ manufacturer_sku?: string | undefined;
2261
+ front_image?: {
2262
+ url: string;
2263
+ width: number;
2264
+ height: number;
2265
+ } | undefined;
2266
+ back_image?: {
2267
+ url: string;
2268
+ width: number;
2269
+ height: number;
2270
+ } | undefined;
2271
+ }[];
2272
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
2273
+ product_url?: string | undefined;
2274
+ }, {
2275
+ display_name: string;
2276
+ description: string;
2277
+ device_model_id: string;
2278
+ manufacturer: {
2279
+ display_name: string;
2280
+ manufacturer_id: string;
2281
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2282
+ is_connect_webview_supported: boolean;
2283
+ requires_seam_support_to_add_account: boolean;
2284
+ logo?: {
2285
+ url: string;
2286
+ width: number;
2287
+ height: number;
2288
+ } | undefined;
2289
+ };
2290
+ is_device_supported: boolean;
2291
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2292
+ aesthetic_variants: {
2293
+ display_name: string;
2294
+ slug: string;
2295
+ images: {
2296
+ url: string;
2297
+ width: number;
2298
+ height: number;
2299
+ }[];
2300
+ primary_color_hex?: string | undefined;
2301
+ manufacturer_sku?: string | undefined;
2302
+ front_image?: {
2303
+ url: string;
2304
+ width: number;
2305
+ height: number;
2306
+ } | undefined;
2307
+ back_image?: {
2308
+ url: string;
2309
+ width: number;
2310
+ height: number;
2311
+ } | undefined;
2312
+ }[];
2313
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
2314
+ product_url?: string | undefined;
2315
+ }>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
2316
+ main_category: z.ZodLiteral<"smartlock">;
2317
+ physical_properties: z.ZodObject<{
2318
+ lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
2319
+ has_physical_key: z.ZodBoolean;
2320
+ has_camera: z.ZodBoolean;
2321
+ }, "strip", z.ZodTypeAny, {
2322
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
2323
+ has_physical_key: boolean;
2324
+ has_camera: boolean;
2325
+ }, {
2326
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
2327
+ has_physical_key: boolean;
2328
+ has_camera: boolean;
2329
+ }>;
2330
+ software_features: z.ZodObject<{
2331
+ can_remotely_unlock: z.ZodBoolean;
2332
+ can_program_access_codes: z.ZodBoolean;
2333
+ can_program_access_schedules: z.ZodBoolean;
2334
+ can_program_access_codes_offline: z.ZodBoolean;
2335
+ }, "strip", z.ZodTypeAny, {
2336
+ can_remotely_unlock: boolean;
2337
+ can_program_access_codes: boolean;
2338
+ can_program_access_schedules: boolean;
2339
+ can_program_access_codes_offline: boolean;
2340
+ }, {
2341
+ can_remotely_unlock: boolean;
2342
+ can_program_access_codes: boolean;
2343
+ can_program_access_schedules: boolean;
2344
+ can_program_access_codes_offline: boolean;
2345
+ }>;
2346
+ }, "strip", z.ZodTypeAny, {
2347
+ main_category: "smartlock";
2348
+ physical_properties: {
2349
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
2350
+ has_physical_key: boolean;
2351
+ has_camera: boolean;
2352
+ };
2353
+ software_features: {
2354
+ can_remotely_unlock: boolean;
2355
+ can_program_access_codes: boolean;
2356
+ can_program_access_schedules: boolean;
2357
+ can_program_access_codes_offline: boolean;
2358
+ };
2359
+ }, {
2360
+ main_category: "smartlock";
2361
+ physical_properties: {
2362
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
2363
+ has_physical_key: boolean;
2364
+ has_camera: boolean;
2365
+ };
2366
+ software_features: {
2367
+ can_remotely_unlock: boolean;
2368
+ can_program_access_codes: boolean;
2369
+ can_program_access_schedules: boolean;
2370
+ can_program_access_codes_offline: boolean;
2371
+ };
2372
+ }>, z.ZodObject<{
2373
+ main_category: z.ZodLiteral<"sensor">;
2374
+ physical_properties: z.ZodObject<{
2375
+ has_noise_sensor: z.ZodBoolean;
2376
+ has_humidity_sensor: z.ZodBoolean;
2377
+ has_temperature_sensor: z.ZodBoolean;
2378
+ has_occupancy_detection: z.ZodBoolean;
2379
+ }, "strip", z.ZodTypeAny, {
2380
+ has_noise_sensor: boolean;
2381
+ has_humidity_sensor: boolean;
2382
+ has_temperature_sensor: boolean;
2383
+ has_occupancy_detection: boolean;
2384
+ }, {
2385
+ has_noise_sensor: boolean;
2386
+ has_humidity_sensor: boolean;
2387
+ has_temperature_sensor: boolean;
2388
+ has_occupancy_detection: boolean;
2389
+ }>;
2390
+ }, "strip", z.ZodTypeAny, {
2391
+ main_category: "sensor";
2392
+ physical_properties: {
2393
+ has_noise_sensor: boolean;
2394
+ has_humidity_sensor: boolean;
2395
+ has_temperature_sensor: boolean;
2396
+ has_occupancy_detection: boolean;
2397
+ };
2398
+ }, {
2399
+ main_category: "sensor";
2400
+ physical_properties: {
2401
+ has_noise_sensor: boolean;
2402
+ has_humidity_sensor: boolean;
2403
+ has_temperature_sensor: boolean;
2404
+ has_occupancy_detection: boolean;
2405
+ };
2406
+ }>, z.ZodObject<{
2407
+ main_category: z.ZodLiteral<"thermostat">;
2408
+ physical_properties: z.ZodObject<{
2409
+ available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
2410
+ is_heat_pump_compatible: z.ZodBoolean;
2411
+ has_occupancy_detection: z.ZodBoolean;
2412
+ supports_demand_response: z.ZodBoolean;
2413
+ has_humidity_sensor: z.ZodBoolean;
2414
+ has_temperature_sensor: z.ZodBoolean;
2415
+ supports_emergency_heating_mode: z.ZodBoolean;
2416
+ }, "strip", z.ZodTypeAny, {
2417
+ has_humidity_sensor: boolean;
2418
+ has_temperature_sensor: boolean;
2419
+ has_occupancy_detection: boolean;
2420
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
2421
+ is_heat_pump_compatible: boolean;
2422
+ supports_demand_response: boolean;
2423
+ supports_emergency_heating_mode: boolean;
2424
+ }, {
2425
+ has_humidity_sensor: boolean;
2426
+ has_temperature_sensor: boolean;
2427
+ has_occupancy_detection: boolean;
2428
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
2429
+ is_heat_pump_compatible: boolean;
2430
+ supports_demand_response: boolean;
2431
+ supports_emergency_heating_mode: boolean;
2432
+ }>;
2433
+ software_features: z.ZodObject<{
2434
+ can_program_climate_schedules: z.ZodBoolean;
2435
+ }, "strip", z.ZodTypeAny, {
2436
+ can_program_climate_schedules: boolean;
2437
+ }, {
2438
+ can_program_climate_schedules: boolean;
2439
+ }>;
2440
+ }, "strip", z.ZodTypeAny, {
2441
+ main_category: "thermostat";
2442
+ physical_properties: {
2443
+ has_humidity_sensor: boolean;
2444
+ has_temperature_sensor: boolean;
2445
+ has_occupancy_detection: boolean;
2446
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
2447
+ is_heat_pump_compatible: boolean;
2448
+ supports_demand_response: boolean;
2449
+ supports_emergency_heating_mode: boolean;
2450
+ };
2451
+ software_features: {
2452
+ can_program_climate_schedules: boolean;
2453
+ };
2454
+ }, {
2455
+ main_category: "thermostat";
2456
+ physical_properties: {
2457
+ has_humidity_sensor: boolean;
2458
+ has_temperature_sensor: boolean;
2459
+ has_occupancy_detection: boolean;
2460
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
2461
+ is_heat_pump_compatible: boolean;
2462
+ supports_demand_response: boolean;
2463
+ supports_emergency_heating_mode: boolean;
2464
+ };
2465
+ software_features: {
2466
+ can_program_climate_schedules: boolean;
2467
+ };
2468
+ }>, z.ZodObject<{
2469
+ main_category: z.ZodLiteral<"relay">;
2470
+ }, "strip", z.ZodTypeAny, {
2471
+ main_category: "relay";
2472
+ }, {
2473
+ main_category: "relay";
2474
+ }>, z.ZodObject<{
2475
+ main_category: z.ZodLiteral<"intercom">;
2476
+ physical_properties: z.ZodObject<{
2477
+ has_camera: z.ZodBoolean;
2478
+ }, "strip", z.ZodTypeAny, {
2479
+ has_camera: boolean;
2480
+ }, {
2481
+ has_camera: boolean;
2482
+ }>;
2483
+ software_features: z.ZodObject<{
2484
+ can_remotely_unlock: z.ZodBoolean;
2485
+ can_program_access_codes: z.ZodBoolean;
2486
+ }, "strip", z.ZodTypeAny, {
2487
+ can_remotely_unlock: boolean;
2488
+ can_program_access_codes: boolean;
2489
+ }, {
2490
+ can_remotely_unlock: boolean;
2491
+ can_program_access_codes: boolean;
2492
+ }>;
2493
+ }, "strip", z.ZodTypeAny, {
2494
+ main_category: "intercom";
2495
+ physical_properties: {
2496
+ has_camera: boolean;
2497
+ };
2498
+ software_features: {
2499
+ can_remotely_unlock: boolean;
2500
+ can_program_access_codes: boolean;
2501
+ };
2502
+ }, {
2503
+ main_category: "intercom";
2504
+ physical_properties: {
2505
+ has_camera: boolean;
2506
+ };
2507
+ software_features: {
2508
+ can_remotely_unlock: boolean;
2509
+ can_program_access_codes: boolean;
2510
+ };
2511
+ }>, z.ZodObject<{
2512
+ main_category: z.ZodLiteral<"accessory">;
2513
+ }, "strip", z.ZodTypeAny, {
2514
+ main_category: "accessory";
2515
+ }, {
2516
+ main_category: "accessory";
2517
+ }>]>>, "many">;
2518
+ }, "strip", z.ZodTypeAny, {
2519
+ device_models: ({
2520
+ display_name: string;
2521
+ description: string;
2522
+ device_model_id: string;
2523
+ manufacturer: {
2524
+ display_name: string;
2525
+ manufacturer_id: string;
2526
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2527
+ is_connect_webview_supported: boolean;
2528
+ requires_seam_support_to_add_account: boolean;
2529
+ logo?: {
2530
+ url: string;
2531
+ width: number;
2532
+ height: number;
2533
+ } | undefined;
2534
+ };
2535
+ is_device_supported: boolean;
2536
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2537
+ aesthetic_variants: {
2538
+ display_name: string;
2539
+ slug: string;
2540
+ images: {
2541
+ url: string;
2542
+ width: number;
2543
+ height: number;
2544
+ }[];
2545
+ primary_color_hex?: string | undefined;
2546
+ manufacturer_sku?: string | undefined;
2547
+ front_image?: {
2548
+ url: string;
2549
+ width: number;
2550
+ height: number;
2551
+ } | undefined;
2552
+ back_image?: {
2553
+ url: string;
2554
+ width: number;
2555
+ height: number;
2556
+ } | undefined;
2557
+ }[];
2558
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
2559
+ product_url?: string | undefined;
2560
+ } & ({
2561
+ main_category: "smartlock";
2562
+ physical_properties: {
2563
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
2564
+ has_physical_key: boolean;
2565
+ has_camera: boolean;
2566
+ };
2567
+ software_features: {
2568
+ can_remotely_unlock: boolean;
2569
+ can_program_access_codes: boolean;
2570
+ can_program_access_schedules: boolean;
2571
+ can_program_access_codes_offline: boolean;
2572
+ };
2573
+ } | {
2574
+ main_category: "sensor";
2575
+ physical_properties: {
2576
+ has_noise_sensor: boolean;
2577
+ has_humidity_sensor: boolean;
2578
+ has_temperature_sensor: boolean;
2579
+ has_occupancy_detection: boolean;
2580
+ };
2581
+ } | {
2582
+ main_category: "thermostat";
2583
+ physical_properties: {
2584
+ has_humidity_sensor: boolean;
2585
+ has_temperature_sensor: boolean;
2586
+ has_occupancy_detection: boolean;
2587
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
2588
+ is_heat_pump_compatible: boolean;
2589
+ supports_demand_response: boolean;
2590
+ supports_emergency_heating_mode: boolean;
2591
+ };
2592
+ software_features: {
2593
+ can_program_climate_schedules: boolean;
2594
+ };
2595
+ } | {
2596
+ main_category: "relay";
2597
+ } | {
2598
+ main_category: "intercom";
2599
+ physical_properties: {
2600
+ has_camera: boolean;
2601
+ };
2602
+ software_features: {
2603
+ can_remotely_unlock: boolean;
2604
+ can_program_access_codes: boolean;
2605
+ };
2606
+ } | {
2607
+ main_category: "accessory";
2608
+ }))[];
2609
+ }, {
2610
+ device_models: ({
2611
+ display_name: string;
2612
+ description: string;
2613
+ device_model_id: string;
2614
+ manufacturer: {
2615
+ display_name: string;
2616
+ manufacturer_id: string;
2617
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2618
+ is_connect_webview_supported: boolean;
2619
+ requires_seam_support_to_add_account: boolean;
2620
+ logo?: {
2621
+ url: string;
2622
+ width: number;
2623
+ height: number;
2624
+ } | undefined;
2625
+ };
2626
+ is_device_supported: boolean;
2627
+ main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
2628
+ aesthetic_variants: {
2629
+ display_name: string;
2630
+ slug: string;
2631
+ images: {
2632
+ url: string;
2633
+ width: number;
2634
+ height: number;
2635
+ }[];
2636
+ primary_color_hex?: string | undefined;
2637
+ manufacturer_sku?: string | undefined;
2638
+ front_image?: {
2639
+ url: string;
2640
+ width: number;
2641
+ height: number;
2642
+ } | undefined;
2643
+ back_image?: {
2644
+ url: string;
2645
+ width: number;
2646
+ height: number;
2647
+ } | undefined;
2648
+ }[];
2649
+ power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
2650
+ product_url?: string | undefined;
2651
+ } & ({
2652
+ main_category: "smartlock";
2653
+ physical_properties: {
2654
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
2655
+ has_physical_key: boolean;
2656
+ has_camera: boolean;
2657
+ };
2658
+ software_features: {
2659
+ can_remotely_unlock: boolean;
2660
+ can_program_access_codes: boolean;
2661
+ can_program_access_schedules: boolean;
2662
+ can_program_access_codes_offline: boolean;
2663
+ };
2664
+ } | {
2665
+ main_category: "sensor";
2666
+ physical_properties: {
2667
+ has_noise_sensor: boolean;
2668
+ has_humidity_sensor: boolean;
2669
+ has_temperature_sensor: boolean;
2670
+ has_occupancy_detection: boolean;
2671
+ };
2672
+ } | {
2673
+ main_category: "thermostat";
2674
+ physical_properties: {
2675
+ has_humidity_sensor: boolean;
2676
+ has_temperature_sensor: boolean;
2677
+ has_occupancy_detection: boolean;
2678
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
2679
+ is_heat_pump_compatible: boolean;
2680
+ supports_demand_response: boolean;
2681
+ supports_emergency_heating_mode: boolean;
2682
+ };
2683
+ software_features: {
2684
+ can_program_climate_schedules: boolean;
2685
+ };
2686
+ } | {
2687
+ main_category: "relay";
2688
+ } | {
2689
+ main_category: "intercom";
2690
+ physical_properties: {
2691
+ has_camera: boolean;
2692
+ };
2693
+ software_features: {
2694
+ can_remotely_unlock: boolean;
2695
+ can_program_access_codes: boolean;
2696
+ };
2697
+ } | {
2698
+ main_category: "accessory";
2699
+ }))[];
2700
+ }>;
2701
+ };
2702
+ readonly '/api/v1/manufacturers/get': {
2703
+ readonly auth: "publishable_key";
2704
+ readonly methods: readonly ["GET", "OPTIONS"];
2705
+ readonly queryParams: z.ZodObject<{
2706
+ manufacturer_id: z.ZodString;
2707
+ }, "strip", z.ZodTypeAny, {
2708
+ manufacturer_id: string;
2709
+ }, {
2710
+ manufacturer_id: string;
2711
+ }>;
2712
+ readonly jsonResponse: z.ZodObject<{
2713
+ manufacturer: z.ZodObject<{
2714
+ manufacturer_id: z.ZodString;
2715
+ display_name: z.ZodString;
2716
+ logo: z.ZodOptional<z.ZodObject<{
2717
+ url: z.ZodString;
2718
+ width: z.ZodNumber;
2719
+ height: z.ZodNumber;
2720
+ }, "strip", z.ZodTypeAny, {
2721
+ url: string;
2722
+ width: number;
2723
+ height: number;
2724
+ }, {
2725
+ url: string;
2726
+ width: number;
2727
+ height: number;
2728
+ }>>;
2729
+ integration: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
2730
+ is_connect_webview_supported: z.ZodBoolean;
2731
+ requires_seam_support_to_add_account: z.ZodBoolean;
2732
+ }, "strip", z.ZodTypeAny, {
2733
+ display_name: string;
2734
+ manufacturer_id: string;
2735
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2736
+ is_connect_webview_supported: boolean;
2737
+ requires_seam_support_to_add_account: boolean;
2738
+ logo?: {
2739
+ url: string;
2740
+ width: number;
2741
+ height: number;
2742
+ } | undefined;
2743
+ }, {
2744
+ display_name: string;
2745
+ manufacturer_id: string;
2746
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2747
+ is_connect_webview_supported: boolean;
2748
+ requires_seam_support_to_add_account: boolean;
2749
+ logo?: {
2750
+ url: string;
2751
+ width: number;
2752
+ height: number;
2753
+ } | undefined;
2754
+ }>;
2755
+ }, "strip", z.ZodTypeAny, {
2756
+ manufacturer: {
2757
+ display_name: string;
2758
+ manufacturer_id: string;
2759
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2760
+ is_connect_webview_supported: boolean;
2761
+ requires_seam_support_to_add_account: boolean;
2762
+ logo?: {
2763
+ url: string;
2764
+ width: number;
2765
+ height: number;
2766
+ } | undefined;
2767
+ };
2768
+ }, {
2769
+ manufacturer: {
2770
+ display_name: string;
2771
+ manufacturer_id: string;
2772
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2773
+ is_connect_webview_supported: boolean;
2774
+ requires_seam_support_to_add_account: boolean;
2775
+ logo?: {
2776
+ url: string;
2777
+ width: number;
2778
+ height: number;
2779
+ } | undefined;
2780
+ };
2781
+ }>;
2782
+ };
2783
+ readonly '/api/v1/manufacturers/list': {
2784
+ readonly auth: "publishable_key";
2785
+ readonly methods: readonly ["GET", "OPTIONS"];
2786
+ readonly queryParams: z.ZodObject<{
2787
+ integration_status: z.ZodOptional<z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>>;
2788
+ }, "strip", z.ZodTypeAny, {
2789
+ integration_status?: "stable" | "beta" | "unsupported" | "planned" | "inquire" | undefined;
2790
+ }, {
2791
+ integration_status?: "stable" | "beta" | "unsupported" | "planned" | "inquire" | undefined;
2792
+ }>;
2793
+ readonly jsonResponse: z.ZodObject<{
2794
+ manufacturers: z.ZodArray<z.ZodObject<{
2795
+ manufacturer_id: z.ZodString;
2796
+ display_name: z.ZodString;
2797
+ logo: z.ZodOptional<z.ZodObject<{
2798
+ url: z.ZodString;
2799
+ width: z.ZodNumber;
2800
+ height: z.ZodNumber;
2801
+ }, "strip", z.ZodTypeAny, {
2802
+ url: string;
2803
+ width: number;
2804
+ height: number;
2805
+ }, {
2806
+ url: string;
2807
+ width: number;
2808
+ height: number;
2809
+ }>>;
2810
+ integration: z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>;
2811
+ is_connect_webview_supported: z.ZodBoolean;
2812
+ requires_seam_support_to_add_account: z.ZodBoolean;
2813
+ }, "strip", z.ZodTypeAny, {
2814
+ display_name: string;
2815
+ manufacturer_id: string;
2816
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2817
+ is_connect_webview_supported: boolean;
2818
+ requires_seam_support_to_add_account: boolean;
2819
+ logo?: {
2820
+ url: string;
2821
+ width: number;
2822
+ height: number;
2823
+ } | undefined;
2824
+ }, {
2825
+ display_name: string;
2826
+ manufacturer_id: string;
2827
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2828
+ is_connect_webview_supported: boolean;
2829
+ requires_seam_support_to_add_account: boolean;
2830
+ logo?: {
2831
+ url: string;
2832
+ width: number;
2833
+ height: number;
2834
+ } | undefined;
2835
+ }>, "many">;
2836
+ }, "strip", z.ZodTypeAny, {
2837
+ manufacturers: {
2838
+ display_name: string;
2839
+ manufacturer_id: string;
2840
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2841
+ is_connect_webview_supported: boolean;
2842
+ requires_seam_support_to_add_account: boolean;
2843
+ logo?: {
2844
+ url: string;
2845
+ width: number;
2846
+ height: number;
2847
+ } | undefined;
2848
+ }[];
2849
+ }, {
2850
+ manufacturers: {
2851
+ display_name: string;
2852
+ manufacturer_id: string;
2853
+ integration: "stable" | "beta" | "unsupported" | "planned" | "inquire";
2854
+ is_connect_webview_supported: boolean;
2855
+ requires_seam_support_to_add_account: boolean;
2856
+ logo?: {
2857
+ url: string;
2858
+ width: number;
2859
+ height: number;
2860
+ } | undefined;
2861
+ }[];
2862
+ }>;
2863
+ };
2864
+ };
2865
+
1029
2866
  interface Routes {
1030
2867
  '/v1/device_models/get': {
1031
2868
  route: '/v1/device_models/get';
@@ -1133,7 +2970,7 @@ interface Routes {
1133
2970
  route: '/v1/device_models/list';
1134
2971
  method: 'GET' | 'OPTIONS';
1135
2972
  queryParams: {
1136
- main_category?: string | undefined;
2973
+ main_category: 'smartlock' | 'sensor' | 'thermostat' | 'relay' | 'intercom' | 'accessory';
1137
2974
  manufacturer_id?: string | undefined;
1138
2975
  manufacturer_ids?: string[] | undefined;
1139
2976
  integration_status?: ('stable' | 'beta' | 'planned' | 'unsupported' | 'inquire') | undefined;
@@ -1284,5 +3121,8 @@ interface Routes {
1284
3121
  };
1285
3122
  };
1286
3123
  }
3124
+ type RouteResponse<Path extends keyof Routes> = Routes[Path]['jsonResponse'];
3125
+ type RouteRequestBody<Path extends keyof Routes> = Routes[Path]['jsonBody'] & Routes[Path]['commonParams'];
3126
+ type RouteRequestParams<Path extends keyof Routes> = Routes[Path]['queryParams'] & Routes[Path]['commonParams'];
1287
3127
 
1288
- export { DeviceModelV1, ImageReference, Manufacturer, Routes, index as schemas };
3128
+ export { DeviceCategory, DeviceConnectionType, DeviceModelV1, ImageReference, Manufacturer, ManufacturerIntegrationSupportLevel, RouteRequestBody, RouteRequestParams, RouteResponse, Routes, routes, index as schemas };