@seamapi/types 1.242.0 → 1.242.1

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.
Files changed (43) hide show
  1. package/dist/connect.cjs +77 -42
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +120 -62
  4. package/dist/devicedb.cjs +9 -6
  5. package/dist/devicedb.cjs.map +1 -1
  6. package/dist/devicedb.d.cts +123 -70
  7. package/lib/seam/connect/models/acs/acs-system.d.ts +86 -42
  8. package/lib/seam/connect/models/acs/acs-system.js +23 -20
  9. package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
  10. package/lib/seam/connect/models/acs/acs-user.d.ts +8 -8
  11. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +5 -5
  12. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +5 -5
  13. package/lib/seam/connect/models/devices/device.d.ts +6 -6
  14. package/lib/seam/connect/models/devices/phone.d.ts +5 -5
  15. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +5 -5
  16. package/lib/seam/connect/models/thermostats/climate-preset.d.ts +3 -3
  17. package/lib/seam/connect/models/thermostats/climate-preset.js +1 -1
  18. package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -1
  19. package/lib/seam/connect/models/thermostats/index.d.ts +1 -1
  20. package/lib/seam/connect/models/thermostats/index.js +1 -1
  21. package/lib/seam/connect/models/thermostats/index.js.map +1 -1
  22. package/lib/seam/connect/models/thermostats/{climate-setting-schedule.js → thermostat-schedule.js} +1 -1
  23. package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -0
  24. package/lib/seam/connect/openapi.d.ts +9 -0
  25. package/lib/seam/connect/openapi.js +46 -21
  26. package/lib/seam/connect/openapi.js.map +1 -1
  27. package/lib/seam/connect/route-types.d.ts +64 -36
  28. package/lib/seam/devicedb/models/device-model.d.ts +59 -24
  29. package/lib/seam/devicedb/models/device-model.js +9 -6
  30. package/lib/seam/devicedb/models/device-model.js.map +1 -1
  31. package/lib/seam/devicedb/route-specs.d.ts +56 -38
  32. package/lib/seam/devicedb/route-types.d.ts +8 -8
  33. package/package.json +1 -1
  34. package/src/lib/seam/connect/models/acs/acs-system.ts +32 -24
  35. package/src/lib/seam/connect/models/thermostats/climate-preset.ts +1 -1
  36. package/src/lib/seam/connect/models/thermostats/index.ts +1 -1
  37. package/src/lib/seam/connect/openapi.ts +49 -21
  38. package/src/lib/seam/connect/route-types.ts +68 -36
  39. package/src/lib/seam/devicedb/models/device-model.ts +24 -19
  40. package/src/lib/seam/devicedb/route-types.ts +8 -8
  41. package/lib/seam/connect/models/thermostats/climate-setting-schedule.js.map +0 -1
  42. /package/lib/seam/connect/models/thermostats/{climate-setting-schedule.d.ts → thermostat-schedule.d.ts} +0 -0
  43. /package/src/lib/seam/connect/models/thermostats/{climate-setting-schedule.ts → thermostat-schedule.ts} +0 -0
@@ -3184,14 +3184,21 @@ export interface Routes {
3184
3184
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3185
3185
  message: string;
3186
3186
  /** Indicates that the maximum number of users allowed for the site has been reached. This means that new access codes cannot be created. Contact Salto support to increase the user limit. */
3187
- error_code: 'salto_site_user_limit_reached';
3187
+ error_code: 'salto_ks_subscription_limit_exceeded';
3188
3188
  } | {
3189
3189
  /** Date and time at which Seam created the error. */
3190
3190
  created_at: string;
3191
3191
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3192
3192
  message: string;
3193
- /** Indicates that the Seam Integration user site is blocked. This means that Seam does not have permission to access Salto resources. Go to Salto Dashboard to remove 'Seam Integration' block */
3194
- error_code: 'salto_seam_integration_blocked';
3193
+ /** Indicates that the access system has been disconnected. Please refer to [this guide](https://docs.seam.co/latest/capability-guides/access-systems/troubleshooting-your-access-control-system guide) to resolve the issue. */
3194
+ error_code: 'acs_system_disconnected';
3195
+ } | {
3196
+ /** Date and time at which Seam created the error. */
3197
+ created_at: string;
3198
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3199
+ message: string;
3200
+ /** Indicates that the login credentials are invalid. Please reconnect the account using the Connect Webview to restore access. */
3201
+ error_code: 'account_disconnected';
3195
3202
  }>;
