@seamapi/types 1.22.0 → 1.23.0

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.
@@ -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
@@ -102,7 +102,7 @@ var base_device_model_v1 = zod.z.object({
102
102
  is_device_supported: zod.z.boolean(),
103
103
  display_name: zod.z.string(),
104
104
  description: zod.z.string(),
105
- product_url: zod.z.string(),
105
+ product_url: zod.z.string().optional(),
106
106
  main_connection_type: zod.z.enum(["wifi", "zwave", "zigbee", "unknown"]),
107
107
  aesthetic_variants: zod.z.object({
108
108
  slug: zod.z.string(),
@@ -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(),\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 ]),\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"]}
@@ -237,7 +237,7 @@ declare const base_device_model_v1: z.ZodObject<{
237
237
  is_device_supported: z.ZodBoolean;
238
238
  display_name: z.ZodString;
239
239
  description: z.ZodString;
240
- product_url: z.ZodString;
240
+ product_url: z.ZodOptional<z.ZodString>;
241
241
  main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
242
242
  aesthetic_variants: z.ZodArray<z.ZodObject<{
243
243
  slug: z.ZodString;
@@ -319,7 +319,6 @@ declare const base_device_model_v1: z.ZodObject<{
319
319
  } | undefined;
320
320
  };
321
321
  is_device_supported: boolean;
322
- product_url: string;
323
322
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
324
323
  aesthetic_variants: {
325
324
  display_name: string;
@@ -338,6 +337,7 @@ declare const base_device_model_v1: z.ZodObject<{
338
337
  } | undefined;
339
338
  }[];
340
339
  power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
340
+ product_url?: string | undefined;
341
341
  }, {
342
342
  display_name: string;
343
343
  description: string;
@@ -355,7 +355,6 @@ declare const base_device_model_v1: z.ZodObject<{
355
355
  } | undefined;
356
356
  };
357
357
  is_device_supported: boolean;
358
- product_url: string;
359
358
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
360
359
  aesthetic_variants: {
361
360
  display_name: string;
@@ -374,6 +373,7 @@ declare const base_device_model_v1: z.ZodObject<{
374
373
  } | undefined;
375
374
  }[];
376
375
  power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
376
+ product_url?: string | undefined;
377
377
  }>;
378
378
  type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>;
379
379
  declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
@@ -423,7 +423,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
423
423
  is_device_supported: z.ZodBoolean;
424
424
  display_name: z.ZodString;
425
425
  description: z.ZodString;
426
- product_url: z.ZodString;
426
+ product_url: z.ZodOptional<z.ZodString>;
427
427
  main_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
428
428
  aesthetic_variants: z.ZodArray<z.ZodObject<{
429
429
  slug: z.ZodString;
@@ -505,7 +505,6 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
505
505
  } | undefined;
506
506
  };
507
507
  is_device_supported: boolean;
508
- product_url: string;
509
508
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
510
509
  aesthetic_variants: {
511
510
  display_name: string;
@@ -524,6 +523,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
524
523
  } | undefined;
525
524
  }[];
526
525
  power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
526
+ product_url?: string | undefined;
527
527
  }, {
528
528
  display_name: string;
529
529
  description: string;
@@ -541,7 +541,6 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
541
541
  } | undefined;
542
542
  };
543
543
  is_device_supported: boolean;
544
- product_url: string;
545
544
  main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
546
545
  aesthetic_variants: {
547
546
  display_name: string;
@@ -560,6 +559,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
560
559
  } | undefined;
561
560
  }[];
562
561
  power_sources: ("battery" | "hardwired" | "mechanical_harvesting" | "wireless" | "ethernet")[];
562
+ product_url?: string | undefined;
563
563
  }>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
564
564
  main_category: z.ZodLiteral<"smartlock">;
565
565
  physical_properties: z.ZodObject<{
@@ -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',