@seamapi/types 1.49.0 → 1.51.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.
Files changed (32) hide show
  1. package/dist/connect.cjs +81 -0
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +129 -0
  4. package/dist/devicedb.cjs +7 -2
  5. package/dist/devicedb.cjs.map +1 -1
  6. package/dist/devicedb.d.cts +130 -0
  7. package/lib/seam/connect/openapi.d.ts +106 -0
  8. package/lib/seam/connect/openapi.js +81 -0
  9. package/lib/seam/connect/openapi.js.map +1 -1
  10. package/lib/seam/connect/route-types.d.ts +23 -0
  11. package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.d.ts +21 -0
  12. package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.js +9 -0
  13. package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.js.map +1 -0
  14. package/lib/seam/connect/unstable/models/acs/index.d.ts +1 -0
  15. package/lib/seam/connect/unstable/models/acs/index.js +1 -0
  16. package/lib/seam/connect/unstable/models/acs/index.js.map +1 -1
  17. package/lib/seam/connect/unstable/schemas.d.ts +1 -1
  18. package/lib/seam/connect/unstable/schemas.js +1 -1
  19. package/lib/seam/connect/unstable/schemas.js.map +1 -1
  20. package/lib/seam/devicedb/public-models/device-model-v1.d.ts +50 -0
  21. package/lib/seam/devicedb/public-models/device-model-v1.js +5 -0
  22. package/lib/seam/devicedb/public-models/device-model-v1.js.map +1 -1
  23. package/lib/seam/devicedb/route-specs.d.ts +70 -0
  24. package/lib/seam/devicedb/route-types.d.ts +10 -0
  25. package/package.json +1 -1
  26. package/src/lib/seam/connect/openapi.ts +81 -0
  27. package/src/lib/seam/connect/route-types.ts +23 -0
  28. package/src/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.ts +13 -0
  29. package/src/lib/seam/connect/unstable/models/acs/index.ts +1 -0
  30. package/src/lib/seam/connect/unstable/schemas.ts +1 -0
  31. package/src/lib/seam/devicedb/public-models/device-model-v1.ts +5 -0
  32. package/src/lib/seam/devicedb/route-types.ts +10 -0
@@ -4604,6 +4604,112 @@ declare const _default: {
4604
4604
  'x-fern-sdk-method-name': string;
4605
4605
  };
4606
4606
  };
4607
+ '/acs/credential_provisioning_automations/launch': {
4608
+ post: {
4609
+ operationId: string;
4610
+ requestBody: {
4611
+ content: {
4612
+ 'application/json': {
4613
+ schema: {
4614
+ properties: {
4615
+ acs_credential_pool_id: {
4616
+ format: string;
4617
+ type: string;
4618
+ };
4619
+ create_credential_manager_user: {
4620
+ type: string;
4621
+ };
4622
+ credential_manager_acs_system_id: {
4623
+ format: string;
4624
+ type: string;
4625
+ };
4626
+ credential_manager_acs_user_id: {
4627
+ format: string;
4628
+ type: string;
4629
+ };
4630
+ user_identity_id: {
4631
+ format: string;
4632
+ type: string;
4633
+ };
4634
+ };
4635
+ required: string[];
4636
+ type: string;
4637
+ };
4638
+ };
4639
+ };
4640
+ };
4641
+ responses: {
4642
+ 200: {
4643
+ content: {
4644
+ 'application/json': {
4645
+ schema: {
4646
+ properties: {
4647
+ acs_credential_provisioning_automation: {
4648
+ properties: {
4649
+ acs_credential_provisioning_automation_id: {
4650
+ format: string;
4651
+ type: string;
4652
+ };
4653
+ created_at: {
4654
+ format: string;
4655
+ type: string;
4656
+ };
4657
+ credential_manager_acs_system_id: {
4658
+ format: string;
4659
+ type: string;
4660
+ };
4661
+ user_identity_id: {
4662
+ format: string;
4663
+ type: string;
4664
+ };
4665
+ workspace_id: {
4666
+ format: string;
4667
+ type: string;
4668
+ };
4669
+ };
4670
+ required: string[];
4671
+ type: string;
4672
+ };
4673
+ ok: {
4674
+ type: string;
4675
+ };
4676
+ };
4677
+ required: string[];
4678
+ type: string;
4679
+ };
4680
+ };
4681
+ };
4682
+ description: string;
4683
+ };
4684
+ 400: {
4685
+ description: string;
4686
+ };
4687
+ 401: {
4688
+ description: string;
4689
+ };
4690
+ };
4691
+ security: ({
4692
+ access_token: never[];
4693
+ seam_workspace: never[];
4694
+ seam_client_session_token?: never;
4695
+ client_session_token?: never;
4696
+ } | {
4697
+ seam_client_session_token: never[];
4698
+ access_token?: never;
4699
+ seam_workspace?: never;
4700
+ client_session_token?: never;
4701
+ } | {
4702
+ client_session_token: never[];
4703
+ access_token?: never;
4704
+ seam_workspace?: never;
4705
+ seam_client_session_token?: never;
4706
+ })[];
4707
+ summary: string;
4708
+ tags: never[];
4709
+ 'x-fern-sdk-group-name': string[];
4710
+ 'x-fern-sdk-method-name': string;
4711
+ };
4712
+ };
4607
4713
  '/acs/credentials/assign': {
4608
4714
  patch: {
4609
4715
  operationId: string;
@@ -13810,6 +13916,29 @@ interface Routes {
13810
13916
  }>;
13811
13917
  };
13812
13918
  };
