@seamapi/types 1.18.4 → 1.18.6
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/devicedb.cjs +70 -4
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +662 -74
- package/lib/seam/devicedb/index.d.ts +2 -2
- package/lib/seam/devicedb/index.js +1 -1
- package/lib/seam/devicedb/index.js.map +1 -1
- package/lib/seam/devicedb/public-models/device-model-v0.d.ts +30 -0
- package/lib/seam/devicedb/public-models/device-model-v0.js +12 -0
- package/lib/seam/devicedb/public-models/device-model-v0.js.map +1 -0
- package/lib/seam/devicedb/public-models/device-model-v1.d.ts +692 -0
- package/lib/seam/devicedb/public-models/device-model-v1.js +83 -0
- package/lib/seam/devicedb/public-models/device-model-v1.js.map +1 -0
- package/lib/seam/devicedb/public-models/image-reference.d.ts +15 -0
- package/lib/seam/devicedb/public-models/image-reference.js +7 -0
- package/lib/seam/devicedb/public-models/image-reference.js.map +1 -0
- package/lib/seam/devicedb/public-models/index.d.ts +4 -0
- package/lib/seam/devicedb/public-models/index.js +5 -0
- package/lib/seam/devicedb/public-models/index.js.map +1 -0
- package/lib/seam/devicedb/public-models/manufacturer.d.ts +44 -0
- package/lib/seam/devicedb/public-models/manufacturer.js +11 -0
- package/lib/seam/devicedb/public-models/manufacturer.js.map +1 -0
- package/lib/seam/devicedb/route-types.d.ts +78 -4
- package/package.json +1 -1
- package/src/lib/seam/devicedb/index.ts +2 -2
- package/src/lib/seam/devicedb/public-models/device-model-v0.ts +14 -0
- package/src/lib/seam/devicedb/public-models/device-model-v1.ts +99 -0
- package/src/lib/seam/devicedb/public-models/image-reference.ts +9 -0
- package/src/lib/seam/devicedb/public-models/index.ts +4 -0
- package/src/lib/seam/devicedb/public-models/manufacturer.ts +14 -0
- package/src/lib/seam/devicedb/route-types.ts +153 -41
- package/lib/seam/devicedb/public-models.d.ts +0 -273
- package/lib/seam/devicedb/public-models.js +0 -45
- package/lib/seam/devicedb/public-models.js.map +0 -1
- package/src/lib/seam/devicedb/public-models.ts +0 -56
package/dist/devicedb.cjs
CHANGED
|
@@ -8,9 +8,11 @@ var __export = (target, all) => {
|
|
|
8
8
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
// src/lib/seam/devicedb/public-models.ts
|
|
11
|
+
// src/lib/seam/devicedb/public-models/index.ts
|
|
12
12
|
var public_models_exports = {};
|
|
13
13
|
__export(public_models_exports, {
|
|
14
|
+
base_device_model_v1: () => base_device_model_v1,
|
|
15
|
+
device_model_category_specific_properties: () => device_model_category_specific_properties,
|
|
14
16
|
device_model_v0: () => device_model_v0,
|
|
15
17
|
device_model_v1: () => device_model_v1,
|
|
16
18
|
image_reference: () => image_reference,
|
|
@@ -39,7 +41,62 @@ var manufacturer = zod.z.object({
|
|
|
39
41
|
is_connect_webview_supported: zod.z.boolean(),
|
|
40
42
|
requires_seam_support_to_add_account: zod.z.boolean()
|
|
41
43
|
});
|
|
42
|
-
|
|
44
|
+
|
|
45
|
+
// src/lib/seam/devicedb/public-models/device-model-v1.ts
|
|
46
|
+
var smartlock = zod.z.object({
|
|
47
|
+
main_category: zod.z.literal("smartlock"),
|
|
48
|
+
physical_properties: zod.z.object({
|
|
49
|
+
lock_type: zod.z.enum([
|
|
50
|
+
"deadbolt",
|
|
51
|
+
"lever",
|
|
52
|
+
"mortise",
|
|
53
|
+
"lockbox",
|
|
54
|
+
"cylinder",
|
|
55
|
+
"padlock",
|
|
56
|
+
"locker"
|
|
57
|
+
]),
|
|
58
|
+
has_physical_key: zod.z.boolean(),
|
|
59
|
+
has_camera: zod.z.boolean()
|
|
60
|
+
}),
|
|
61
|
+
software_features: zod.z.object({
|
|
62
|
+
can_remotely_unlock: zod.z.boolean(),
|
|
63
|
+
can_program_access_codes: zod.z.boolean(),
|
|
64
|
+
can_program_access_schedules: zod.z.boolean(),
|
|
65
|
+
can_program_access_codes_offline: zod.z.boolean()
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
var sensor = zod.z.object({
|
|
69
|
+
main_category: zod.z.literal("sensor"),
|
|
70
|
+
physical_properties: zod.z.object({
|
|
71
|
+
has_noise_sensor: zod.z.boolean(),
|
|
72
|
+
has_humidity_sensor: zod.z.boolean(),
|
|
73
|
+
has_temperature_sensor: zod.z.boolean(),
|
|
74
|
+
has_occupancy_detection: zod.z.boolean()
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
var thermostat = zod.z.object({
|
|
78
|
+
main_category: zod.z.literal("thermostat"),
|
|
79
|
+
physical_properties: zod.z.object({
|
|
80
|
+
available_modes: zod.z.enum(["heat", "cool", "fan", "eco"]).array(),
|
|
81
|
+
is_heat_pump_compatible: zod.z.boolean(),
|
|
82
|
+
has_occupancy_detection: zod.z.boolean(),
|
|
83
|
+
supports_demand_response: zod.z.boolean(),
|
|
84
|
+
has_humidity_sensor: zod.z.boolean(),
|
|
85
|
+
has_temperature_sensor: zod.z.boolean(),
|
|
86
|
+
supports_emergency_heating_mode: zod.z.boolean()
|
|
87
|
+
}),
|
|
88
|
+
software_features: zod.z.object({
|
|
89
|
+
can_program_climate_schedules: zod.z.boolean()
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
var relay = zod.z.object({
|
|
93
|
+
main_category: zod.z.literal("relay")
|
|
94
|
+
});
|
|
95
|
+
var device_model_category_specific_properties = zod.z.discriminatedUnion(
|
|
96
|
+
"main_category",
|
|
97
|
+
[smartlock, sensor, thermostat, relay]
|
|
98
|
+
);
|
|
99
|
+
var base_device_model_v1 = zod.z.object({
|
|
43
100
|
device_model_id: zod.z.string().uuid(),
|
|
44
101
|
manufacturer,
|
|
45
102
|
is_device_supported: zod.z.boolean(),
|
|
@@ -47,7 +104,6 @@ var device_model_v1 = zod.z.object({
|
|
|
47
104
|
description: zod.z.string(),
|
|
48
105
|
product_url: zod.z.string(),
|
|
49
106
|
main_connection_type: zod.z.enum(["wifi", "zwave", "zigbee", "unknown"]),
|
|
50
|
-
main_category: zod.z.enum(["smartlock", "thermostat", "noise_sensor"]),
|
|
51
107
|
aesthetic_variants: zod.z.object({
|
|
52
108
|
slug: zod.z.string(),
|
|
53
109
|
display_name: zod.z.string(),
|
|
@@ -55,8 +111,18 @@ var device_model_v1 = zod.z.object({
|
|
|
55
111
|
manufacturer_sku: zod.z.string(),
|
|
56
112
|
front_image: image_reference.optional(),
|
|
57
113
|
back_image: image_reference.optional()
|
|
58
|
-
}).array()
|
|
114
|
+
}).array(),
|
|
115
|
+
power_sources: zod.z.enum([
|
|
116
|
+
"battery",
|
|
117
|
+
"hardwired",
|
|
118
|
+
"mechanical_harvesting",
|
|
119
|
+
"wireless",
|
|
120
|
+
"ethernet"
|
|
121
|
+
]).array()
|
|
59
122
|
});
|
|
123
|
+
var device_model_v1 = base_device_model_v1.and(
|
|
124
|
+
device_model_category_specific_properties
|
|
125
|
+
);
|
|
60
126
|
|
|
61
127
|
exports.schemas = public_models_exports;
|
|
62
128
|
//# sourceMappingURL=out.js.map
|
package/dist/devicedb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/seam/devicedb/public-models.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,SAAS;AAEX,IAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,eAAe,EAAE,OAAO;AAAA,EACxB,YAAY,EAAE,OAAO;AAAA,EACrB,uBAAuB,EAAE,OAAO;AAAA,EAChC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,SAAS,UAAU,SAAS,CAAC;AAAA,EAC9D,eAAe,EAAE,KAAK,CAAC,QAAQ,QAAQ,aAAa,CAAC;AAAA,EACrD,OAAO,EAAE,OAAO;AAAA,EAChB,UAAU,EAAE,OAAO;AAAA,EACnB,4BAA4B,EAAE,OAAO;AACvC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nconst smartlock = z.object({\n main_category: z.literal('smartlock'),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal('sensor'),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nconst thermostat = z.object({\n main_category: z.literal('thermostat'),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nconst relay = z.object({\n main_category: z.literal('relay'),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string(),\n main_connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: z.enum(['stable', 'beta', 'planned', 'unsupported']),\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n"]}
|