@seamapi/types 1.133.0 → 1.135.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.
@@ -734,6 +734,9 @@ declare const _default: {
734
734
  can_program_online_access_codes: {
735
735
  type: string;
736
736
  };
737
+ can_remotely_lock: {
738
+ type: string;
739
+ };
737
740
  can_remotely_unlock: {
738
741
  type: string;
739
742
  };
@@ -2359,6 +2362,9 @@ declare const _default: {
2359
2362
  can_program_online_access_codes: {
2360
2363
  type: string;
2361
2364
  };
2365
+ can_remotely_lock: {
2366
+ type: string;
2367
+ };
2362
2368
  can_remotely_unlock: {
2363
2369
  type: string;
2364
2370
  };
@@ -2589,6 +2595,9 @@ declare const _default: {
2589
2595
  can_program_online_access_codes: {
2590
2596
  type: string;
2591
2597
  };
2598
+ can_remotely_lock: {
2599
+ type: string;
2600
+ };
2592
2601
  can_remotely_unlock: {
2593
2602
  type: string;
2594
2603
  };
@@ -11939,20 +11948,25 @@ declare const _default: {
11939
11948
  };
11940
11949
  };
11941
11950
  security: ({
11942
- access_token: never[];
11943
- seam_workspace: never[];
11944
- seam_client_session_token?: never;
11945
- client_session_token?: never;
11951
+ client_session: never[];
11952
+ pat_with_workspace?: never;
11953
+ console_session?: never;
11954
+ api_key?: never;
11946
11955
  } | {
11947
- seam_client_session_token: never[];
11948
- access_token?: never;
11949
- seam_workspace?: never;
11950
- client_session_token?: never;
11956
+ pat_with_workspace: never[];
11957
+ client_session?: never;
11958
+ console_session?: never;
11959
+ api_key?: never;
11951
11960
  } | {
11952
- client_session_token: never[];
11953
- access_token?: never;
11954
- seam_workspace?: never;
11955
- seam_client_session_token?: never;
11961
+ console_session: never[];
11962
+ client_session?: never;
11963
+ pat_with_workspace?: never;
11964
+ api_key?: never;
11965
+ } | {
11966
+ api_key: never[];
11967
+ client_session?: never;
11968
+ pat_with_workspace?: never;
11969
+ console_session?: never;
11956
11970
  })[];
11957
11971
  summary: string;
11958
11972
  tags: string[];
@@ -19420,6 +19434,7 @@ interface Routes {
19420
19434
  is_managed: true;
19421
19435
  custom_metadata?: Record<string, string | boolean | null> | undefined;
19422
19436
  can_remotely_unlock?: boolean | undefined;
19437
+ can_remotely_lock?: boolean | undefined;
19423
19438
  can_program_online_access_codes?: boolean | undefined;
19424
19439
  };
19425
19440
  };
@@ -19918,6 +19933,7 @@ interface Routes {
19918
19933
  is_managed: true;
19919
19934
  custom_metadata?: Record<string, string | boolean | null> | undefined;
19920
19935
  can_remotely_unlock?: boolean | undefined;
19936
+ can_remotely_lock?: boolean | undefined;
19921
19937
  can_program_online_access_codes?: boolean | undefined;
19922
19938
  }>;
19923
19939
  };
@@ -20011,6 +20027,7 @@ interface Routes {
20011
20027
  };
20012
20028
  };
20013
20029
  can_remotely_unlock?: boolean | undefined;
20030
+ can_remotely_lock?: boolean | undefined;
20014
20031
  can_program_online_access_codes?: boolean | undefined;
20015
20032
  };
20016
20033
  };
@@ -20096,6 +20113,7 @@ interface Routes {
20096
20113
  };
20097
20114
  };
20098
20115
  can_remotely_unlock?: boolean | undefined;
20116
+ can_remotely_lock?: boolean | undefined;
20099
20117
  can_program_online_access_codes?: boolean | undefined;
20100
20118
  }>;
20101
20119
  };
@@ -20739,6 +20757,7 @@ interface Routes {
20739
20757
  is_managed: true;
20740
20758
  custom_metadata?: Record<string, string | boolean | null> | undefined;
20741
20759
  can_remotely_unlock?: boolean | undefined;
20760
+ can_remotely_lock?: boolean | undefined;
20742
20761
  can_program_online_access_codes?: boolean | undefined;
20743
20762
  };