13919
+ '/acs/credential_provisioning_automations/launch': {
13920
+ route: '/acs/credential_provisioning_automations/launch';
13921
+ method: 'POST';
13922
+ queryParams: {};
13923
+ jsonBody: {};
13924
+ commonParams: {
13925
+ user_identity_id: string;
13926
+ credential_manager_acs_system_id: string;
13927
+ acs_credential_pool_id?: string | undefined;
13928
+ create_credential_manager_user?: boolean | undefined;
13929
+ credential_manager_acs_user_id?: string | undefined;
13930
+ };
13931
+ formData: {};
13932
+ jsonResponse: {
13933
+ acs_credential_provisioning_automation: {
13934
+ acs_credential_provisioning_automation_id: string;
13935
+ credential_manager_acs_system_id: string;
13936
+ user_identity_id: string;
13937
+ created_at: string;
13938
+ workspace_id: string;
13939
+ };
13940
+ };
13941
+ };
13813
13942
  '/acs/credentials/assign': {
13814
13943
  route: '/acs/credentials/assign';
13815
13944
  method: 'PATCH' | 'POST';
package/dist/devicedb.cjs CHANGED
@@ -122,11 +122,16 @@ var relay = zod.z.object({
122
122
  var intercom = zod.z.object({
123
123
  main_category: zod.z.literal(device_category.enum.intercom),
124
124
  physical_properties: zod.z.object({
125
- has_camera: zod.z.boolean()
125
+ has_camera: zod.z.boolean(),
126
+ has_rfid_reader: zod.z.boolean(),
127
+ has_nfc_reader: zod.z.boolean(),
128
+ has_wiegand_interface: zod.z.boolean()
126
129
  }),
127
130
  software_features: zod.z.object({
128
131
  can_remotely_unlock: zod.z.boolean(),
129
- can_program_access_codes: zod.z.boolean()
132
+ can_program_access_codes: zod.z.boolean(),
133
+ can_unlock_with_face_recognition: zod.z.boolean(),
134
+ supports_onvif: zod.z.boolean()
130
135
  })
131
136
  });
132
137
  var accessory = zod.z.object({
@@ -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","../src/lib/seam/devicedb/route-specs.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\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z.object({\n main_category: z.literal(device_category.enum.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(device_category.enum.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\nexport const thermostat = z.object({\n main_category: z.literal(device_category.enum.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(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\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 }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer: manufacturer.omit({\n device_model_count: true,\n }),\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: device_connection_type,\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 images: image_reference.array(),\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_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n device_model_count: z.number(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-models/index.js'\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n integration_status: schemas.manufacturer.shape.integration.optional(),\n text_search: z.string().optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n integration_status: schemas.manufacturer.shape.integration.optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\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","../src/lib/seam/devicedb/route-specs.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\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z.object({\n main_category: z.literal(device_category.enum.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(device_category.enum.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\nexport const thermostat = z.object({\n main_category: z.literal(device_category.enum.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(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\n has_camera: z.boolean(),\n has_rfid_reader: z.boolean(),\n has_nfc_reader: z.boolean(),\n has_wiegand_interface: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_unlock_with_face_recognition: z.boolean(),\n supports_onvif: z.boolean(),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer: manufacturer.omit({\n device_model_count: true,\n }),\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: device_connection_type,\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 images: image_reference.array(),\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_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n device_model_count: z.number(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-models/index.js'\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n integration_status: schemas.manufacturer.shape.integration.optional(),\n text_search: z.string().optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n integration_status: schemas.manufacturer.shape.integration.optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
@@ -261,38 +261,63 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
261
261
  main_category: z.ZodLiteral<"intercom">;
262
262
  physical_properties: z.ZodObject<{
263
263
  has_camera: z.ZodBoolean;
264
+ has_rfid_reader: z.ZodBoolean;
265
+ has_nfc_reader: z.ZodBoolean;
266
+ has_wiegand_interface: z.ZodBoolean;
264
267
  }, "strip", z.ZodTypeAny, {
265
268
  has_camera: boolean;
269
+ has_rfid_reader: boolean;
270
+ has_nfc_reader: boolean;
271
+ has_wiegand_interface: boolean;
266
272
  }, {
267
273
  has_camera: boolean;
274
+ has_rfid_reader: boolean;
275
+ has_nfc_reader: boolean;
276
+ has_wiegand_interface: boolean;
268
277
  }>;
269
278
  software_features: z.ZodObject<{
270
279
  can_remotely_unlock: z.ZodBoolean;
271
280
  can_program_access_codes: z.ZodBoolean;
281
+ can_unlock_with_face_recognition: z.ZodBoolean;
282
+ supports_onvif: z.ZodBoolean;
272
283
  }, "strip", z.ZodTypeAny, {
273
284
  can_remotely_unlock: boolean;
274
285
  can_program_access_codes: boolean;
286
+ can_unlock_with_face_recognition: boolean;
287
+ supports_onvif: boolean;
275
288
  }, {
276
289
  can_remotely_unlock: boolean;
277
290
  can_program_access_codes: boolean;
291
+ can_unlock_with_face_recognition: boolean;
292
+ supports_onvif: boolean;
278
293
  }>;
279
294
  }, "strip", z.ZodTypeAny, {
280
295
  main_category: "intercom";
281
296
  physical_properties: {
282
297
  has_camera: boolean;
298
+ has_rfid_reader: boolean;
299
+ has_nfc_reader: boolean;
300
+ has_wiegand_interface: boolean;
283
301
  };
284
302
  software_features: {
285
303
  can_remotely_unlock: boolean;
286
304
  can_program_access_codes: boolean;
305
+ can_unlock_with_face_recognition: boolean;
306
+ supports_onvif: boolean;
287
307
  };
288
308
  }, {
289
309
  main_category: "intercom";
290
310
  physical_properties: {
291
311
  has_camera: boolean;
312
+ has_rfid_reader: boolean;
313
+ has_nfc_reader: boolean;
314
+ has_wiegand_interface: boolean;
292
315
  };
293
316
  software_features: {
294
317
  can_remotely_unlock: boolean;
295
318
  can_program_access_codes: boolean;
319
+ can_unlock_with_face_recognition: boolean;
320
+ supports_onvif: boolean;
296
321
  };
297
322
  }>, z.ZodObject<{
298
323
  main_category: z.ZodLiteral<"accessory">;
@@ -902,38 +927,63 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
902
927
  main_category: z.ZodLiteral<"intercom">;
903
928
  physical_properties: z.ZodObject<{
904
929
  has_camera: z.ZodBoolean;
930
+ has_rfid_reader: z.ZodBoolean;
931
+ has_nfc_reader: z.ZodBoolean;
932
+ has_wiegand_interface: z.ZodBoolean;
905
933
  }, "strip", z.ZodTypeAny, {
906
934
  has_camera: boolean;
935
+ has_rfid_reader: boolean;
936
+ has_nfc_reader: boolean;
937
+ has_wiegand_interface: boolean;
907
938
  }, {
908
939
  has_camera: boolean;
940
+ has_rfid_reader: boolean;
941
+ has_nfc_reader: boolean;
942
+ has_wiegand_interface: boolean;
909
943
  }>;
910
944
  software_features: z.ZodObject<{
911
945
  can_remotely_unlock: z.ZodBoolean;
912
946
  can_program_access_codes: z.ZodBoolean;
947
+ can_unlock_with_face_recognition: z.ZodBoolean;
948
+ supports_onvif: z.ZodBoolean;
913
949
  }, "strip", z.ZodTypeAny, {
914
950
  can_remotely_unlock: boolean;
915
951
  can_program_access_codes: boolean;
952
+ can_unlock_with_face_recognition: boolean;
953
+ supports_onvif: boolean;
916
954
  }, {
917
955
  can_remotely_unlock: boolean;
918
956
  can_program_access_codes: boolean;
957
+ can_unlock_with_face_recognition: boolean;
958
+ supports_onvif: boolean;
919
959
  }>;
920
960
  }, "strip", z.ZodTypeAny, {
921
961
  main_category: "intercom";
922
962
  physical_properties: {
923
963
  has_camera: boolean;
964
+ has_rfid_reader: boolean;
965
+ has_nfc_reader: boolean;
966
+ has_wiegand_interface: boolean;
924
967
  };
925
968
  software_features: {
926
969
  can_remotely_unlock: boolean;
927
970
  can_program_access_codes: boolean;
971
+ can_unlock_with_face_recognition: boolean;
972
+ supports_onvif: boolean;
928
973
  };
929
974
  }, {
930
975
  main_category: "intercom";
931
976
  physical_properties: {
932
977
  has_camera: boolean;
978
+ has_rfid_reader: boolean;
979
+ has_nfc_reader: boolean;
980
+ has_wiegand_interface: boolean;
933
981
  };
934
982
  software_features: {
935
983
  can_remotely_unlock: boolean;
936
984
  can_program_access_codes: boolean;
985
+ can_unlock_with_face_recognition: boolean;
986
+ supports_onvif: boolean;
937
987
  };
938
988
  }>, z.ZodObject<{
939
989
  main_category: z.ZodLiteral<"accessory">;
@@ -1444,38 +1494,63 @@ declare const routes: {
1444
1494
  main_category: z.ZodLiteral<"intercom">;
1445
1495
  physical_properties: z.ZodObject<{
1446
1496
  has_camera: z.ZodBoolean;
1497
+ has_rfid_reader: z.ZodBoolean;
1498
+ has_nfc_reader: z.ZodBoolean;
1499
+ has_wiegand_interface: z.ZodBoolean;
1447
1500
  }, "strip", z.ZodTypeAny, {
1448
1501
  has_camera: boolean;
1502
+ has_rfid_reader: boolean;
1503
+ has_nfc_reader: boolean;
1504
+ has_wiegand_interface: boolean;
1449
1505
  }, {
1450
1506
  has_camera: boolean;
1507
+ has_rfid_reader: boolean;
1508
+ has_nfc_reader: boolean;
1509
+ has_wiegand_interface: boolean;
1451
1510
  }>;
1452
1511
  software_features: z.ZodObject<{
1453
1512
  can_remotely_unlock: z.ZodBoolean;
1454
1513
  can_program_access_codes: z.ZodBoolean;
1514
+ can_unlock_with_face_recognition: z.ZodBoolean;
1515
+ supports_onvif: z.ZodBoolean;
1455
1516
  }, "strip", z.ZodTypeAny, {
1456
1517
  can_remotely_unlock: boolean;
1457
1518
  can_program_access_codes: boolean;
1519
+ can_unlock_with_face_recognition: boolean;
1520
+ supports_onvif: boolean;
1458
1521
  }, {
1459
1522
  can_remotely_unlock: boolean;
1460
1523
  can_program_access_codes: boolean;
1524
+ can_unlock_with_face_recognition: boolean;
1525
+ supports_onvif: boolean;
1461
1526
  }>;
1462
1527
  }, "strip", z.ZodTypeAny, {
1463
1528
  main_category: "intercom";
1464
1529
  physical_properties: {
1465
1530
  has_camera: boolean;
1531
+ has_rfid_reader: boolean;
1532
+ has_nfc_reader: boolean;
1533
+ has_wiegand_interface: boolean;
1466
1534
  };
1467
1535
  software_features: {
1468
1536
  can_remotely_unlock: boolean;
1469
1537
  can_program_access_codes: boolean;
1538
+ can_unlock_with_face_recognition: boolean;
1539
+ supports_onvif: boolean;
1470
1540
  };
1471
1541
  }, {
1472
1542
  main_category: "intercom";
1473
1543
  physical_properties: {
1474
1544
  has_camera: boolean;
1545
+ has_rfid_reader: boolean;
1546
+ has_nfc_reader: boolean;
1547
+ has_wiegand_interface: boolean;
1475
1548
  };
1476
1549
  software_features: {
1477
1550
  can_remotely_unlock: boolean;
1478
1551
  can_program_access_codes: boolean;
1552
+ can_unlock_with_face_recognition: boolean;
1553
+ supports_onvif: boolean;
1479
1554
  };
1480
1555
  }>, z.ZodObject<{
1481
1556
  main_category: z.ZodLiteral<"accessory">;
@@ -1731,10 +1806,15 @@ declare const routes: {
1731
1806
  main_category: "intercom";
1732
1807
  physical_properties: {
1733
1808
  has_camera: boolean;
1809
+ has_rfid_reader: boolean;
1810
+ has_nfc_reader: boolean;
1811
+ has_wiegand_interface: boolean;
1734
1812
  };
1735
1813
  software_features: {
1736
1814
  can_remotely_unlock: boolean;
1737
1815
  can_program_access_codes: boolean;
1816
+ can_unlock_with_face_recognition: boolean;
1817
+ supports_onvif: boolean;
1738
1818
  };
1739
1819
  }) | ({
1740
1820
  display_name: string;
@@ -2027,10 +2107,15 @@ declare const routes: {
2027
2107
  main_category: "intercom";
2028
2108
  physical_properties: {
2029
2109
  has_camera: boolean;
2110
+ has_rfid_reader: boolean;
2111
+ has_nfc_reader: boolean;
2112
+ has_wiegand_interface: boolean;
2030
2113
  };
2031
2114
  software_features: {
2032
2115
  can_remotely_unlock: boolean;
2033
2116
  can_program_access_codes: boolean;
2117
+ can_unlock_with_face_recognition: boolean;
2118
+ supports_onvif: boolean;
2034
2119
  };
2035
2120
  }) | ({
2036
2121
  display_name: string;
@@ -2482,38 +2567,63 @@ declare const routes: {
2482
2567
  main_category: z.ZodLiteral<"intercom">;
2483
2568
  physical_properties: z.ZodObject<{
2484
2569
  has_camera: z.ZodBoolean;
2570
+ has_rfid_reader: z.ZodBoolean;
2571
+ has_nfc_reader: z.ZodBoolean;
2572
+ has_wiegand_interface: z.ZodBoolean;
2485
2573
  }, "strip", z.ZodTypeAny, {
2486
2574
  has_camera: boolean;
2575
+ has_rfid_reader: boolean;
2576
+ has_nfc_reader: boolean;
2577
+ has_wiegand_interface: boolean;
2487
2578
  }, {
2488
2579
  has_camera: boolean;
2580
+ has_rfid_reader: boolean;
2581
+ has_nfc_reader: boolean;
2582
+ has_wiegand_interface: boolean;
2489
2583
  }>;
2490
2584
  software_features: z.ZodObject<{
2491
2585
  can_remotely_unlock: z.ZodBoolean;
2492
2586
  can_program_access_codes: z.ZodBoolean;
2587
+ can_unlock_with_face_recognition: z.ZodBoolean;
2588
+ supports_onvif: z.ZodBoolean;
2493
2589
  }, "strip", z.ZodTypeAny, {
2494
2590
  can_remotely_unlock: boolean;
2495
2591
  can_program_access_codes: boolean;
2592
+ can_unlock_with_face_recognition: boolean;
2593
+ supports_onvif: boolean;
2496
2594
  }, {
2497
2595
  can_remotely_unlock: boolean;
2498
2596
  can_program_access_codes: boolean;
2597
+ can_unlock_with_face_recognition: boolean;
2598
+ supports_onvif: boolean;
2499
2599
  }>;
2500
2600
  }, "strip", z.ZodTypeAny, {
2501
2601
  main_category: "intercom";
2502
2602
  physical_properties: {
2503
2603
  has_camera: boolean;
2604
+ has_rfid_reader: boolean;
2605
+ has_nfc_reader: boolean;
2606
+ has_wiegand_interface: boolean;
2504
2607
  };
2505
2608
  software_features: {
2506
2609
  can_remotely_unlock: boolean;
2507
2610
  can_program_access_codes: boolean;
2611
+ can_unlock_with_face_recognition: boolean;
2612
+ supports_onvif: boolean;
2508
2613
  };
2509
2614
  }, {
2510
2615
  main_category: "intercom";
2511
2616
  physical_properties: {
2512
2617
  has_camera: boolean;
2618
+ has_rfid_reader: boolean;
2619
+ has_nfc_reader: boolean;
2620
+ has_wiegand_interface: boolean;
2513
2621
  };
2514
2622
  software_features: {
2515
2623
  can_remotely_unlock: boolean;
2516
2624
  can_program_access_codes: boolean;
2625
+ can_unlock_with_face_recognition: boolean;
2626
+ supports_onvif: boolean;
2517
2627
  };
2518
2628
  }>, z.ZodObject<{
2519
2629
  main_category: z.ZodLiteral<"accessory">;
@@ -2605,10 +2715,15 @@ declare const routes: {
2605
2715
  main_category: "intercom";
2606
2716
  physical_properties: {
2607
2717
  has_camera: boolean;
2718
+ has_rfid_reader: boolean;
2719
+ has_nfc_reader: boolean;
2720
+ has_wiegand_interface: boolean;
2608
2721
  };
2609
2722
  software_features: {
2610
2723
  can_remotely_unlock: boolean;
2611
2724
  can_program_access_codes: boolean;
2725
+ can_unlock_with_face_recognition: boolean;
2726
+ supports_onvif: boolean;
2612
2727
  };
2613
2728
  } | {
2614
2729
  main_category: "accessory";
@@ -2696,10 +2811,15 @@ declare const routes: {
2696
2811
  main_category: "intercom";
2697
2812
  physical_properties: {
2698
2813
  has_camera: boolean;
2814
+ has_rfid_reader: boolean;
2815
+ has_nfc_reader: boolean;
2816
+ has_wiegand_interface: boolean;
2699
2817
  };
2700
2818
  software_features: {
2701
2819
  can_remotely_unlock: boolean;
2702
2820
  can_program_access_codes: boolean;
2821
+ can_unlock_with_face_recognition: boolean;
2822
+ supports_onvif: boolean;
2703
2823
  };
2704
2824
  } | {
2705
2825
  main_category: "accessory";
@@ -2976,10 +3096,15 @@ interface Routes {
2976
3096
  main_category: 'intercom';
2977
3097
  physical_properties: {
2978
3098
  has_camera: boolean;
3099
+ has_rfid_reader: boolean;
3100
+ has_nfc_reader: boolean;
3101
+ has_wiegand_interface: boolean;
2979
3102
  };
2980
3103
  software_features: {
2981
3104
  can_remotely_unlock: boolean;
2982
3105
  can_program_access_codes: boolean;
3106
+ can_unlock_with_face_recognition: boolean;
3107
+ supports_onvif: boolean;
2983
3108
  };
2984
3109
  } | {
2985
3110
  main_category: 'accessory';
@@ -3082,10 +3207,15 @@ interface Routes {
3082
3207
  main_category: 'intercom';
3083
3208
  physical_properties: {
3084
3209
  has_camera: boolean;
3210
+ has_rfid_reader: boolean;
3211
+ has_nfc_reader: boolean;
3212
+ has_wiegand_interface: boolean;
3085
3213
  };
3086
3214
  software_features: {
3087
3215
  can_remotely_unlock: boolean;
3088
3216
  can_program_access_codes: boolean;
3217
+ can_unlock_with_face_recognition: boolean;
3218
+ supports_onvif: boolean;
3089
3219
  };
3090
3220
  } | {
3091
3221
  main_category: 'accessory';