@seamapi/types 1.22.1 → 1.23.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 (28) hide show
  1. package/dist/connect.cjs +17 -2
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +13 -6
  4. package/dist/devicedb.cjs +3 -2
  5. package/dist/devicedb.cjs.map +1 -1
  6. package/dist/devicedb.d.cts +92 -26
  7. package/lib/seam/connect/openapi.d.ts +3 -0
  8. package/lib/seam/connect/openapi.js +17 -2
  9. package/lib/seam/connect/openapi.js.map +1 -1
  10. package/lib/seam/connect/route-types.d.ts +10 -6
  11. package/lib/seam/connect/unstable/models/acs/access_group.d.ts +7 -7
  12. package/lib/seam/connect/unstable/models/acs/access_group.js +6 -1
  13. package/lib/seam/connect/unstable/models/acs/access_group.js.map +1 -1
  14. package/lib/seam/connect/unstable/models/device-metadata.d.ts +5 -0
  15. package/lib/seam/connect/unstable/models/device-metadata.js +1 -0
  16. package/lib/seam/connect/unstable/models/device-metadata.js.map +1 -1
  17. package/lib/seam/connect/unstable/models/managed-device.d.ts +9 -0
  18. package/lib/seam/devicedb/public-models/device-model-v1.d.ts +85 -20
  19. package/lib/seam/devicedb/public-models/device-model-v1.js +2 -1
  20. package/lib/seam/devicedb/public-models/device-model-v1.js.map +1 -1
  21. package/lib/seam/devicedb/route-types.d.ts +6 -6
  22. package/package.json +1 -1
  23. package/src/lib/seam/connect/openapi.ts +17 -2
  24. package/src/lib/seam/connect/route-types.ts +34 -6
  25. package/src/lib/seam/connect/unstable/models/acs/access_group.ts +6 -1
  26. package/src/lib/seam/connect/unstable/models/device-metadata.ts +1 -0
  27. package/src/lib/seam/devicedb/public-models/device-model-v1.ts +4 -1
  28. package/src/lib/seam/devicedb/route-types.ts +6 -4