20744
20763
  device: {
@@ -21214,6 +21233,7 @@ interface Routes {
21214
21233
  is_managed: true;
21215
21234
  custom_metadata?: Record<string, string | boolean | null> | undefined;
21216
21235
  can_remotely_unlock?: boolean | undefined;
21236
+ can_remotely_lock?: boolean | undefined;
21217
21237
  can_program_online_access_codes?: boolean | undefined;
21218
21238
  };
21219
21239
  };
@@ -21712,6 +21732,7 @@ interface Routes {
21712
21732
  is_managed: true;
21713
21733
  custom_metadata?: Record<string, string | boolean | null> | undefined;
21714
21734
  can_remotely_unlock?: boolean | undefined;
21735
+ can_remotely_lock?: boolean | undefined;
21715
21736
  can_program_online_access_codes?: boolean | undefined;
21716
21737
  }>;
21717
21738
  devices: Array<{
@@ -22187,6 +22208,7 @@ interface Routes {
22187
22208
  is_managed: true;
22188
22209
  custom_metadata?: Record<string, string | boolean | null> | undefined;
22189
22210
  can_remotely_unlock?: boolean | undefined;
22211
+ can_remotely_lock?: boolean | undefined;
22190
22212
  can_program_online_access_codes?: boolean | undefined;
22191
22213
  }>;
22192
22214
  };
@@ -22540,6 +22562,7 @@ interface Routes {
22540
22562
  is_managed: true;
22541
22563
  custom_metadata?: Record<string, string | boolean | null> | undefined;
22542
22564
  can_remotely_unlock?: boolean | undefined;
22565
+ can_remotely_lock?: boolean | undefined;
22543
22566
  can_program_online_access_codes?: boolean | undefined;
22544
22567
  }>;
22545
22568
  };
@@ -22613,6 +22636,7 @@ interface Routes {
22613
22636
  is_managed: true;
22614
22637
  custom_metadata?: Record<string, string | boolean | null> | undefined;
22615
22638
  can_remotely_unlock?: boolean | undefined;
22639
+ can_remotely_lock?: boolean | undefined;
22616
22640
  can_program_online_access_codes?: boolean | undefined;
22617
22641
  };
22618
22642
  };
@@ -23299,6 +23323,7 @@ interface Routes {
23299
23323
  is_managed: true;
23300
23324
  custom_metadata?: Record<string, string | boolean | null> | undefined;
23301
23325
  can_remotely_unlock?: boolean | undefined;
23326
+ can_remotely_lock?: boolean | undefined;
23302
23327
  can_program_online_access_codes?: boolean | undefined;
23303
23328
  };
23304
23329
  };
@@ -23873,6 +23898,7 @@ interface Routes {
23873
23898
  is_managed: true;
23874
23899
  custom_metadata?: Record<string, string | boolean | null> | undefined;
23875
23900
  can_remotely_unlock?: boolean | undefined;
23901
+ can_remotely_lock?: boolean | undefined;
23876
23902
  can_program_online_access_codes?: boolean | undefined;
23877
23903
  }>;
23878
23904
  };
@@ -24632,6 +24658,7 @@ interface Routes {
24632
24658
  is_managed: true;
24633
24659
  custom_metadata?: Record<string, string | boolean | null> | undefined;
24634
24660
  can_remotely_unlock?: boolean | undefined;
24661
+ can_remotely_lock?: boolean | undefined;
24635
24662
  can_program_online_access_codes?: boolean | undefined;
24636
24663
  }>;
24637
24664
  };
