@seamapi/types 1.26.1 → 1.27.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 +3 -1
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +8 -0
- package/dist/devicedb.cjs +1 -1
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +4 -4
- package/lib/seam/connect/openapi.d.ts +6 -0
- package/lib/seam/connect/openapi.js +2 -0
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +2 -0
- package/lib/seam/connect/unstable/models/acs/system.d.ts +3 -0
- package/lib/seam/connect/unstable/models/acs/system.js +1 -0
- package/lib/seam/connect/unstable/models/acs/system.js.map +1 -1
- package/lib/seam/devicedb/route-specs.d.ts +3 -3
- package/lib/seam/devicedb/route-specs.js +1 -1
- package/lib/seam/devicedb/route-specs.js.map +1 -1
- package/lib/seam/devicedb/route-types.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/seam/connect/openapi.ts +2 -0
- package/src/lib/seam/connect/route-types.ts +2 -0
- package/src/lib/seam/connect/unstable/models/acs/system.ts +1 -0
- package/src/lib/seam/devicedb/route-specs.ts +1 -1
- package/src/lib/seam/devicedb/route-types.ts +10 -7
package/dist/connect.d.cts
CHANGED
|
@@ -175,6 +175,12 @@ declare const _default: {
|
|
|
175
175
|
format: string;
|
|
176
176
|
type: string;
|
|
177
177
|
};
|
|
178
|
+
connected_account_ids: {
|
|
179
|
+
items: {
|
|
180
|
+
type: string;
|
|
181
|
+
};
|
|
182
|
+
type: string;
|
|
183
|
+
};
|
|
178
184
|
created_at: {
|
|
179
185
|
format: string;
|
|
180
186
|
type: string;
|
|
@@ -12238,6 +12244,7 @@ interface Routes {
|
|
|
12238
12244
|
system_type_display_name: string;
|
|
12239
12245
|
name: string;
|
|
12240
12246
|
created_at: string;
|
|
12247
|
+
connected_account_ids: string[];
|
|
12241
12248
|
};
|
|
12242
12249
|
};
|
|
12243
12250
|
};
|
|
@@ -12261,6 +12268,7 @@ interface Routes {
|
|
|
12261
12268
|
system_type_display_name: string;
|
|
12262
12269
|
name: string;
|
|
12263
12270
|
created_at: string;
|
|
12271
|
+
connected_account_ids: string[];
|
|
12264
12272
|
}>;
|
|
12265
12273
|
};
|
|
12266
12274
|
};
|
package/dist/devicedb.cjs
CHANGED
|
@@ -178,7 +178,7 @@ var routes = {
|
|
|
178
178
|
auth: "publishable_key",
|
|
179
179
|
methods: ["GET", "OPTIONS"],
|
|
180
180
|
queryParams: zod.z.object({
|
|
181
|
-
main_category: device_category,
|
|
181
|
+
main_category: device_category.optional(),
|
|
182
182
|
manufacturer_id: zod.z.string().uuid().optional(),
|
|
183
183
|
manufacturer_ids: zod.z.string().uuid().array().optional(),
|
|
184
184
|
integration_status: manufacturer.shape.integration.optional(),
|
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":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z.object({\n main_category: z.literal(device_category.enum.smartlock),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal(device_category.enum.sensor),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nexport const thermostat = z.object({\n main_category: z.literal(device_category.enum.thermostat),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: device_connection_type,\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n images: image_reference.array(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-models/index.js'\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category,\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n integration_status: schemas.manufacturer.shape.integration.optional(),\n text_search: z.string().optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n integration_status: schemas.manufacturer.shape.integration.optional(),\n }),\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 }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: device_connection_type,\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n images: image_reference.array(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './public-models/index.js'\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n integration_status: schemas.manufacturer.shape.integration.optional(),\n text_search: z.string().optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n integration_status: schemas.manufacturer.shape.integration.optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
|
package/dist/devicedb.d.cts
CHANGED
|
@@ -2076,19 +2076,19 @@ declare const routes: {
|
|
|
2076
2076
|
readonly auth: "publishable_key";
|
|
2077
2077
|
readonly methods: readonly ["GET", "OPTIONS"];
|
|
2078
2078
|
readonly queryParams: z.ZodObject<{
|
|
2079
|
-
main_category: z.ZodEnum<["smartlock", "sensor", "thermostat", "relay", "intercom", "accessory"]
|
|
2079
|
+
main_category: z.ZodOptional<z.ZodEnum<["smartlock", "sensor", "thermostat", "relay", "intercom", "accessory"]>>;
|
|
2080
2080
|
manufacturer_id: z.ZodOptional<z.ZodString>;
|
|
2081
2081
|
manufacturer_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2082
2082
|
integration_status: z.ZodOptional<z.ZodEnum<["stable", "beta", "planned", "unsupported", "inquire"]>>;
|
|
2083
2083
|
text_search: z.ZodOptional<z.ZodString>;
|
|
2084
2084
|
}, "strip", z.ZodTypeAny, {
|
|
2085
|
-
main_category
|
|
2085
|
+
main_category?: "thermostat" | "smartlock" | "sensor" | "relay" | "intercom" | "accessory" | undefined;
|
|
2086
2086
|
manufacturer_id?: string | undefined;
|
|
2087
2087
|
manufacturer_ids?: string[] | undefined;
|
|
2088
2088
|
integration_status?: "stable" | "beta" | "unsupported" | "planned" | "inquire" | undefined;
|
|
2089
2089
|
text_search?: string | undefined;
|
|
2090
2090
|
}, {
|
|
2091
|
-
main_category
|
|
2091
|
+
main_category?: "thermostat" | "smartlock" | "sensor" | "relay" | "intercom" | "accessory" | undefined;
|
|
2092
2092
|
manufacturer_id?: string | undefined;
|
|
2093
2093
|
manufacturer_ids?: string[] | undefined;
|
|
2094
2094
|
integration_status?: "stable" | "beta" | "unsupported" | "planned" | "inquire" | undefined;
|
|
@@ -2970,7 +2970,7 @@ interface Routes {
|
|
|
2970
2970
|
route: '/v1/device_models/list';
|
|
2971
2971
|
method: 'GET' | 'OPTIONS';
|
|
2972
2972
|
queryParams: {
|
|
2973
|
-
main_category
|
|
2973
|
+
main_category?: ('smartlock' | 'sensor' | 'thermostat' | 'relay' | 'intercom' | 'accessory') | undefined;
|
|
2974
2974
|
manufacturer_id?: string | undefined;
|
|
2975
2975
|
manufacturer_ids?: string[] | undefined;
|
|
2976
2976
|
integration_status?: ('stable' | 'beta' | 'planned' | 'unsupported' | 'inquire') | undefined;
|
|
@@ -93,6 +93,7 @@ export default {
|
|
|
93
93
|
acs_system: {
|
|
94
94
|
properties: {
|
|
95
95
|
acs_system_id: { format: 'uuid', type: 'string' },
|
|
96
|
+
connected_account_ids: { items: { type: 'string' }, type: 'array' },
|
|
96
97
|
created_at: { format: 'date-time', type: 'string' },
|
|
97
98
|
external_type: { enum: ['pti_site', 'alta_org'], type: 'string' },
|
|
98
99
|
external_type_display_name: { type: 'string' },
|
|
@@ -115,6 +116,7 @@ export default {
|
|
|
115
116
|
'system_type_display_name',
|
|
116
117
|
'name',
|
|
117
118
|
'created_at',
|
|
119
|
+
'connected_account_ids',
|
|
118
120
|
],
|
|
119
121
|
type: 'object',
|
|
120
122
|
},
|