@seamapi/types 1.69.0 → 1.71.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 +2600 -895
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +11812 -8664
- package/dist/devicedb.cjs +9 -1
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +263 -2
- package/lib/seam/connect/openapi.d.ts +3483 -1430
- package/lib/seam/connect/openapi.js +2595 -890
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +1325 -230
- package/lib/seam/connect/unstable/models/acs/credential.js +1 -0
- package/lib/seam/connect/unstable/models/acs/credential.js.map +1 -1
- package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.d.ts +22 -2
- package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.js +7 -0
- package/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.js.map +1 -1
- package/lib/seam/connect/unstable/models/acs/system.d.ts +7 -7
- package/lib/seam/connect/unstable/models/acs/system.js +1 -1
- package/lib/seam/connect/unstable/models/acs/system.js.map +1 -1
- package/lib/seam/connect/unstable/models/devices/index.d.ts +1 -0
- package/lib/seam/connect/unstable/models/devices/index.js +1 -0
- package/lib/seam/connect/unstable/models/devices/index.js.map +1 -1
- package/lib/seam/connect/unstable/models/devices/managed-device.d.ts +82 -8
- package/lib/seam/connect/unstable/models/devices/managed-device.js +2 -0
- package/lib/seam/connect/unstable/models/devices/managed-device.js.map +1 -1
- package/lib/seam/connect/unstable/models/devices/phone-properties.d.ts +44 -0
- package/lib/seam/connect/unstable/models/devices/phone-properties.js +13 -0
- package/lib/seam/connect/unstable/models/devices/phone-properties.js.map +1 -0
- package/lib/seam/connect/unstable/models/devices/phone.d.ts +3529 -0
- package/lib/seam/connect/unstable/models/devices/phone.js +13 -0
- package/lib/seam/connect/unstable/models/devices/phone.js.map +1 -0
- package/lib/seam/connect/unstable/models/index.d.ts +1 -0
- package/lib/seam/connect/unstable/models/index.js +1 -0
- package/lib/seam/connect/unstable/models/index.js.map +1 -1
- package/lib/seam/connect/unstable/models/network.d.ts +18 -0
- package/lib/seam/connect/unstable/models/network.js +8 -0
- package/lib/seam/connect/unstable/models/network.js.map +1 -0
- package/lib/seam/connect/unstable/schemas.d.ts +1 -1
- package/lib/seam/connect/unstable/schemas.js +1 -1
- package/lib/seam/connect/unstable/schemas.js.map +1 -1
- package/lib/seam/devicedb/index.d.ts +1 -1
- package/lib/seam/devicedb/public-models/device-model-v1.d.ts +52 -0
- package/lib/seam/devicedb/public-models/manufacturer.d.ts +30 -0
- package/lib/seam/devicedb/public-models/manufacturer.js +6 -0
- package/lib/seam/devicedb/public-models/manufacturer.js.map +1 -1
- package/lib/seam/devicedb/route-specs.d.ts +160 -0
- package/lib/seam/devicedb/route-types.d.ts +16 -0
- package/package.json +1 -1
- package/src/lib/seam/connect/openapi.ts +2644 -915
- package/src/lib/seam/connect/route-types.ts +1701 -211
- package/src/lib/seam/connect/unstable/models/acs/credential.ts +1 -0
- package/src/lib/seam/connect/unstable/models/acs/credential_provisioning_automation.ts +12 -0
- package/src/lib/seam/connect/unstable/models/acs/system.ts +1 -1
- package/src/lib/seam/connect/unstable/models/devices/index.ts +1 -0
- package/src/lib/seam/connect/unstable/models/devices/managed-device.ts +2 -0
- package/src/lib/seam/connect/unstable/models/devices/phone-properties.ts +15 -0
- package/src/lib/seam/connect/unstable/models/devices/phone.ts +15 -0
- package/src/lib/seam/connect/unstable/models/index.ts +1 -0
- package/src/lib/seam/connect/unstable/models/network.ts +10 -0
- package/src/lib/seam/connect/unstable/schemas.ts +3 -0
- package/src/lib/seam/devicedb/index.ts +1 -0
- package/src/lib/seam/devicedb/public-models/manufacturer.ts +12 -0
- package/src/lib/seam/devicedb/route-types.ts +16 -0
package/dist/devicedb.cjs
CHANGED
|
@@ -19,6 +19,8 @@ __export(public_models_exports, {
|
|
|
19
19
|
device_model_v1: () => device_model_v1,
|
|
20
20
|
image_reference: () => image_reference,
|
|
21
21
|
manufacturer: () => manufacturer,
|
|
22
|
+
manufacturer_annotation: () => manufacturer_annotation,
|
|
23
|
+
manufacturer_annotation_code: () => manufacturer_annotation_code,
|
|
22
24
|
manufacturer_integration_support_level: () => manufacturer_integration_support_level,
|
|
23
25
|
thermostat: () => thermostat
|
|
24
26
|
});
|
|
@@ -44,6 +46,11 @@ var manufacturer_integration_support_level = zod.z.enum([
|
|
|
44
46
|
"unsupported",
|
|
45
47
|
"inquire"
|
|
46
48
|
]);
|
|
49
|
+
var manufacturer_annotation_code = zod.z.enum(["subscription_required"]);
|
|
50
|
+
var manufacturer_annotation = zod.z.object({
|
|
51
|
+
annotation_code: manufacturer_annotation_code,
|
|
52
|
+
message: zod.z.string().nonempty()
|
|
53
|
+
});
|
|
47
54
|
var manufacturer = zod.z.object({
|
|
48
55
|
manufacturer_id: zod.z.string().uuid(),
|
|
49
56
|
display_name: zod.z.string(),
|
|
@@ -53,7 +60,8 @@ var manufacturer = zod.z.object({
|
|
|
53
60
|
integration_support_level: manufacturer_integration_support_level,
|
|
54
61
|
is_connect_webview_supported: zod.z.boolean(),
|
|
55
62
|
requires_seam_support_to_add_account: zod.z.boolean(),
|
|
56
|
-
device_model_count: zod.z.number()
|
|
63
|
+
device_model_count: zod.z.number(),
|
|
64
|
+
annotations: zod.z.array(manufacturer_annotation)
|
|
57
65
|
});
|
|
58
66
|
|
|
59
67
|
// src/lib/seam/devicedb/public-models/device-model-v1.ts
|
package/dist/devicedb.cjs.map
CHANGED
|
@@ -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":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,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;;;ACXD,SAAS,KAAAA,UAAS;;;ACAlB,SAAS,KAAAA,UAAS;AAEX,IAAM,kBAAkBA,GAAE,OAAO;AAAA,EACtC,KAAKA,GAAE,OAAO,EAAE,IAAI;AAAA,EACpB,OAAOA,GAAE,OAAO;AAAA,EAChB,QAAQA,GAAE,OAAO;AACnB,CAAC;;;ACND,SAAS,KAAAA,UAAS;AAIX,IAAM,yCAAyCA,GAAE,KAAK;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAMM,IAAM,eAAeA,GAAE,OAAO;AAAA,EACnC,iBAAiBA,GAAE,OAAO,EAAE,KAAK;AAAA,EACjC,cAAcA,GAAE,OAAO;AAAA,EACvB,MAAM,gBAAgB,SAAS;AAAA;AAAA,EAE/B,aAAa;AAAA,EACb,2BAA2B;AAAA,EAC3B,8BAA8BA,GAAE,QAAQ;AAAA,EACxC,sCAAsCA,GAAE,QAAQ;AAAA,EAChD,oBAAoBA,GAAE,OAAO;AAC/B,CAAC;;;AFrBM,IAAM,kBAAkBA,GAAE,KAAK;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAIM,IAAM,yBAAyBA,GAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAID,IAAM,YAAYA,GAAE,OAAO;AAAA,EACzB,eAAeA,GAAE,QAAQ,gBAAgB,KAAK,SAAS;AAAA,EACvD,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,WAAWA,GAAE,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,kBAAkBA,GAAE,QAAQ;AAAA,IAC5B,YAAYA,GAAE,QAAQ;AAAA,EACxB,CAAC;AAAA,EACD,mBAAmBA,GAAE,OAAO;AAAA,IAC1B,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,0BAA0BA,GAAE,QAAQ;AAAA,IACpC,8BAA8BA,GAAE,QAAQ;AAAA,IACxC,kCAAkCA,GAAE,QAAQ;AAAA,EAC9C,CAAC;AACH,CAAC;AAED,IAAM,SAASA,GAAE,OAAO;AAAA,EACtB,eAAeA,GAAE,QAAQ,gBAAgB,KAAK,MAAM;AAAA,EACpD,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,kBAAkBA,GAAE,QAAQ;AAAA,IAC5B,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,wBAAwBA,GAAE,QAAQ;AAAA,IAClC,yBAAyBA,GAAE,QAAQ;AAAA,EACrC,CAAC;AACH,CAAC;AAEM,IAAM,aAAaA,GAAE,OAAO;AAAA,EACjC,eAAeA,GAAE,QAAQ,gBAAgB,KAAK,UAAU;AAAA,EACxD,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,iBAAiBA,GAAE,KAAK,CAAC,QAAQ,QAAQ,OAAO,KAAK,CAAC,EAAE,MAAM;AAAA,IAC9D,yBAAyBA,GAAE,QAAQ;AAAA,IACnC,yBAAyBA,GAAE,QAAQ;AAAA,IACnC,0BAA0BA,GAAE,QAAQ;AAAA,IACpC,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,wBAAwBA,GAAE,QAAQ;AAAA,IAClC,iCAAiCA,GAAE,QAAQ;AAAA,EAC7C,CAAC;AAAA,EACD,mBAAmBA,GAAE,OAAO;AAAA,IAC1B,+BAA+BA,GAAE,QAAQ;AAAA,EAC3C,CAAC;AACH,CAAC;AAID,IAAM,QAAQA,GAAE,OAAO;AAAA,EACrB,eAAeA,GAAE,QAAQ,gBAAgB,KAAK,KAAK;AACrD,CAAC;AAED,IAAM,WAAWA,GAAE,OAAO;AAAA,EACxB,eAAeA,GAAE,QAAQ,gBAAgB,KAAK,QAAQ;AAAA,EACtD,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,YAAYA,GAAE,QAAQ;AAAA,IACtB,iBAAiBA,GAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,IAC1C,gBAAgBA,GAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,IACzC,uBAAuBA,GAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EAClD,CAAC;AAAA,EACD,mBAAmBA,GAAE,OAAO;AAAA,IAC1B,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,0BAA0BA,GAAE,QAAQ;AAAA,IACpC,kCAAkCA,GAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,IAC3D,gBAAgBA,GAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EAC3C,CAAC;AACH,CAAC;AAED,IAAM,YAAYA,GAAE,OAAO;AAAA,EACzB,eAAeA,GAAE,QAAQ,gBAAgB,KAAK,SAAS;AACzD,CAAC;AAEM,IAAM,4CAA4CA,GAAE;AAAA,EACzD;AAAA,EACA,CAAC,WAAW,QAAQ,YAAY,OAAO,UAAU,SAAS;AAC5D;AAEO,IAAM,uBAAuBA,GAAE,OAAO;AAAA,EAC3C,iBAAiBA,GAAE,OAAO,EAAE,KAAK;AAAA,EACjC,cAAc,aAAa,KAAK;AAAA,IAC9B,oBAAoB;AAAA,EACtB,CAAC;AAAA,EACD,qBAAqBA,GAAE,QAAQ;AAAA,EAC/B,cAAcA,GAAE,OAAO;AAAA,EACvB,aAAaA,GAAE,OAAO;AAAA,EACtB,aAAaA,GAAE,OAAO,EAAE,SAAS;AAAA,EACjC,sBAAsB;AAAA,EACtB,oBAAoBA,GACjB,OAAO;AAAA,IACN,MAAMA,GAAE,OAAO;AAAA,IACf,cAAcA,GAAE,OAAO;AAAA,IACvB,mBAAmBA,GAAE,OAAO,EAAE,SAAS;AAAA,IACvC,kBAAkBA,GAAE,OAAO,EAAE,SAAS;AAAA,IACtC,aAAa,gBAAgB,SAAS;AAAA,IACtC,YAAY,gBAAgB,SAAS;AAAA,IACrC,QAAQ,gBAAgB,MAAM;AAAA,EAChC,CAAC,EACA,MAAM;AAAA,EACT,eAAeA,GACZ,KAAK;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACA,MAAM;AACX,CAAC;AAIM,IAAM,kBAAkB,qBAAqB;AAAA,EAClD;AACF;;;AG9IA,SAAS,KAAAA,UAAS;AAIlB,IAAM,WAAWA,GAAE,OAAO,EAAE,MAAM,yBAAyB;AAEpD,IAAM,SAAS;AAAA,EACpB,6BAA6B;AAAA,IAC3B,MAAM;AAAA,IACN,SAAS,CAAC,OAAO,SAAS;AAAA,IAC1B,aAAaA,GAAE,OAAO;AAAA,MACpB,iBAAiBA,GAAE,OAAO,EAAE,KAAK;AAAA,IACnC,CAAC;AAAA,IACD,cAAcA,GAAE,OAAO;AAAA,MACrB,cAAsB;AAAA,IACxB,CAAC;AAAA,EACH;AAAA,EACA,8BAA8B;AAAA,IAC5B,MAAM;AAAA,IACN,SAAS,CAAC,OAAO,SAAS;AAAA,IAC1B,aAAaA,GAAE,OAAO;AAAA,MACpB,eAAuB,gBAAgB,SAAS;AAAA,MAChD,iBAAiBA,GAAE,OAAO,EAAE,KAAK,EAAE,SAAS;AAAA,MAC5C,kBAAkBA,GAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS;AAAA;AAAA,MAErD,oBAA4B,aAAa,MAAM,YAAY,SAAS;AAAA,MACpE,4BAA4BA,GACzB,MAAc,sCAAsC,EACpD,SAAS;AAAA,MACZ,aAAaA,GAAE,OAAO,EAAE,SAAS;AAAA,MACjC,YAAYA,GAAE,MAAM,QAAQ,EAAE,SAAS;AAAA,MACvC,YAAYA,GAAE,MAAM,QAAQ,EAAE,SAAS;AAAA,IACzC,CAAC;AAAA,IACD,cAAcA,GAAE,OAAO;AAAA,MACrB,eAAuB,gBAAgB,MAAM;AAAA,IAC/C,CAAC;AAAA,EACH;AAAA,EACA,6BAA6B;AAAA,IAC3B,MAAM;AAAA,IACN,SAAS,CAAC,OAAO,SAAS;AAAA,IAC1B,aAAaA,GAAE,OAAO;AAAA,MACpB,iBAAiBA,GAAE,OAAO,EAAE,KAAK;AAAA,IACnC,CAAC;AAAA,IACD,cAAcA,GAAE,OAAO;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,8BAA8B;AAAA,IAC5B,MAAM;AAAA,IACN,SAAS,CAAC,OAAO,SAAS;AAAA,IAC1B,aAAaA,GAAE,OAAO;AAAA;AAAA,MAEpB,oBAA4B,aAAa,MAAM,YAAY,SAAS;AAAA,MACpE,4BAA4BA,GACzB,MAAc,sCAAsC,EACpD,SAAS;AAAA,MACZ,YAAYA,GAAE,OAAO,EAAE,SAAS;AAAA,IAClC,CAAC;AAAA,IACD,cAAcA,GAAE,OAAO;AAAA,MACrB,eAAuB,aAAa,MAAM;AAAA,IAC5C,CAAC;AAAA,EACH;AACF","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().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 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 /** @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})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-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/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().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 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_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().nonempty(),\n})\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 './public-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"]}
|