package/dist/devicedb.cjs CHANGED
@@ -27,11 +27,13 @@ __export(models_exports, {
27
27
  var device_capability_flags = zod.z.object({
28
28
  can_remotely_unlock: zod.z.boolean(),
29
29
  can_remotely_lock: zod.z.boolean(),
30
+ can_program_offline_access_codes: zod.z.boolean(),
30
31
  can_program_online_access_codes: zod.z.boolean()
31
32
  }).partial();
32
33
  var device_model_capability_flags_map = {
33
34
  can_remotely_lock: zod.z.literal(true),
34
35
  can_remotely_unlock: zod.z.literal(true),
36
+ can_program_offline_access_codes: zod.z.literal(true),
35
37
  can_program_online_access_codes: zod.z.literal(true)
36
38
  };
37
39
  var device_model_capability_flags = zod.z.object(device_model_capability_flags_map).partial();
@@ -109,6 +111,7 @@ var smartlock = zod.z.object({
109
111
  device_model_capability_flags.pick({
110
112
  can_remotely_lock: true,
111
113
  can_remotely_unlock: true,
114
+ can_program_offline_access_codes: true,
112
115
  can_program_online_access_codes: true
113
116
  })
114
117
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/seam/devicedb/models/index.ts","../src/lib/seam/devicedb/models/device-capability.ts","../src/lib/seam/devicedb/models/device-model.ts","../src/lib/seam/devicedb/models/hardware.ts","../src/lib/seam/devicedb/models/image-reference.ts","../src/lib/seam/devicedb/models/manufacturer.ts","../src/lib/seam/devicedb/route-specs.ts"],"names":["z"],"mappings":"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","sourcesContent":["export { device_capability_flags } from './device-capability.js'\nexport * from './device-model.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z, type ZodLiteral } from 'zod'\n\nexport const device_capability_flags = z\n .object({\n can_remotely_unlock: z.boolean(),\n can_remotely_lock: z.boolean(),\n can_program_online_access_codes: z.boolean(),\n })\n .partial()\n\nconst device_model_capability_flags_map: Record<\n keyof z.infer<typeof device_capability_flags>,\n ZodLiteral<true>\n> = {\n can_remotely_lock: z.literal(true),\n can_remotely_unlock: z.literal(true),\n can_program_online_access_codes: z.literal(true),\n}\n\nexport const device_model_capability_flags = z\n .object(device_model_capability_flags_map)\n .partial()\n","import { z } from 'zod'\n\nimport { device_model_capability_flags } from './device-capability.js'\nimport { hardware } from './hardware.js'\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\n .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 .merge(\n device_model_capability_flags.pick({\n can_remotely_lock: true,\n can_remotely_unlock: true,\n can_program_online_access_codes: true,\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 ThermostatProperties = 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().default(false),\n has_nfc_reader: z.boolean().default(false),\n has_wiegand_interface: z.boolean().default(false),\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().default(false),\n supports_onvif: z.boolean().default(false),\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 hardware,\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 BaseDeviceModel = 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 DeviceModel = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const hardware = z\n .object({\n has_physical_key: z.boolean(),\n })\n .partial()\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_annotation_code = z.enum(['subscription_required'])\n\nexport type ManufacturerAnnotationCode = z.infer<\n typeof manufacturer_annotation_code\n>\n\nexport const manufacturer_annotation = z.object({\n annotation_code: manufacturer_annotation_code,\n message: z.string().trim().nonempty(),\n})\n\nexport type ManufacturerAnnotation = z.infer<typeof manufacturer_annotation>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n /** @deprecated */\n integration: manufacturer_integration_support_level,\n integration_support_level: 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 annotations: z.array(manufacturer_annotation),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './models/index.js'\n\nconst dot_path = z.string().regex(/^([a-z])[a-z_.]*[a-z]+$/)\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 /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n text_search: z.string().optional(),\n include_if: z.array(dot_path).optional(),\n exclude_if: z.array(dot_path).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 /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .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/models/index.ts","../src/lib/seam/devicedb/models/device-capability.ts","../src/lib/seam/devicedb/models/device-model.ts","../src/lib/seam/devicedb/models/hardware.ts","../src/lib/seam/devicedb/models/image-reference.ts","../src/lib/seam/devicedb/models/manufacturer.ts","../src/lib/seam/devicedb/route-specs.ts"],"names":["z"],"mappings":"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","sourcesContent":["export { device_capability_flags } from './device-capability.js'\nexport * from './device-model.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z, type ZodLiteral } from 'zod'\n\nexport const device_capability_flags = z\n .object({\n can_remotely_unlock: z.boolean(),\n can_remotely_lock: z.boolean(),\n can_program_offline_access_codes: z.boolean(),\n can_program_online_access_codes: z.boolean(),\n })\n .partial()\n\nconst device_model_capability_flags_map: Record<\n keyof z.infer<typeof device_capability_flags>,\n ZodLiteral<true>\n> = {\n can_remotely_lock: z.literal(true),\n can_remotely_unlock: z.literal(true),\n can_program_offline_access_codes: z.literal(true),\n can_program_online_access_codes: z.literal(true),\n}\n\nexport const device_model_capability_flags = z\n .object(device_model_capability_flags_map)\n .partial()\n","import { z } from 'zod'\n\nimport { device_model_capability_flags } from './device-capability.js'\nimport { hardware } from './hardware.js'\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\n .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 .merge(\n device_model_capability_flags.pick({\n can_remotely_lock: true,\n can_remotely_unlock: true,\n can_program_offline_access_codes: true,\n can_program_online_access_codes: true,\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 ThermostatProperties = 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().default(false),\n has_nfc_reader: z.boolean().default(false),\n has_wiegand_interface: z.boolean().default(false),\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().default(false),\n supports_onvif: z.boolean().default(false),\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 hardware,\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 BaseDeviceModel = 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 DeviceModel = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const hardware = z\n .object({\n has_physical_key: z.boolean(),\n })\n .partial()\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_annotation_code = z.enum(['subscription_required'])\n\nexport type ManufacturerAnnotationCode = z.infer<\n typeof manufacturer_annotation_code\n>\n\nexport const manufacturer_annotation = z.object({\n annotation_code: manufacturer_annotation_code,\n message: z.string().trim().nonempty(),\n})\n\nexport type ManufacturerAnnotation = z.infer<typeof manufacturer_annotation>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n /** @deprecated */\n integration: manufacturer_integration_support_level,\n integration_support_level: 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 annotations: z.array(manufacturer_annotation),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './models/index.js'\n\nconst dot_path = z.string().regex(/^([a-z])[a-z_.]*[a-z]+$/)\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 /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n text_search: z.string().optional(),\n include_if: z.array(dot_path).optional(),\n exclude_if: z.array(dot_path).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 /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
@@ -3,14 +3,17 @@ import { z } from 'zod';
3
3
  declare const device_capability_flags: z.ZodObject<{
4
4
  can_remotely_unlock: z.ZodOptional<z.ZodBoolean>;
5
5
  can_remotely_lock: z.ZodOptional<z.ZodBoolean>;
6
+ can_program_offline_access_codes: z.ZodOptional<z.ZodBoolean>;
6
7
  can_program_online_access_codes: z.ZodOptional<z.ZodBoolean>;
7
8
  }, "strip", z.ZodTypeAny, {
8
9
  can_remotely_unlock?: boolean | undefined;
9
10
  can_remotely_lock?: boolean | undefined;
11
+ can_program_offline_access_codes?: boolean | undefined;
10
12
  can_program_online_access_codes?: boolean | undefined;
11
13
  }, {
12
14
  can_remotely_unlock?: boolean | undefined;
13
15
  can_remotely_lock?: boolean | undefined;
16
+ can_program_offline_access_codes?: boolean | undefined;
14
17
  can_program_online_access_codes?: boolean | undefined;
15
18
  }>;
16
19
 
@@ -115,6 +118,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
115
118
  }>;
116
119
  can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
117
120
  can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
121
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
118
122
  can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
119
123
  }, "strip", z.ZodTypeAny, {
120
124
  main_category: "smartlock";
@@ -131,6 +135,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
131
135
  };
132
136
  can_remotely_unlock?: true | undefined;
133
137
  can_remotely_lock?: true | undefined;
138
+ can_program_offline_access_codes?: true | undefined;
134
139
  can_program_online_access_codes?: true | undefined;
135
140
  }, {
136
141
  main_category: "smartlock";
@@ -147,6 +152,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
147
152
  };
148
153
  can_remotely_unlock?: true | undefined;
149
154
  can_remotely_lock?: true | undefined;
155
+ can_program_offline_access_codes?: true | undefined;
150
156
  can_program_online_access_codes?: true | undefined;
151
157
  }>, z.ZodObject<{
152
158
  main_category: z.ZodLiteral<"sensor">;
@@ -878,6 +884,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
878
884
  }>;
879
885
  can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
880
886
  can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
887
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
881
888
  can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
882
889
  }, "strip", z.ZodTypeAny, {
883
890
  main_category: "smartlock";
@@ -894,6 +901,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
894
901
  };
895
902
  can_remotely_unlock?: true | undefined;
896
903
  can_remotely_lock?: true | undefined;
904
+ can_program_offline_access_codes?: true | undefined;
897
905
  can_program_online_access_codes?: true | undefined;
898
906
  }, {
899
907
  main_category: "smartlock";
@@ -910,6 +918,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
910
918
  };