@@ -1161,6 +1161,9 @@ declare const _default: {
1161
1161
  product_model: {
1162
1162
  type: string;
1163
1163
  };
1164
+ product_name: {
1165
+ type: string;
1166
+ };
1164
1167
  product_type: {
1165
1168
  type: string;
1166
1169
  };
@@ -11858,10 +11861,10 @@ interface Routes {
11858
11861
  workspace_id: string;
11859
11862
  name: string;
11860
11863
  /** deprecated: use external_type */
11861
- access_group_type: 'pti_unit';
11864
+ access_group_type: 'pti_unit' | 'pti_access_level' | 'salto_access_group' | 'brivo_group';
11862
11865
  /** deprecated: use external_type_display_name */
11863
11866
  access_group_type_display_name: string;
11864
- external_type: 'pti_unit';
11867
+ external_type: 'pti_unit' | 'pti_access_level' | 'salto_access_group' | 'brivo_group';
11865
11868
  external_type_display_name: string;
11866
11869
  created_at: string;
11867
11870
  };
@@ -11894,10 +11897,10 @@ interface Routes {
11894
11897
  workspace_id: string;
11895
11898
  name: string;
11896
11899
  /** deprecated: use external_type */
11897
- access_group_type: 'pti_unit';
11900
+ access_group_type: 'pti_unit' | 'pti_access_level' | 'salto_access_group' | 'brivo_group';
11898
11901
  /** deprecated: use external_type_display_name */
11899
11902
  access_group_type_display_name: string;
11900
- external_type: 'pti_unit';
11903
+ external_type: 'pti_unit' | 'pti_access_level' | 'salto_access_group' | 'brivo_group';
11901
11904
  external_type_display_name: string;
11902
11905
  created_at: string;
11903
11906
  };
@@ -11920,10 +11923,10 @@ interface Routes {
11920
11923
  workspace_id: string;
11921
11924
  name: string;
11922
11925
  /** deprecated: use external_type */
11923
- access_group_type: 'pti_unit';
11926
+ access_group_type: 'pti_unit' | 'pti_access_level' | 'salto_access_group' | 'brivo_group';
11924
11927
  /** deprecated: use external_type_display_name */
11925
11928
  access_group_type_display_name: string;
11926
- external_type: 'pti_unit';
11929
+ external_type: 'pti_unit' | 'pti_access_level' | 'salto_access_group' | 'brivo_group';
11927
11930
  external_type_display_name: string;
11928
11931
  created_at: string;
11929
11932
  }>;
@@ -12794,6 +12797,7 @@ interface Routes {
12794
12797
  wyze_metadata?: {
12795
12798
  device_id: string;
12796
12799
  device_name: string;
12800
+ product_name: string;
12797
12801
  product_type: string;
12798
12802
  product_model: string;
12799
12803
  device_info_model: string;
@@ -13200,6 +13204,7 @@ interface Routes {
13200
13204
  wyze_metadata?: {
13201
13205
  device_id: string;
13202
13206
  device_name: string;
13207
+ product_name: string;
13203
13208
  product_type: string;
13204
13209
  product_model: string;
13205
13210
  device_info_model: string;
@@ -14306,6 +14311,7 @@ interface Routes {
14306
14311
  wyze_metadata?: {
14307
14312
  device_id: string;
14308
14313
  device_name: string;
14314
+ product_name: string;
14309
14315
  product_type: string;
14310
14316
  product_model: string;
14311
14317
  device_info_model: string;
@@ -14742,6 +14748,7 @@ interface Routes {
14742
14748
  wyze_metadata?: {
14743
14749
  device_id: string;
14744
14750
  device_name: string;
14751
+ product_name: string;
14745
14752
  product_type: string;
14746
14753
  product_model: string;
14747
14754
  device_info_model: string;
package/dist/devicedb.cjs CHANGED
@@ -53,7 +53,8 @@ var smartlock = zod.z.object({
53
53
  "lockbox",
54
54
  "cylinder",
55
55
  "padlock",
56
- "locker"
56
+ "locker",
57
+ "unknown"
57
58
  ]),
58
59
  has_physical_key: zod.z.boolean(),
59
60
  has_camera: zod.z.boolean()
@@ -108,7 +109,7 @@ var base_device_model_v1 = zod.z.object({
108
109
  slug: zod.z.string(),
109
110
  display_name: zod.z.string(),
110
111
  primary_color_hex: zod.z.string().optional(),
111
- manufacturer_sku: zod.z.string(),
112
+ manufacturer_sku: zod.z.string().optional(),
112
113
  front_image: image_reference.optional(),
113
114
  back_image: image_reference.optional()
114
115
  }).array(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nconst smartlock = z.object({\n main_category: z.literal('smartlock'),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal('sensor'),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nconst thermostat = z.object({\n main_category: z.literal('thermostat'),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nconst relay = z.object({\n main_category: z.literal('relay'),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: z.enum(['stable', 'beta', 'planned', 'unsupported', 'inquire']),\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n"]}
1
+ {"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nconst smartlock = z.object({\n main_category: z.literal('smartlock'),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal('sensor'),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nconst thermostat = z.object({\n main_category: z.literal('thermostat'),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal('relay'),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: z.enum(['stable', 'beta', 'planned', 'unsupported', 'inquire']),\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n"]}
@@ -30,18 +30,82 @@ declare const device_model_v0: z.ZodObject<{
30
30
  }>;
31
31
  type DeviceModelV0 = z.infer<typeof device_model_v0>;
32
32
 
33
+ declare const thermostat: z.ZodObject<{
34
+ main_category: z.ZodLiteral<"thermostat">;
35
+ physical_properties: z.ZodObject<{
36
+ available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
37
+ is_heat_pump_compatible: z.ZodBoolean;
38
+ has_occupancy_detection: z.ZodBoolean;
39
+ supports_demand_response: z.ZodBoolean;
40
+ has_humidity_sensor: z.ZodBoolean;
41
+ has_temperature_sensor: z.ZodBoolean;
42
+ supports_emergency_heating_mode: z.ZodBoolean;
43
+ }, "strip", z.ZodTypeAny, {
44
+ has_humidity_sensor: boolean;
45
+ has_temperature_sensor: boolean;
46
+ has_occupancy_detection: boolean;
47
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
48
+ is_heat_pump_compatible: boolean;
49
+ supports_demand_response: boolean;
50
+ supports_emergency_heating_mode: boolean;
51
+ }, {
52
+ has_humidity_sensor: boolean;
53
+ has_temperature_sensor: boolean;
54
+ has_occupancy_detection: boolean;
55
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
56
+ is_heat_pump_compatible: boolean;
57
+ supports_demand_response: boolean;
58
+ supports_emergency_heating_mode: boolean;
59
+ }>;
60
+ software_features: z.ZodObject<{
61
+ can_program_climate_schedules: z.ZodBoolean;
62
+ }, "strip", z.ZodTypeAny, {
63
+ can_program_climate_schedules: boolean;
64
+ }, {
65
+ can_program_climate_schedules: boolean;
66
+ }>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ main_category: "thermostat";
69
+ physical_properties: {
70
+ has_humidity_sensor: boolean;
71
+ has_temperature_sensor: boolean;
72
+ has_occupancy_detection: boolean;
73
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
74
+ is_heat_pump_compatible: boolean;
75
+ supports_demand_response: boolean;
76
+ supports_emergency_heating_mode: boolean;
77
+ };
78
+ software_features: {
79
+ can_program_climate_schedules: boolean;
80
+ };
81
+ }, {
82
+ main_category: "thermostat";
83
+ physical_properties: {
84
+ has_humidity_sensor: boolean;
85
+ has_temperature_sensor: boolean;
86
+ has_occupancy_detection: boolean;
87
+ available_modes: ("heat" | "cool" | "fan" | "eco")[];
88
+ is_heat_pump_compatible: boolean;
89
+ supports_demand_response: boolean;
90
+ supports_emergency_heating_mode: boolean;
91
+ };
92
+ software_features: {
93
+ can_program_climate_schedules: boolean;
94
+ };
95
+ }>;
96
+ type ThermostatPropertiesV1 = z.infer<typeof thermostat>;
33
97
  declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
34
98
  main_category: z.ZodLiteral<"smartlock">;
35
99
  physical_properties: z.ZodObject<{
36
- lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker"]>;
100
+ lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
37
101
  has_physical_key: z.ZodBoolean;
38
102
  has_camera: z.ZodBoolean;
39
103
  }, "strip", z.ZodTypeAny, {
40
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
104
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
41
105
  has_physical_key: boolean;
42
106
  has_camera: boolean;
43
107
  }, {
44
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
108
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
45
109
  has_physical_key: boolean;
46
110
  has_camera: boolean;
47
111
  }>;
@@ -64,7 +128,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
64
128
  }, "strip", z.ZodTypeAny, {
65
129
  main_category: "smartlock";
66
130
  physical_properties: {
67
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
131
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
68
132
  has_physical_key: boolean;
69
133
  has_camera: boolean;
70
134
  };
@@ -77,7 +141,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
77
141
  }, {
78
142
  main_category: "smartlock";
79
143
  physical_properties: {
80
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
144
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
81
145
  has_physical_key: boolean;
82
146
  has_camera: boolean;
83
147
  };
@@ -243,7 +307,7 @@ declare const base_device_model_v1: z.ZodObject<{
243
307
  slug: z.ZodString;
244
308
  display_name: z.ZodString;
245
309
  primary_color_hex: z.ZodOptional<z.ZodString>;
246
- manufacturer_sku: z.ZodString;
310
+ manufacturer_sku: z.ZodOptional<z.ZodString>;
247
311
  front_image: z.ZodOptional<z.ZodObject<{
248
312
  url: z.ZodString;
249
313
  width: z.ZodNumber;
@@ -273,8 +337,8 @@ declare const base_device_model_v1: z.ZodObject<{
273
337
  }, "strip", z.ZodTypeAny, {
274
338
  display_name: string;
275
339
  slug: string;
276
- manufacturer_sku: string;
277
340
  primary_color_hex?: string | undefined;
341
+ manufacturer_sku?: string | undefined;
278
342
  front_image?: {
279
343
  url: string;
280
344
  width: number;
@@ -288,8 +352,8 @@ declare const base_device_model_v1: z.ZodObject<{
288
352
  }, {
289
353
  display_name: string;
290
354
  slug: string;
291
- manufacturer_sku: string;
292
355
  primary_color_hex?: string | undefined;
356
+ manufacturer_sku?: string | undefined;
293
357
  front_image?: {
294
358
  url: string;
295
359
  width: number;
@@ -323,8 +387,8 @@ declare const base_device_model_v1: z.ZodObject<{
323
387
  aesthetic_variants: {
324
388
  display_name: string;
325
389
  slug: string;
326
- manufacturer_sku: string;
327
390
  primary_color_hex?: string | undefined;
391
+ manufacturer_sku?: string | undefined;
328
392
  front_image?: {
329
393
  url: string;
330
394
  width: number;
@@ -359,8 +423,8 @@ declare const base_device_model_v1: z.ZodObject<{
359
423
  aesthetic_variants: {
360
424
  display_name: string;
361
425
  slug: string;
362
- manufacturer_sku: string;
363
426
  primary_color_hex?: string | undefined;
427
+ manufacturer_sku?: string | undefined;
364
428
  front_image?: {
365
429
  url: string;
366
430
  width: number;
@@ -429,7 +493,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
429
493
  slug: z.ZodString;
430
494
  display_name: z.ZodString;
431
495
  primary_color_hex: z.ZodOptional<z.ZodString>;
432
- manufacturer_sku: z.ZodString;
496
+ manufacturer_sku: z.ZodOptional<z.ZodString>;
433
497
  front_image: z.ZodOptional<z.ZodObject<{
434
498
  url: z.ZodString;
435
499
  width: z.ZodNumber;
@@ -459,8 +523,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
459
523
  }, "strip", z.ZodTypeAny, {
460
524
  display_name: string;
461
525
  slug: string;
462
- manufacturer_sku: string;
463
526
  primary_color_hex?: string | undefined;
527
+ manufacturer_sku?: string | undefined;
464
528
  front_image?: {
465
529
  url: string;
466
530
  width: number;
@@ -474,8 +538,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
474
538
  }, {
475
539
  display_name: string;
476
540
  slug: string;
477
- manufacturer_sku: string;
478
541
  primary_color_hex?: string | undefined;
542
+ manufacturer_sku?: string | undefined;
479
543
  front_image?: {
480
544
  url: string;
481
545
  width: number;
@@ -509,8 +573,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
509
573
  aesthetic_variants: {
510
574
  display_name: string;
511
575
  slug: string;
512
- manufacturer_sku: string;
513
576
  primary_color_hex?: string | undefined;
577
+ manufacturer_sku?: string | undefined;
514
578
  front_image?: {
515
579
  url: string;
516
580
  width: number;
@@ -545,8 +609,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
545
609
  aesthetic_variants: {
546
610
  display_name: string;
547
611
  slug: string;
548
- manufacturer_sku: string;
549
612
  primary_color_hex?: string | undefined;
613
+ manufacturer_sku?: string | undefined;
550
614
  front_image?: {
551
615
  url: string;
552
616
  width: number;
@@ -563,15 +627,15 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
563
627
  }>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
564
628
  main_category: z.ZodLiteral<"smartlock">;
565
629
  physical_properties: z.ZodObject<{
566
- lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker"]>;
630
+ lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
567
631
  has_physical_key: z.ZodBoolean;
568
632
  has_camera: z.ZodBoolean;
569
633
  }, "strip", z.ZodTypeAny, {
570
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
634
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
571
635
  has_physical_key: boolean;
572
636
  has_camera: boolean;
573
637
  }, {
574
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
638
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
575
639
  has_physical_key: boolean;
576
640
  has_camera: boolean;
577
641
  }>;
@@ -594,7 +658,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
594
658
  }, "strip", z.ZodTypeAny, {
595
659
  main_category: "smartlock";
596
660
  physical_properties: {
597
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
661
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
598
662
  has_physical_key: boolean;
599
663
  has_camera: boolean;
600
664
  };
@@ -607,7 +671,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
607
671
  }, {
608
672
  main_category: "smartlock";
609
673
  physical_properties: {
610
- lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
674
+ lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
611
675
  has_physical_key: boolean;
612
676
  has_camera: boolean;
613
677
  };
@@ -786,6 +850,7 @@ type index_DeviceModelV0 = DeviceModelV0;
786
850
  type index_DeviceModelV1 = DeviceModelV1;
787
851
  type index_ImageReference = ImageReference;
788
852
  type index_Manufacturer = Manufacturer;
853
+ type index_ThermostatPropertiesV1 = ThermostatPropertiesV1;
789
854
  declare const index_base_device_model_v1: typeof base_device_model_v1;
790
855
  declare const index_device_model_category_specific_properties: typeof device_model_category_specific_properties;
791
856
  declare const index_device_model_v0: typeof device_model_v0;
@@ -799,6 +864,7 @@ declare namespace index {
799
864
  index_DeviceModelV1 as DeviceModelV1,
800
865
  index_ImageReference as ImageReference,
801
866
  index_Manufacturer as Manufacturer,
867
+ index_ThermostatPropertiesV1 as ThermostatPropertiesV1,
802
868
  index_base_device_model_v1 as base_device_model_v1,
803
869
  index_device_model_category_specific_properties as device_model_category_specific_properties,
804
870
  index_device_model_v0 as device_model_v0,
@@ -836,13 +902,13 @@ interface Routes {
836
902
  is_device_supported: boolean;
837
903
  display_name: string;
838
904
  description: string;
839
- product_url: string;
905
+ product_url?: string | undefined;
840
906
  main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
841
907
  aesthetic_variants: Array<{
842
908
  slug: string;
843
909
  display_name: string;
844
910
  primary_color_hex?: string | undefined;
845
- manufacturer_sku: string;
911
+ manufacturer_sku?: string | undefined;
846
912
  front_image?: {
847
913
  url: string;
848
914
  width: number;
@@ -858,7 +924,7 @@ interface Routes {
858
924
  } & ({
859
925
  main_category: 'smartlock';
860
926
  physical_properties: {
861
- lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker';
927
+ lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker' | 'unknown';
862
928
  has_physical_key: boolean;
863
929
  has_camera: boolean;
864
930
  };
@@ -926,13 +992,13 @@ interface Routes {
926
992
  is_device_supported: boolean;
927
993
  display_name: string;
928
994
  description: string;
929
- product_url: string;
995
+ product_url?: string | undefined;
930
996
  main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
931
997
  aesthetic_variants: Array<{
932
998
  slug: string;
933
999
  display_name: string;
934
1000
  primary_color_hex?: string | undefined;
935
- manufacturer_sku: string;
1001
+ manufacturer_sku?: string | undefined;
936
1002
  front_image?: {
937
1003
  url: string;
938
1004
  width: number;
@@ -948,7 +1014,7 @@ interface Routes {
948
1014
  } & ({
949
1015
  main_category: 'smartlock';
950
1016
  physical_properties: {
951
- lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker';
1017
+ lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker' | 'unknown';
952
1018
  has_physical_key: boolean;
953
1019
  has_camera: boolean;
954
1020
  };
@@ -1110,6 +1110,9 @@ declare const _default: {
1110
1110
  product_model: {
1111
1111
  type: string;
1112
1112
  };
1113
+ product_name: {
1114
+ type: string;
1115
+ };
1113
1116
  product_type: {
1114
1117
  type: string;
1115
1118
  };
@@ -49,7 +49,12 @@ export default {
49
49
  properties: {
50
50
  access_group_type: {
51
51
  description: 'deprecated: use external_type',
52
- enum: ['pti_unit'],
52
+ enum: [
53
+ 'pti_unit',
54
+ 'pti_access_level',
55
+ 'salto_access_group',
56
+ 'brivo_group',
57
+ ],
53
58
  type: 'string',
54
59
  },
55
60
  access_group_type_display_name: {
@@ -59,7 +64,15 @@ export default {
59
64
  acs_access_group_id: { format: 'uuid', type: 'string' },
60
65
  acs_system_id: { format: 'uuid', type: 'string' },
61
66
  created_at: { format: 'date-time', type: 'string' },
62
- external_type: { enum: ['pti_unit'], type: 'string' },
67
+ external_type: {
68
+ enum: [
69
+ 'pti_unit',
70
+ 'pti_access_level',
71
+ 'salto_access_group',
72
+ 'brivo_group',
73
+ ],
74
+ type: 'string',
75
+ },
63
76
  external_type_display_name: { type: 'string' },
64
77
  name: { type: 'string' },
65
78
  workspace_id: { format: 'uuid', type: 'string' },
@@ -763,11 +776,13 @@ export default {
763
776
  device_info_model: { type: 'string' },
764
777
  device_name: { type: 'string' },
765
778
  product_model: { type: 'string' },
779
+ product_name: { type: 'string' },
766
780
  product_type: { type: 'string' },
767
781
  },
768
782
  required: [
769
783
  'device_id',
770
784
  'device_name',
785
+ 'product_name',
771
786
  'product_type',
772
787
  'product_model',
773
788
  'device_info_model',