@seamapi/types 1.216.0 → 1.218.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.
- package/dist/connect.cjs +32 -7
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +50 -0
- package/dist/devicedb.cjs +20 -4
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +192 -4
- package/lib/seam/connect/models/devices/device-provider.d.ts +12 -0
- package/lib/seam/connect/models/devices/device.d.ts +24 -0
- package/lib/seam/connect/models/devices/phone.d.ts +12 -0
- package/lib/seam/connect/models/devices/unmanaged-device.d.ts +16 -0
- package/lib/seam/connect/openapi.d.ts +7 -0
- package/lib/seam/connect/openapi.js +10 -1
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +3 -0
- package/lib/seam/devicedb/models/device-capability.d.ts +24 -0
- package/lib/seam/devicedb/models/device-capability.js +8 -0
- package/lib/seam/devicedb/models/device-capability.js.map +1 -1
- package/lib/seam/devicedb/models/device-model.d.ts +66 -2
- package/lib/seam/devicedb/models/device-model.js +8 -0
- package/lib/seam/devicedb/models/device-model.js.map +1 -1
- package/lib/seam/devicedb/route-specs.d.ts +98 -2
- package/lib/seam/devicedb/route-types.d.ts +16 -0
- package/package.json +1 -1
- package/src/lib/seam/connect/openapi.ts +11 -1
- package/src/lib/seam/connect/route-types.ts +3 -0
- package/src/lib/seam/devicedb/models/device-capability.ts +8 -0
- package/src/lib/seam/devicedb/models/device-model.ts +8 -0
- package/src/lib/seam/devicedb/route-types.ts +16 -0
package/dist/connect.d.cts
CHANGED
|
@@ -4291,6 +4291,10 @@ declare const device: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
4291
4291
|
can_remotely_lock: z.ZodOptional<z.ZodBoolean>;
|
|
4292
4292
|
can_program_offline_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
4293
4293
|
can_program_online_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
4294
|
+
can_hvac_heat: z.ZodOptional<z.ZodBoolean>;
|
|
4295
|
+
can_hvac_cool: z.ZodOptional<z.ZodBoolean>;
|
|
4296
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodBoolean>;
|
|
4297
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodBoolean>;
|
|
4294
4298
|
}, {
|
|
4295
4299
|
can_simulate_removal: z.ZodOptional<z.ZodBoolean>;
|
|
4296
4300
|
can_simulate_connection: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -4757,6 +4761,10 @@ declare const device: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
4757
4761
|
can_remotely_lock?: boolean | undefined;
|
|
4758
4762
|
can_program_offline_access_codes?: boolean | undefined;
|
|
4759
4763
|
can_program_online_access_codes?: boolean | undefined;
|
|
4764
|
+
can_hvac_heat?: boolean | undefined;
|
|
4765
|
+
can_hvac_cool?: boolean | undefined;
|
|
4766
|
+
can_hvac_heat_cool?: boolean | undefined;
|
|
4767
|
+
can_turn_off_hvac?: boolean | undefined;
|
|
4760
4768
|
can_simulate_removal?: boolean | undefined;
|
|
4761
4769
|
can_simulate_connection?: boolean | undefined;
|
|
4762
4770
|
can_simulate_disconnection?: boolean | undefined;
|
|
@@ -5223,6 +5231,10 @@ declare const device: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
5223
5231
|
can_remotely_lock?: boolean | undefined;
|
|
5224
5232
|
can_program_offline_access_codes?: boolean | undefined;
|
|
5225
5233
|
can_program_online_access_codes?: boolean | undefined;
|
|
5234
|
+
can_hvac_heat?: boolean | undefined;
|
|
5235
|
+
can_hvac_cool?: boolean | undefined;
|
|
5236
|
+
can_hvac_heat_cool?: boolean | undefined;
|
|
5237
|
+
can_turn_off_hvac?: boolean | undefined;
|
|
5226
5238
|
can_simulate_removal?: boolean | undefined;
|
|
5227
5239
|
can_simulate_connection?: boolean | undefined;
|
|
5228
5240
|
can_simulate_disconnection?: boolean | undefined;
|
|
@@ -5280,6 +5292,10 @@ declare const device_provider: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
5280
5292
|
can_remotely_lock: z.ZodOptional<z.ZodBoolean>;
|
|
5281
5293
|
can_program_offline_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
5282
5294
|
can_program_online_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
5295
|
+
can_hvac_heat: z.ZodOptional<z.ZodBoolean>;
|
|
5296
|
+
can_hvac_cool: z.ZodOptional<z.ZodBoolean>;
|
|
5297
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodBoolean>;
|
|
5298
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodBoolean>;
|
|
5283
5299
|
}, {
|
|
5284
5300
|
can_simulate_removal: z.ZodOptional<z.ZodBoolean>;
|
|
5285
5301
|
can_simulate_connection: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -5293,6 +5309,10 @@ declare const device_provider: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
5293
5309
|
can_remotely_lock?: boolean | undefined;
|
|
5294
5310
|
can_program_offline_access_codes?: boolean | undefined;
|
|
5295
5311
|
can_program_online_access_codes?: boolean | undefined;
|
|
5312
|
+
can_hvac_heat?: boolean | undefined;
|
|
5313
|
+
can_hvac_cool?: boolean | undefined;
|
|
5314
|
+
can_hvac_heat_cool?: boolean | undefined;
|
|
5315
|
+
can_turn_off_hvac?: boolean | undefined;
|
|
5296
5316
|
can_simulate_removal?: boolean | undefined;
|
|
5297
5317
|
can_simulate_connection?: boolean | undefined;
|
|
5298
5318
|
can_simulate_disconnection?: boolean | undefined;
|
|
@@ -5305,6 +5325,10 @@ declare const device_provider: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
5305
5325
|
can_remotely_lock?: boolean | undefined;
|
|
5306
5326
|
can_program_offline_access_codes?: boolean | undefined;
|
|
5307
5327
|
can_program_online_access_codes?: boolean | undefined;
|
|
5328
|
+
can_hvac_heat?: boolean | undefined;
|
|
5329
|
+
can_hvac_cool?: boolean | undefined;
|
|
5330
|
+
can_hvac_heat_cool?: boolean | undefined;
|
|
5331
|
+
can_turn_off_hvac?: boolean | undefined;
|
|
5308
5332
|
can_simulate_removal?: boolean | undefined;
|
|
5309
5333
|
can_simulate_connection?: boolean | undefined;
|
|
5310
5334
|
can_simulate_disconnection?: boolean | undefined;
|
|
@@ -7374,6 +7398,10 @@ declare const unmanaged_device: z.ZodObject<z.objectUtil.extendShape<z.objectUti
|
|
|
7374
7398
|
can_remotely_lock: z.ZodOptional<z.ZodBoolean>;
|
|
7375
7399
|
can_program_offline_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
7376
7400
|
can_program_online_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
7401
|
+
can_hvac_heat: z.ZodOptional<z.ZodBoolean>;
|
|
7402
|
+
can_hvac_cool: z.ZodOptional<z.ZodBoolean>;
|
|
7403
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodBoolean>;
|
|
7404
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodBoolean>;
|
|
7377
7405
|
}, {
|
|
7378
7406
|
can_simulate_removal: z.ZodOptional<z.ZodBoolean>;
|
|
7379
7407
|
can_simulate_connection: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -7519,6 +7547,10 @@ declare const unmanaged_device: z.ZodObject<z.objectUtil.extendShape<z.objectUti
|
|
|
7519
7547
|
can_remotely_lock: z.ZodOptional<z.ZodBoolean>;
|
|
7520
7548
|
can_program_offline_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
7521
7549
|
can_program_online_access_codes: z.ZodOptional<z.ZodBoolean>;
|
|
7550
|
+
can_hvac_heat: z.ZodOptional<z.ZodBoolean>;
|
|
7551
|
+
can_hvac_cool: z.ZodOptional<z.ZodBoolean>;
|
|
7552
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodBoolean>;
|
|
7553
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodBoolean>;
|
|
7522
7554
|
}, {
|
|
7523
7555
|
can_simulate_removal: z.ZodOptional<z.ZodBoolean>;
|
|
7524
7556
|
can_simulate_connection: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -7581,6 +7613,10 @@ declare const unmanaged_device: z.ZodObject<z.objectUtil.extendShape<z.objectUti
|
|
|
7581
7613
|
can_remotely_lock?: boolean | undefined;
|
|
7582
7614
|
can_program_offline_access_codes?: boolean | undefined;
|
|
7583
7615
|
can_program_online_access_codes?: boolean | undefined;
|
|
7616
|
+
can_hvac_heat?: boolean | undefined;
|
|
7617
|
+
can_hvac_cool?: boolean | undefined;
|
|
7618
|
+
can_hvac_heat_cool?: boolean | undefined;
|
|
7619
|
+
can_turn_off_hvac?: boolean | undefined;
|
|
7584
7620
|
can_simulate_removal?: boolean | undefined;
|
|
7585
7621
|
can_simulate_connection?: boolean | undefined;
|
|
7586
7622
|
can_simulate_disconnection?: boolean | undefined;
|
|
@@ -7642,6 +7678,10 @@ declare const unmanaged_device: z.ZodObject<z.objectUtil.extendShape<z.objectUti
|
|
|
7642
7678
|
can_remotely_lock?: boolean | undefined;
|
|
7643
7679
|
can_program_offline_access_codes?: boolean | undefined;
|
|
7644
7680
|
can_program_online_access_codes?: boolean | undefined;
|
|
7681
|
+
can_hvac_heat?: boolean | undefined;
|
|
7682
|
+
can_hvac_cool?: boolean | undefined;
|
|
7683
|
+
can_hvac_heat_cool?: boolean | undefined;
|
|
7684
|
+
can_turn_off_hvac?: boolean | undefined;
|
|
7645
7685
|
can_simulate_removal?: boolean | undefined;
|
|
7646
7686
|
can_simulate_connection?: boolean | undefined;
|
|
7647
7687
|
can_simulate_disconnection?: boolean | undefined;
|
|
@@ -12409,6 +12449,9 @@ declare const _default: {
|
|
|
12409
12449
|
format: string;
|
|
12410
12450
|
type: string;
|
|
12411
12451
|
};
|
|
12452
|
+
event_description: {
|
|
12453
|
+
type: string;
|
|
12454
|
+
};
|
|
12412
12455
|
event_id: {
|
|
12413
12456
|
format: string;
|
|
12414
12457
|
type: string;
|
|
@@ -16768,6 +16811,7 @@ declare const _default: {
|
|
|
16768
16811
|
};
|
|
16769
16812
|
'/acs/systems/get': {
|
|
16770
16813
|
post: {
|
|
16814
|
+
description: string;
|
|
16771
16815
|
operationId: string;
|
|
16772
16816
|
requestBody: {
|
|
16773
16817
|
content: {
|
|
@@ -16775,6 +16819,7 @@ declare const _default: {
|
|
|
16775
16819
|
schema: {
|
|
16776
16820
|
properties: {
|
|
16777
16821
|
acs_system_id: {
|
|
16822
|
+
description: string;
|
|
16778
16823
|
format: string;
|
|
16779
16824
|
type: string;
|
|
16780
16825
|
};
|
|
@@ -16830,6 +16875,8 @@ declare const _default: {
|
|
|
16830
16875
|
'x-fern-sdk-group-name': string[];
|
|
16831
16876
|
'x-fern-sdk-method-name': string;
|
|
16832
16877
|
'x-fern-sdk-return-value': string;
|
|
16878
|
+
'x-response-key': string;
|
|
16879
|
+
'x-title': string;
|
|
16833
16880
|
};
|
|
16834
16881
|
};
|
|
16835
16882
|
'/acs/systems/list': {
|
|
@@ -28948,6 +28995,7 @@ interface Routes {
|
|
|
28948
28995
|
queryParams: {};
|
|
28949
28996
|
jsonBody: {};
|
|
28950
28997
|
commonParams: {
|
|
28998
|
+
/** ID of the desired access control system. */
|
|
28951
28999
|
acs_system_id: string;
|
|
28952
29000
|
};
|
|
28953
29001
|
formData: {};
|
|
@@ -32004,6 +32052,7 @@ interface Routes {
|
|
|
32004
32052
|
workspace_id: string;
|
|
32005
32053
|
created_at: string;
|
|
32006
32054
|
occurred_at: string;
|
|
32055
|
+
event_description: string;
|
|
32007
32056
|
} | undefined;
|
|
32008
32057
|
message?: string | undefined;
|
|
32009
32058
|
};
|
|
@@ -32040,6 +32089,7 @@ interface Routes {
|
|
|
32040
32089
|
workspace_id: string;
|
|
32041
32090
|
created_at: string;
|
|
32042
32091
|
occurred_at: string;
|
|
32092
|
+
event_description: string;
|
|
32043
32093
|
}>;
|
|
32044
32094
|
};
|
|
32045
32095
|
};
|
package/dist/devicedb.cjs
CHANGED
|
@@ -28,13 +28,21 @@ var device_capability_flags = zod.z.object({
|
|
|
28
28
|
can_remotely_unlock: zod.z.boolean(),
|
|
29
29
|
can_remotely_lock: zod.z.boolean(),
|
|
30
30
|
can_program_offline_access_codes: zod.z.boolean(),
|
|
31
|
-
can_program_online_access_codes: zod.z.boolean()
|
|
31
|
+
can_program_online_access_codes: zod.z.boolean(),
|
|
32
|
+
can_hvac_heat: zod.z.boolean(),
|
|
33
|
+
can_hvac_cool: zod.z.boolean(),
|
|
34
|
+
can_hvac_heat_cool: zod.z.boolean(),
|
|
35
|
+
can_turn_off_hvac: zod.z.boolean()
|
|
32
36
|
}).partial();
|
|
33
37
|
var device_model_capability_flags_map = {
|
|
34
38
|
can_remotely_lock: zod.z.literal(true),
|
|
35
39
|
can_remotely_unlock: zod.z.literal(true),
|
|
36
40
|
can_program_offline_access_codes: zod.z.literal(true),
|
|
37
|
-
can_program_online_access_codes: zod.z.literal(true)
|
|
41
|
+
can_program_online_access_codes: zod.z.literal(true),
|
|
42
|
+
can_hvac_heat: zod.z.literal(true),
|
|
43
|
+
can_hvac_cool: zod.z.literal(true),
|
|
44
|
+
can_hvac_heat_cool: zod.z.literal(true),
|
|
45
|
+
can_turn_off_hvac: zod.z.literal(true)
|
|
38
46
|
};
|
|
39
47
|
var device_model_capability_flags = zod.z.object(device_model_capability_flags_map).partial();
|
|
40
48
|
var hardware = zod.z.object({
|
|
@@ -123,7 +131,11 @@ var smartlock = zod.z.object({
|
|
|
123
131
|
can_remotely_lock: true,
|
|
124
132
|
can_remotely_unlock: true,
|
|
125
133
|
can_program_offline_access_codes: true,
|
|
126
|
-
can_program_online_access_codes: true
|
|
134
|
+
can_program_online_access_codes: true,
|
|
135
|
+
can_hvac_heat: true,
|
|
136
|
+
can_hvac_cool: true,
|
|
137
|
+
can_hvac_heat_cool: true,
|
|
138
|
+
can_turn_off_hvac: true
|
|
127
139
|
})
|
|
128
140
|
);
|
|
129
141
|
var sensor = zod.z.object({
|
|
@@ -165,7 +177,11 @@ var intercom = zod.z.object({
|
|
|
165
177
|
can_remotely_unlock: zod.z.boolean(),
|
|
166
178
|
can_program_access_codes: zod.z.boolean(),
|
|
167
179
|
can_unlock_with_face_recognition: zod.z.boolean().default(false),
|
|
168
|
-
supports_onvif: zod.z.boolean().default(false)
|
|
180
|
+
supports_onvif: zod.z.boolean().default(false),
|
|
181
|
+
can_hvac_heat: zod.z.boolean(),
|
|
182
|
+
can_hvac_cool: zod.z.boolean(),
|
|
183
|
+
can_hvac_heat_cool: zod.z.boolean(),
|
|
184
|
+
can_turn_off_hvac: zod.z.boolean()
|
|
169
185
|
})
|
|
170
186
|
});
|
|
171
187
|
var accessory = zod.z.object({
|
package/dist/devicedb.cjs.map
CHANGED
|
@@ -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_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 website: z.string().url().optional(),\n legal_name: z.string().optional(),\n parent_organization: z.string().optional(),\n headquarters: z.array(z.string()).optional(),\n countries_of_origin: z.array(z.string()).optional(),\n founding_year: z.string().optional(),\n us_customer_support_tel: z.string().optional(),\n us_customer_support_email: z.string().email().optional(),\n us_customer_support_contact_url: z.string().url().optional(),\n seam_api_guide: z.string().optional(),\n description: z.string().optional(),\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 can_hvac_heat: z.boolean(),\n can_hvac_cool: z.boolean(),\n can_hvac_heat_cool: z.boolean(),\n can_turn_off_hvac: 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 can_hvac_heat: z.literal(true),\n can_hvac_cool: z.literal(true),\n can_hvac_heat_cool: z.literal(true),\n can_turn_off_hvac: 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 can_hvac_heat: true,\n can_hvac_cool: true,\n can_hvac_heat_cool: true,\n can_turn_off_hvac: 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 can_hvac_heat: z.boolean(),\n can_hvac_cool: z.boolean(),\n can_hvac_heat_cool: z.boolean(),\n can_turn_off_hvac: 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 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 website: z.string().url().optional(),\n legal_name: z.string().optional(),\n parent_organization: z.string().optional(),\n headquarters: z.array(z.string()).optional(),\n countries_of_origin: z.array(z.string()).optional(),\n founding_year: z.string().optional(),\n us_customer_support_tel: z.string().optional(),\n us_customer_support_email: z.string().email().optional(),\n us_customer_support_contact_url: z.string().url().optional(),\n seam_api_guide: z.string().optional(),\n description: z.string().optional(),\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"]}
|