911
919
  can_remotely_unlock?: true | undefined;
912
920
  can_remotely_lock?: true | undefined;
921
+ can_program_offline_access_codes?: true | undefined;
913
922
  can_program_online_access_codes?: true | undefined;
914
923
  }>, z.ZodObject<{
915
924
  main_category: z.ZodLiteral<"sensor">;
@@ -1516,6 +1525,7 @@ declare const routes: {
1516
1525
  }>;
1517
1526
  can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
1518
1527
  can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
1528
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
1519
1529
  can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
1520
1530
  }, "strip", z.ZodTypeAny, {
1521
1531
  main_category: "smartlock";
@@ -1532,6 +1542,7 @@ declare const routes: {
1532
1542
  };
1533
1543
  can_remotely_unlock?: true | undefined;
1534
1544
  can_remotely_lock?: true | undefined;
1545
+ can_program_offline_access_codes?: true | undefined;
1535
1546
  can_program_online_access_codes?: true | undefined;
1536
1547
  }, {
1537
1548
  main_category: "smartlock";
@@ -1548,6 +1559,7 @@ declare const routes: {
1548
1559
  };
1549
1560
  can_remotely_unlock?: true | undefined;
1550
1561
  can_remotely_lock?: true | undefined;
1562
+ can_program_offline_access_codes?: true | undefined;
1551
1563
  can_program_online_access_codes?: true | undefined;
1552
1564
  }>, z.ZodObject<{
1553
1565
  main_category: z.ZodLiteral<"sensor">;
@@ -1785,6 +1797,7 @@ declare const routes: {
1785
1797
  };
1786
1798
  can_remotely_unlock?: true | undefined;
1787
1799
  can_remotely_lock?: true | undefined;
1800
+ can_program_offline_access_codes?: true | undefined;
1788
1801
  can_program_online_access_codes?: true | undefined;
1789
1802
  }) | ({
1790
1803
  display_name: string;
@@ -2137,6 +2150,7 @@ declare const routes: {
2137
2150
  };
2138
2151
  can_remotely_unlock?: true | undefined;
2139
2152
  can_remotely_lock?: true | undefined;
2153
+ can_program_offline_access_codes?: true | undefined;
2140
2154
  can_program_online_access_codes?: true | undefined;
2141
2155
  }) | ({
2142
2156
  display_name: string;
@@ -2754,6 +2768,7 @@ declare const routes: {
2754
2768
  }>;
2755
2769
  can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
2756
2770
  can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
2771
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
2757
2772
  can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
2758
2773
  }, "strip", z.ZodTypeAny, {
2759
2774
  main_category: "smartlock";
@@ -2770,6 +2785,7 @@ declare const routes: {
2770
2785
  };
2771
2786
  can_remotely_unlock?: true | undefined;
2772
2787
  can_remotely_lock?: true | undefined;
2788
+ can_program_offline_access_codes?: true | undefined;
2773
2789
  can_program_online_access_codes?: true | undefined;
2774
2790
  }, {
2775
2791
  main_category: "smartlock";
@@ -2786,6 +2802,7 @@ declare const routes: {
2786
2802
  };
2787
2803
  can_remotely_unlock?: true | undefined;
2788
2804
  can_remotely_lock?: true | undefined;
2805
+ can_program_offline_access_codes?: true | undefined;
2789
2806
  can_program_online_access_codes?: true | undefined;
2790
2807
  }>, z.ZodObject<{
2791
2808
  main_category: z.ZodLiteral<"sensor">;
@@ -3023,6 +3040,7 @@ declare const routes: {
3023
3040
  };
3024
3041
  can_remotely_unlock?: true | undefined;
3025
3042
  can_remotely_lock?: true | undefined;
3043
+ can_program_offline_access_codes?: true | undefined;
3026
3044
  can_program_online_access_codes?: true | undefined;
3027
3045
  } | {
3028
3046
  main_category: "sensor";
@@ -3130,6 +3148,7 @@ declare const routes: {
3130
3148
  };
3131
3149
  can_remotely_unlock?: true | undefined;
3132
3150
  can_remotely_lock?: true | undefined;
3151
+ can_program_offline_access_codes?: true | undefined;
3133
3152
  can_program_online_access_codes?: true | undefined;
3134
3153
  } | {
3135
3154
  main_category: "sensor";
@@ -3492,6 +3511,7 @@ interface Routes {
3492
3511
  };
3493
3512
  can_remotely_lock?: true | undefined;
3494
3513
  can_remotely_unlock?: true | undefined;
3514
+ can_program_offline_access_codes?: true | undefined;
3495
3515
  can_program_online_access_codes?: true | undefined;
3496
3516
  } | {
3497
3517
  main_category: 'sensor';
@@ -3617,6 +3637,7 @@ interface Routes {
3617
3637
  };
3618
3638
  can_remotely_lock?: true | undefined;
3619
3639
  can_remotely_unlock?: true | undefined;
3640
+ can_program_offline_access_codes?: true | undefined;
3620
3641
  can_program_online_access_codes?: true | undefined;
3621
3642
  } | {
3622
3643
  main_category: 'sensor';
@@ -660,6 +660,9 @@ declare const _default: {
660
660
  can_program_online_access_codes: {
661
661
  type: string;
662
662
  };
663
+ can_remotely_lock: {
664
+ type: string;
665
+ };
663
666
  can_remotely_unlock: {
664
667
  type: string;
665
668
  };
@@ -2285,6 +2288,9 @@ declare const _default: {
2285
2288
  can_program_online_access_codes: {
2286
2289
  type: string;
2287
2290
  };
2291
+ can_remotely_lock: {
2292
+ type: string;
2293
+ };
2288
2294
  can_remotely_unlock: {
2289
2295
  type: string;
2290
2296
  };
@@ -2515,6 +2521,9 @@ declare const _default: {
2515
2521
  can_program_online_access_codes: {
2516
2522
  type: string;
2517
2523
  };
2524
+ can_remotely_lock: {
2525
+ type: string;
2526
+ };
2518
2527
  can_remotely_unlock: {
2519
2528
  type: string;
2520
2529
  };
@@ -11865,20 +11874,25 @@ declare const _default: {
11865
11874
  };
11866
11875
  };
11867
11876
  security: ({
11868
- access_token: never[];
11869
- seam_workspace: never[];
11870
- seam_client_session_token?: never;
11871
- client_session_token?: never;
11877
+ client_session: never[];
11878
+ pat_with_workspace?: never;
11879
+ console_session?: never;
11880
+ api_key?: never;
11872
11881
  } | {
11873
- seam_client_session_token: never[];
11874
- access_token?: never;
11875
- seam_workspace?: never;
11876
- client_session_token?: never;
11882
+ pat_with_workspace: never[];
11883
+ client_session?: never;
11884
+ console_session?: never;
11885
+ api_key?: never;
11877
11886
  } | {
11878
- client_session_token: never[];
11879
- access_token?: never;
11880
- seam_workspace?: never;
11881
- seam_client_session_token?: never;
11887
+ console_session: never[];
11888
+ client_session?: never;
11889
+ pat_with_workspace?: never;
11890
+ api_key?: never;
11891
+ } | {
11892
+ api_key: never[];
11893
+ client_session?: never;
11894
+ pat_with_workspace?: never;
11895
+ console_session?: never;
11882
11896
  })[];
11883
11897
  summary: string;
11884
11898
  tags: string[];
@@ -505,6 +505,7 @@ export default {
505
505
  device: {
506
506
  properties: {
507
507
  can_program_online_access_codes: { type: 'boolean' },
508
+ can_remotely_lock: { type: 'boolean' },
508
509
  can_remotely_unlock: { type: 'boolean' },
509
510
  capabilities_supported: {
510
511
  description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
@@ -1829,6 +1830,7 @@ export default {
1829
1830
  phone: {
1830
1831
  properties: {
1831
1832
  can_program_online_access_codes: { type: 'boolean' },
1833
+ can_remotely_lock: { type: 'boolean' },
1832
1834
  can_remotely_unlock: { type: 'boolean' },
1833
1835
  capabilities_supported: {
1834
1836
  description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
@@ -2042,6 +2044,7 @@ export default {
2042
2044
  unmanaged_device: {
2043
2045
  properties: {
2044
2046
  can_program_online_access_codes: { type: 'boolean' },
2047
+ can_remotely_lock: { type: 'boolean' },
2045
2048
  can_remotely_unlock: { type: 'boolean' },
2046
2049
  capabilities_supported: {
2047
2050
  description: 'Collection of capabilities that the device supports when connected to Seam. Values are "access_code," which indicates that the device can manage and utilize digital PIN codes for secure access; "lock," which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; "noise_detection," which indicates that the device supports monitoring and responding to ambient noise levels; "thermostat," which indicates that the device can regulate and adjust indoor temperatures; and "battery," which indicates that the device can manage battery life and health.',
@@ -9067,9 +9070,10 @@ export default {
9067
9070
  401: { description: 'Unauthorized' },
9068
9071
  },
9069
9072
  security: [
9070
- { access_token: [], seam_workspace: [] },
9071
- { seam_client_session_token: [] },
9072
- { client_session_token: [] },
9073
+ { client_session: [] },
9074
+ { pat_with_workspace: [] },
9075
+ { console_session: [] },
9076
+ { api_key: [] },
9073
9077
  ],
9074
9078
  summary: '/locks/list',
9075
9079
  tags: ['/locks'],