3196
3203
  /** Warnings associated with the `acs_system`. */
3197
3204
  warnings: Array<{
@@ -3199,8 +3206,8 @@ export interface Routes {
3199
3206
  created_at: string;
3200
3207
  /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
3201
3208
  message: string;
3202
- /** You have reached more than 80% of the maximum number of users allowed for your site; Please contact Salto support to increase your user limit. */
3203
- warning_code: 'salto_site_user_limit_almost_reached';
3209
+ /** Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this. */
3210
+ warning_code: 'salto_ks_subscription_limit_almost_reached';
3204
3211
  }>;
3205
3212
  /** Indicates whether it is possible to [launch enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the `acs_system`. */
3206
3213
  can_automate_enrollment?: boolean | undefined;
@@ -3275,14 +3282,21 @@ export interface Routes {
3275
3282
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3276
3283
  message: string;
3277
3284
  /** Indicates that the maximum number of users allowed for the site has been reached. This means that new access codes cannot be created. Contact Salto support to increase the user limit. */
3278
- error_code: 'salto_site_user_limit_reached';
3285
+ error_code: 'salto_ks_subscription_limit_exceeded';
3279
3286
  } | {
3280
3287
  /** Date and time at which Seam created the error. */
3281
3288
  created_at: string;
3282
3289
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3283
3290
  message: string;
3284
- /** Indicates that the Seam Integration user site is blocked. This means that Seam does not have permission to access Salto resources. Go to Salto Dashboard to remove 'Seam Integration' block */
3285
- error_code: 'salto_seam_integration_blocked';
3291
+ /** Indicates that the access system has been disconnected. Please refer to [this guide](https://docs.seam.co/latest/capability-guides/access-systems/troubleshooting-your-access-control-system guide) to resolve the issue. */
3292
+ error_code: 'acs_system_disconnected';
3293
+ } | {
3294
+ /** Date and time at which Seam created the error. */
3295
+ created_at: string;
3296
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3297
+ message: string;
3298
+ /** Indicates that the login credentials are invalid. Please reconnect the account using the Connect Webview to restore access. */
3299
+ error_code: 'account_disconnected';
3286
3300
  }>;
3287
3301
  /** Warnings associated with the `acs_system`. */
3288
3302
  warnings: Array<{
@@ -3290,8 +3304,8 @@ export interface Routes {
3290
3304
  created_at: string;
3291
3305
  /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
3292
3306
  message: string;
3293
- /** You have reached more than 80% of the maximum number of users allowed for your site; Please contact Salto support to increase your user limit. */
3294
- warning_code: 'salto_site_user_limit_almost_reached';
3307
+ /** Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this. */
3308
+ warning_code: 'salto_ks_subscription_limit_almost_reached';
3295
3309
  }>;
3296
3310
  /** Indicates whether it is possible to [launch enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the `acs_system`. */
3297
3311
  can_automate_enrollment?: boolean | undefined;
@@ -3366,14 +3380,21 @@ export interface Routes {
3366
3380
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3367
3381
  message: string;
3368
3382
  /** Indicates that the maximum number of users allowed for the site has been reached. This means that new access codes cannot be created. Contact Salto support to increase the user limit. */
3369
- error_code: 'salto_site_user_limit_reached';
3383
+ error_code: 'salto_ks_subscription_limit_exceeded';
3370
3384
  } | {
3371
3385
  /** Date and time at which Seam created the error. */
3372
3386
  created_at: string;
3373
3387
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3374
3388
  message: string;
3375
- /** Indicates that the Seam Integration user site is blocked. This means that Seam does not have permission to access Salto resources. Go to Salto Dashboard to remove 'Seam Integration' block */
3376
- error_code: 'salto_seam_integration_blocked';
3389
+ /** Indicates that the access system has been disconnected. Please refer to [this guide](https://docs.seam.co/latest/capability-guides/access-systems/troubleshooting-your-access-control-system guide) to resolve the issue. */
3390
+ error_code: 'acs_system_disconnected';
3391
+ } | {
3392
+ /** Date and time at which Seam created the error. */
3393
+ created_at: string;
3394
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
3395
+ message: string;
3396
+ /** Indicates that the login credentials are invalid. Please reconnect the account using the Connect Webview to restore access. */
3397
+ error_code: 'account_disconnected';
3377
3398
  }>;
3378
3399
  /** Warnings associated with the `acs_system`. */
3379
3400
  warnings: Array<{
@@ -3381,8 +3402,8 @@ export interface Routes {
3381
3402
  created_at: string;
3382
3403
  /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
3383
3404
  message: string;
3384
- /** You have reached more than 80% of the maximum number of users allowed for your site; Please contact Salto support to increase your user limit. */
3385
- warning_code: 'salto_site_user_limit_almost_reached';
3405
+ /** Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this. */
3406
+ warning_code: 'salto_ks_subscription_limit_almost_reached';
3386
3407
  }>;
3387
3408
  /** Indicates whether it is possible to [launch enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the `acs_system`. */
3388
3409
  can_automate_enrollment?: boolean | undefined;
@@ -5544,7 +5565,7 @@ export interface Routes {
5544
5565
  climate_preset_key: string;
5545
5566
  can_edit: boolean;
5546
5567
  can_delete: boolean;
5547
- name: string | null;
5568
+ name?: string | null;
5548
5569
  display_name: string;
5549
5570
  fan_mode_setting?: ('auto' | 'on') | undefined;
5550
5571
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -5988,7 +6009,7 @@ export interface Routes {
5988
6009
  climate_preset_key: string;
5989
6010
  can_edit: boolean;
5990
6011
  can_delete: boolean;
5991
- name: string | null;
6012
+ name?: string | null;
5992
6013
  display_name: string;
5993
6014
  fan_mode_setting?: ('auto' | 'on') | undefined;
5994
6015
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -6812,7 +6833,7 @@ export interface Routes {
6812
6833
  climate_preset_key: string;
6813
6834
  can_edit: boolean;
6814
6835
  can_delete: boolean;
6815
- name: string | null;
6836
+ name?: string | null;
6816
6837
  display_name: string;
6817
6838
  fan_mode_setting?: ('auto' | 'on') | undefined;
6818
6839
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -7231,7 +7252,7 @@ export interface Routes {
7231
7252
  climate_preset_key: string;
7232
7253
  can_edit: boolean;
7233
7254
  can_delete: boolean;
7234
- name: string | null;
7255
+ name?: string | null;
7235
7256
  display_name: string;
7236
7257
  fan_mode_setting?: ('auto' | 'on') | undefined;
7237
7258
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -7675,7 +7696,7 @@ export interface Routes {
7675
7696
  climate_preset_key: string;
7676
7697
  can_edit: boolean;
7677
7698
  can_delete: boolean;
7678
- name: string | null;
7699
+ name?: string | null;
7679
7700
  display_name: string;
7680
7701
  fan_mode_setting?: ('auto' | 'on') | undefined;
7681
7702
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -8094,7 +8115,7 @@ export interface Routes {
8094
8115
  climate_preset_key: string;
8095
8116
  can_edit: boolean;
8096
8117
  can_delete: boolean;
8097
- name: string | null;
8118
+ name?: string | null;
8098
8119
  display_name: string;
8099
8120
  fan_mode_setting?: ('auto' | 'on') | undefined;
8100
8121
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -9368,7 +9389,7 @@ export interface Routes {
9368
9389
  climate_preset_key: string;
9369
9390
  can_edit: boolean;
9370
9391
  can_delete: boolean;
9371
- name: string | null;
9392
+ name?: string | null;
9372
9393
  display_name: string;
9373
9394
  fan_mode_setting?: ('auto' | 'on') | undefined;
9374
9395
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -9787,7 +9808,7 @@ export interface Routes {
9787
9808
  climate_preset_key: string;
9788
9809
  can_edit: boolean;
9789
9810
  can_delete: boolean;
9790
- name: string | null;
9811
+ name?: string | null;
9791
9812
  display_name: string;
9792
9813
  fan_mode_setting?: ('auto' | 'on') | undefined;
9793
9814
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -12111,7 +12132,7 @@ export interface Routes {
12111
12132
  jsonBody: {
12112
12133
  device_id: string;
12113
12134
  climate_preset_key: string;
12114
- name: string | null;
12135
+ name?: string | null;
12115
12136
  fan_mode_setting?: ('auto' | 'on') | undefined;
12116
12137
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
12117
12138
  cooling_set_point_celsius?: number | undefined;
@@ -12127,7 +12148,7 @@ export interface Routes {
12127
12148
  climate_preset_key: string;
12128
12149
  can_edit: boolean;
12129
12150
  can_delete: boolean;
12130
- name: string | null;
12151
+ name?: string | null;
12131
12152
  display_name: string;
12132
12153
  fan_mode_setting?: ('auto' | 'on') | undefined;
12133
12154
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -12504,7 +12525,7 @@ export interface Routes {
12504
12525
  climate_preset_key: string;
12505
12526
  can_edit: boolean;
12506
12527
  can_delete: boolean;
12507
- name: string | null;
12528
+ name?: string | null;
12508
12529
  display_name: string;
12509
12530
  fan_mode_setting?: ('auto' | 'on') | undefined;
12510
12531
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -13750,7 +13771,7 @@ export interface Routes {
13750
13771
  climate_preset_key: string;
13751
13772
  can_edit: boolean;
13752
13773
  can_delete: boolean;
13753
- name: string | null;
13774
+ name?: string | null;
13754
13775
  display_name: string;
13755
13776
  fan_mode_setting?: ('auto' | 'on') | undefined;
13756
13777
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -14766,7 +14787,7 @@ export interface Routes {
14766
14787
  jsonBody: {
14767
14788
  device_id: string;
14768
14789
  climate_preset_key: string;
14769
- name: string | null;
14790
+ name?: string | null;
14770
14791
  fan_mode_setting?: ('auto' | 'on') | undefined;
14771
14792
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
14772
14793
  cooling_set_point_celsius?: number | undefined;
@@ -14782,7 +14803,7 @@ export interface Routes {
14782
14803
  climate_preset_key: string;
14783
14804
  can_edit: boolean;
14784
14805
  can_delete: boolean;
14785
- name: string | null;
14806
+ name?: string | null;
14786
14807
  display_name: string;
14787
14808
  fan_mode_setting?: ('auto' | 'on') | undefined;
14788
14809
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -15325,7 +15346,7 @@ export interface Routes {
15325
15346
  climate_preset_key: string;
15326
15347
  can_edit: boolean;
15327
15348
  can_delete: boolean;
15328
- name: string | null;
15349
+ name?: string | null;
15329
15350
  display_name: string;
15330
15351
  fan_mode_setting?: ('auto' | 'on') | undefined;
15331
15352
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -15746,7 +15767,7 @@ export interface Routes {
15746
15767
  climate_preset_key: string;
15747
15768
  can_edit: boolean;
15748
15769
  can_delete: boolean;
15749
- name: string | null;
15770
+ name?: string | null;
15750
15771
  display_name: string;
15751
15772
  fan_mode_setting?: ('auto' | 'on') | undefined;
15752
15773
  hvac_mode_setting?: ('off' | 'heat' | 'cool' | 'heat_cool') | undefined;
@@ -15886,14 +15907,21 @@ export interface Routes {
15886
15907
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
15887
15908
  message: string;
15888
15909
  /** Indicates that the maximum number of users allowed for the site has been reached. This means that new access codes cannot be created. Contact Salto support to increase the user limit. */
15889
- error_code: 'salto_site_user_limit_reached';
15910
+ error_code: 'salto_ks_subscription_limit_exceeded';
15911
+ } | {
15912
+ /** Date and time at which Seam created the error. */
15913
+ created_at: string;
15914
+ /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
15915
+ message: string;
15916
+ /** Indicates that the access system has been disconnected. Please refer to [this guide](https://docs.seam.co/latest/capability-guides/access-systems/troubleshooting-your-access-control-system guide) to resolve the issue. */
15917
+ error_code: 'acs_system_disconnected';
15890
15918
  } | {
15891
15919
  /** Date and time at which Seam created the error. */
15892
15920
  created_at: string;
15893
15921
  /** Detailed description of the error. Provides insights into the issue and potentially how to rectify it. */
15894
15922
  message: string;
15895
- /** Indicates that the Seam Integration user site is blocked. This means that Seam does not have permission to access Salto resources. Go to Salto Dashboard to remove 'Seam Integration' block */
15896
- error_code: 'salto_seam_integration_blocked';
15923
+ /** Indicates that the login credentials are invalid. Please reconnect the account using the Connect Webview to restore access. */
15924
+ error_code: 'account_disconnected';
15897
15925
  }>;
15898
15926
  /** Warnings associated with the `acs_system`. */
15899
15927
  warnings: Array<{
@@ -15901,8 +15929,8 @@ export interface Routes {
15901
15929
  created_at: string;
15902
15930
  /** Detailed description of the warning. Provides insights into the issue and potentially how to rectify it. */
15903
15931
  message: string;
15904
- /** You have reached more than 80% of the maximum number of users allowed for your site; Please contact Salto support to increase your user limit. */
15905
- warning_code: 'salto_site_user_limit_almost_reached';
15932
+ /** Indicates that the Salto KS site has exceeded 80% of the maximum number of allowed users. Please increase your subscription limit, or delete some users from your site to rectify this. */
15933
+ warning_code: 'salto_ks_subscription_limit_almost_reached';
15906
15934
  }>;
15907
15935
  /** Indicates whether it is possible to [launch enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system#prepare-the-phones-for-a-user-identity-to-start-receiving-mobile-credentials-using-an-enrollment-aut) for the `acs_system`. */
15908
15936
  can_automate_enrollment?: boolean | undefined;
@@ -3,7 +3,7 @@ export declare const device_category: z.ZodEnum<["smartlock", "sensor", "thermos
3
3
  export type DeviceCategory = z.infer<typeof device_category>;
4
4
  export declare const device_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
5
5
  export type DeviceConnectionType = z.infer<typeof device_connection_type>;
6
- export declare const thermostat: z.ZodObject<{
6
+ export declare const thermostat: z.ZodObject<z.objectUtil.extendShape<{
7
7
  main_category: z.ZodLiteral<"thermostat">;
8
8
  physical_properties: z.ZodObject<{
9
9
  available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
@@ -37,7 +37,16 @@ export declare const thermostat: z.ZodObject<{
37
37
  }, {
38
38
  can_program_climate_schedules: boolean;
39
39
  }>;
40
- }, "strip", z.ZodTypeAny, {
40
+ }, Pick<{
41
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
42
+ can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
43
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
44
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
45
+ can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
46
+ can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
47
+ can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
48
+ can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
49
+ }, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
41
50
  main_category: "thermostat";
42
51
  physical_properties: {
43
52
  has_humidity_sensor: boolean;
@@ -51,6 +60,10 @@ export declare const thermostat: z.ZodObject<{
51
60
  software_features: {
52
61
  can_program_climate_schedules: boolean;
53
62
  };
63
+ can_hvac_heat?: true | undefined;
64
+ can_hvac_cool?: true | undefined;
65
+ can_hvac_heat_cool?: true | undefined;
66
+ can_turn_off_hvac?: true | undefined;
54
67
  }, {
55
68
  main_category: "thermostat";
56
69
  physical_properties: {
@@ -65,6 +78,10 @@ export declare const thermostat: z.ZodObject<{
65
78
  software_features: {
66
79
  can_program_climate_schedules: boolean;
67
80
  };
81
+ can_hvac_heat?: true | undefined;
82
+ can_hvac_cool?: true | undefined;
83
+ can_hvac_heat_cool?: true | undefined;
84
+ can_turn_off_hvac?: true | undefined;
68
85
  }>;
69
86
  export type ThermostatProperties = z.infer<typeof thermostat>;
70
87
  export declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<z.objectUtil.extendShape<{
@@ -107,7 +124,7 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
107
124
  can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
108
125
  can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
109
126
  can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
110
- }, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes" | "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
127
+ }, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes">>, "strip", z.ZodTypeAny, {
111
128
  main_category: "smartlock";
112
129
  physical_properties: {
113
130
  has_physical_key: boolean;
@@ -124,10 +141,6 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
124
141
  can_remotely_lock?: true | undefined;
125
142
  can_program_offline_access_codes?: true | undefined;
126
143
  can_program_online_access_codes?: true | undefined;
127
- can_hvac_heat?: true | undefined;
128
- can_hvac_cool?: true | undefined;
129
- can_hvac_heat_cool?: true | undefined;
130
- can_turn_off_hvac?: true | undefined;
131
144
  }, {
132
145
  main_category: "smartlock";
133
146
  physical_properties: {
@@ -145,10 +158,6 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
145
158
  can_remotely_lock?: true | undefined;
146
159
  can_program_offline_access_codes?: true | undefined;
147
160
  can_program_online_access_codes?: true | undefined;
148
- can_hvac_heat?: true | undefined;
149
- can_hvac_cool?: true | undefined;
150
- can_hvac_heat_cool?: true | undefined;
151
- can_turn_off_hvac?: true | undefined;
152
161
  }>, z.ZodObject<{
153
162
  main_category: z.ZodLiteral<"sensor">;
154
163
  physical_properties: z.ZodObject<{
@@ -183,7 +192,7 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
183
192
  has_temperature_sensor: boolean;
184
193
  has_occupancy_detection: boolean;
185
194
  };
186
- }>, z.ZodObject<{
195
+ }>, z.ZodObject<z.objectUtil.extendShape<{
187
196
  main_category: z.ZodLiteral<"thermostat">;
188
197
  physical_properties: z.ZodObject<{
189
198
  available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
@@ -217,7 +226,16 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
217
226
  }, {
218
227
  can_program_climate_schedules: boolean;
219
228
  }>;
220
- }, "strip", z.ZodTypeAny, {
229
+ }, Pick<{
230
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
231
+ can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
232
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
233
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
234
+ can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
235
+ can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
236
+ can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
237
+ can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
238
+ }, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
221
239
  main_category: "thermostat";
222
240
  physical_properties: {
223
241
  has_humidity_sensor: boolean;
@@ -231,6 +249,10 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
231
249
  software_features: {
232
250
  can_program_climate_schedules: boolean;
233
251
  };
252
+ can_hvac_heat?: true | undefined;
253
+ can_hvac_cool?: true | undefined;
254
+ can_hvac_heat_cool?: true | undefined;
255
+ can_turn_off_hvac?: true | undefined;
234
256
  }, {
235
257
  main_category: "thermostat";
236
258
  physical_properties: {
@@ -245,6 +267,10 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
245
267
  software_features: {
246
268
  can_program_climate_schedules: boolean;
247
269
  };
270
+ can_hvac_heat?: true | undefined;
271
+ can_hvac_cool?: true | undefined;
272
+ can_hvac_heat_cool?: true | undefined;
273
+ can_turn_off_hvac?: true | undefined;
248
274
  }>, z.ZodObject<{
249
275
  main_category: z.ZodLiteral<"relay">;
250
276
  }, "strip", z.ZodTypeAny, {
@@ -996,7 +1022,7 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
996
1022
  can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
997
1023
  can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
998
1024
  can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
999
- }, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes" | "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
1025
+ }, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes">>, "strip", z.ZodTypeAny, {
1000
1026
  main_category: "smartlock";
1001
1027
  physical_properties: {
1002
1028
  has_physical_key: boolean;
@@ -1013,10 +1039,6 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
1013
1039
  can_remotely_lock?: true | undefined;
1014
1040
  can_program_offline_access_codes?: true | undefined;
1015
1041
  can_program_online_access_codes?: true | undefined;
1016
- can_hvac_heat?: true | undefined;
1017
- can_hvac_cool?: true | undefined;
1018
- can_hvac_heat_cool?: true | undefined;
1019
- can_turn_off_hvac?: true | undefined;
1020
1042
  }, {
1021
1043
  main_category: "smartlock";
1022
1044
  physical_properties: {
@@ -1034,10 +1056,6 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
1034
1056
  can_remotely_lock?: true | undefined;
1035
1057
  can_program_offline_access_codes?: true | undefined;
1036
1058
  can_program_online_access_codes?: true | undefined;
1037
- can_hvac_heat?: true | undefined;
1038
- can_hvac_cool?: true | undefined;
1039
- can_hvac_heat_cool?: true | undefined;
1040
- can_turn_off_hvac?: true | undefined;
1041
1059
  }>, z.ZodObject<{
1042
1060
  main_category: z.ZodLiteral<"sensor">;
1043
1061
  physical_properties: z.ZodObject<{
@@ -1072,7 +1090,7 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
1072
1090
  has_temperature_sensor: boolean;
1073
1091
  has_occupancy_detection: boolean;
1074
1092
  };
1075
- }>, z.ZodObject<{
1093
+ }>, z.ZodObject<z.objectUtil.extendShape<{
1076
1094
  main_category: z.ZodLiteral<"thermostat">;
1077
1095
  physical_properties: z.ZodObject<{
1078
1096
  available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
@@ -1106,7 +1124,16 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
1106
1124
  }, {
1107
1125
  can_program_climate_schedules: boolean;
1108
1126
  }>;
1109
- }, "strip", z.ZodTypeAny, {
1127
+ }, Pick<{
1128
+ can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
1129
+ can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
1130
+ can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
1131
+ can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
1132
+ can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
1133
+ can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
1134
+ can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
1135
+ can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
1136
+ }, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
1110
1137
  main_category: "thermostat";
1111
1138
  physical_properties: {
1112
1139
  has_humidity_sensor: boolean;
@@ -1120,6 +1147,10 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
1120
1147
  software_features: {
1121
1148
  can_program_climate_schedules: boolean;
1122
1149
  };
1150
+ can_hvac_heat?: true | undefined;
1151
+ can_hvac_cool?: true | undefined;
1152
+ can_hvac_heat_cool?: true | undefined;
1153
+ can_turn_off_hvac?: true | undefined;
1123
1154
  }, {
1124
1155
  main_category: "thermostat";
1125
1156
  physical_properties: {
@@ -1134,6 +1165,10 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
1134
1165
  software_features: {
1135
1166
  can_program_climate_schedules: boolean;
1136
1167
  };
1168
+ can_hvac_heat?: true | undefined;
1169
+ can_hvac_cool?: true | undefined;
1170
+ can_hvac_heat_cool?: true | undefined;
1171
+ can_turn_off_hvac?: true | undefined;
1137
1172
  }>, z.ZodObject<{
1138
1173
  main_category: z.ZodLiteral<"relay">;
1139
1174
  }, "strip", z.ZodTypeAny, {
@@ -46,10 +46,6 @@ const smartlock = z
46
46
  can_remotely_unlock: true,
47
47
  can_program_offline_access_codes: true,
48
48
  can_program_online_access_codes: true,
49
- can_hvac_heat: true,
50
- can_hvac_cool: true,
51
- can_hvac_heat_cool: true,
52
- can_turn_off_hvac: true,
53
49
  }));
54
50
  const sensor = z.object({
55
51
  main_category: z.literal(device_category.enum.sensor),
@@ -60,7 +56,8 @@ const sensor = z.object({
60
56
  has_occupancy_detection: z.boolean(),
61
57
  }),
62
58
  });
63
- export const thermostat = z.object({
59
+ export const thermostat = z
60
+ .object({
64
61
  main_category: z.literal(device_category.enum.thermostat),
65
62
  physical_properties: z.object({
66
63
  available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),
@@ -74,7 +71,13 @@ export const thermostat = z.object({
74
71
  software_features: z.object({
75
72
  can_program_climate_schedules: z.boolean(),
76
73
  }),
77
- });
74
+ })
75
+ .merge(device_model_capability_flags.pick({
76
+ can_hvac_heat: true,
77
+ can_hvac_cool: true,
78
+ can_hvac_heat_cool: true,
79
+ can_turn_off_hvac: true,
80
+ }));
78
81
  const relay = z.object({
79
82
  main_category: z.literal(device_category.enum.relay),
80
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"device-model.js","sourceRoot":"","sources":["../../../../src/lib/seam/devicedb/models/device-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-model.js","sourceRoot":"","sources":["../../../../src/lib/seam/devicedb/models/device-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,UAAU;IACV,WAAW;CACZ,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;CACV,CAAC,CAAA;AAIF,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;IACxD,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;YAChB,UAAU;YACV,OAAO;YACP,SAAS;YACT,SAAS;YACT,UAAU;YACV,SAAS;YACT,QAAQ;YACR,SAAS;SACV,CAAC;QACF,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;QAC7B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;KACxB,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;QAChC,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE;QACrC,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE;QACzC,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE;KAC9C,CAAC;CACH,CAAC;KACD,KAAK,CACJ,6BAA6B,CAAC,IAAI,CAAC;IACjC,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,gCAAgC,EAAE,IAAI;IACtC,+BAA+B,EAAE,IAAI;CACtC,CAAC,CACH,CAAA;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;IACrD,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;QAC7B,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;QAChC,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE;QACnC,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE;KACrC,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;IACzD,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;QAC/D,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE;QACpC,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE;QACpC,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE;QACrC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;QAChC,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE;QACnC,+BAA+B,EAAE,CAAC,CAAC,OAAO,EAAE;KAC7C,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,6BAA6B,EAAE,CAAC,CAAC,OAAO,EAAE;KAC3C,CAAC;CACH,CAAC;KACD,KAAK,CACJ,6BAA6B,CAAC,IAAI,CAAC;IACjC,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;CACxB,CAAC,CACH,CAAA;AAIH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;CACrD,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvD,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;QACvB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAClD,CAAC;IACF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;QAChC,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE;QACrC,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5D,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAC3C,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;CACzD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAC,CAAC,kBAAkB,CAC3E,eAAe,EACf,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAC5D,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAClC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC;QAC9B,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oBAAoB,EAAE,sBAAsB;IAC5C,QAAQ;IACR,kBAAkB,EAAE,CAAC;SAClB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACvC,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE;QACvC,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE;QACtC,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE;KAChC,CAAC;SACD,KAAK,EAAE;IACV,aAAa,EAAE,CAAC;SACb,IAAI,CAAC;QACJ,SAAS;QACT,WAAW;QACX,uBAAuB;QACvB,UAAU;QACV,UAAU;KACX,CAAC;SACD,KAAK,EAAE;CACX,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CACrD,yCAAyC,CAC1C,CAAA"}