@seamapi/types 1.798.0 → 1.800.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.
@@ -10974,6 +10974,15 @@ export type Routes = {
10974
10974
  message: string;
10975
10975
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
10976
10976
  warning_code: 'overprovisioned_access';
10977
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
10978
+ failed_devices?: {
10979
+ /** Device whose access code could not be revoked. */
10980
+ device_id: string;
10981
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
10982
+ error_code: string;
10983
+ /** Human-readable description of why revocation failed. */
10984
+ message: string;
10985
+ }[] | undefined;
10977
10986
  } | {
10978
10987
  /** Date and time at which Seam created the warning. */
10979
10988
  created_at: string;
@@ -11162,6 +11171,15 @@ export type Routes = {
11162
11171
  message: string;
11163
11172
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
11164
11173
  warning_code: 'overprovisioned_access';
11174
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
11175
+ failed_devices?: {
11176
+ /** Device whose access code could not be revoked. */
11177
+ device_id: string;
11178
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
11179
+ error_code: string;
11180
+ /** Human-readable description of why revocation failed. */
11181
+ message: string;
11182
+ }[] | undefined;
11165
11183
  } | {
11166
11184
  /** Date and time at which Seam created the warning. */
11167
11185
  created_at: string;
@@ -13433,6 +13451,15 @@ export type Routes = {
13433
13451
  message: string;
13434
13452
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
13435
13453
  warning_code: 'overprovisioned_access';
13454
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
13455
+ failed_devices?: {
13456
+ /** Device whose access code could not be revoked. */
13457
+ device_id: string;
13458
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
13459
+ error_code: string;
13460
+ /** Human-readable description of why revocation failed. */
13461
+ message: string;
13462
+ }[] | undefined;
13436
13463
  } | {
13437
13464
  /** Date and time at which Seam created the warning. */
13438
13465
  created_at: string;
@@ -13623,6 +13650,15 @@ export type Routes = {
13623
13650
  message: string;
13624
13651
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
13625
13652
  warning_code: 'overprovisioned_access';
13653
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
13654
+ failed_devices?: {
13655
+ /** Device whose access code could not be revoked. */
13656
+ device_id: string;
13657
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
13658
+ error_code: string;
13659
+ /** Human-readable description of why revocation failed. */
13660
+ message: string;
13661
+ }[] | undefined;
13626
13662
  } | {
13627
13663
  /** Date and time at which Seam created the warning. */
13628
13664
  created_at: string;
@@ -13787,6 +13823,15 @@ export type Routes = {
13787
13823
  message: string;
13788
13824
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
13789
13825
  warning_code: 'overprovisioned_access';
13826
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
13827
+ failed_devices?: {
13828
+ /** Device whose access code could not be revoked. */
13829
+ device_id: string;
13830
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
13831
+ error_code: string;
13832
+ /** Human-readable description of why revocation failed. */
13833
+ message: string;
13834
+ }[] | undefined;
13790
13835
  } | {
13791
13836
  /** Date and time at which Seam created the warning. */
13792
13837
  created_at: string;
@@ -13960,6 +14005,15 @@ export type Routes = {
13960
14005
  message: string;
13961
14006
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
13962
14007
  warning_code: 'overprovisioned_access';
14008
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
14009
+ failed_devices?: {
14010
+ /** Device whose access code could not be revoked. */
14011
+ device_id: string;
14012
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
14013
+ error_code: string;
14014
+ /** Human-readable description of why revocation failed. */
14015
+ message: string;
14016
+ }[] | undefined;
13963
14017
  } | {
13964
14018
  /** Date and time at which Seam created the warning. */
13965
14019
  created_at: string;
@@ -17145,6 +17199,15 @@ export type Routes = {
17145
17199
  message: string;
17146
17200
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
17147
17201
  warning_code: 'overprovisioned_access';
17202
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
17203
+ failed_devices?: {
17204
+ /** Device whose access code could not be revoked. */
17205
+ device_id: string;
17206
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
17207
+ error_code: string;
17208
+ /** Human-readable description of why revocation failed. */
17209
+ message: string;
17210
+ }[] | undefined;
17148
17211
  } | {
17149
17212
  /** Date and time at which Seam created the warning. */
17150
17213
  created_at: string;
@@ -30541,9 +30604,9 @@ export type Routes = {
30541
30604
  /** Associate the Connect Webview, the connected account, and all resources under the connected account with a customer. If the connected account already exists, it will be associated with the customer. If the connected account already exists, but is already associated with a customer, the Connect Webview will show an error. */
30542
30605
  customer_key?: string | undefined;
30543
30606
  /** Accepted device provider keys as an alternative to `provider_category`. Use this parameter to specify accepted providers explicitly. See [Customize the Brands to Display in Your Connect Webviews](https://docs.seam.co/latest/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews). To list all provider keys, use [`/devices/list_device_providers`](https://docs.seam.co/latest/api/devices/list_device_providers) with no filters. */
30544
- accepted_providers?: ('hotek' | 'dormakaba_community' | 'legic_connect' | 'akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'schlage' | 'smartthings' | 'yale' | 'genie' | 'doorking' | 'salto' | 'salto_ks' | 'lockly' | 'ttlock' | 'linear' | 'noiseaware' | 'nuki' | 'igloo' | 'kwikset' | 'minut' | 'my_2n' | 'controlbyweb' | 'nest' | 'igloohome' | 'ecobee' | 'four_suites' | 'dormakaba_oracode' | 'pti' | 'wyze' | 'seam_passport' | 'visionline' | 'assa_abloy_credential_service' | 'tedee' | 'honeywell_resideo' | 'latch' | 'akiles' | 'assa_abloy_vostio' | 'assa_abloy_vostio_credential_service' | 'tado' | 'salto_space' | 'sensi' | 'keynest' | 'korelock' | 'dormakaba_ambiance' | 'ultraloq' | 'ring' | 'yale_access' | 'hid_cm' | 'google_nest')[] | undefined;
30607
+ accepted_providers?: ('hotek' | 'dormakaba_community' | 'legic_connect' | 'akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'schlage' | 'smartthings' | 'yale' | 'genie' | 'doorking' | 'salto' | 'salto_ks' | 'lockly' | 'ttlock' | 'linear' | 'noiseaware' | 'nuki' | 'igloo' | 'kwikset' | 'minut' | 'my_2n' | 'controlbyweb' | 'nest' | 'igloohome' | 'ecobee' | 'four_suites' | 'dormakaba_oracode' | 'pti' | 'wyze' | 'seam_passport' | 'visionline' | 'assa_abloy_credential_service' | 'tedee' | 'honeywell_resideo' | 'latch' | 'akiles' | 'assa_abloy_vostio' | 'assa_abloy_vostio_credential_service' | 'tado' | 'salto_space' | 'sensi' | 'keynest' | 'korelock' | 'dormakaba_ambiance' | 'ultraloq' | 'ring' | 'ical' | 'yale_access' | 'hid_cm' | 'google_nest')[] | undefined;
30545
30608
  /** Specifies the category of providers that you want to include. To list all providers within a category, use [`/devices/list_device_providers`](https://docs.seam.co/latest/api/devices/list_device_providers) with the desired `provider_category` filter. */
30546
- provider_category?: ('stable' | 'consumer_smartlocks' | 'beta' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'cameras' | 'internal_beta') | undefined;
30609
+ provider_category?: ('stable' | 'consumer_smartlocks' | 'beta' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'cameras' | 'connectors' | 'internal_beta') | undefined;
30547
30610
  /** Custom metadata that you want to associate with the Connect Webview. Supports up to 50 JSON key:value pairs. [Adding custom metadata to a Connect Webview](https://docs.seam.co/latest/core-concepts/connect-webviews/attaching-custom-data-to-the-connect-webview) enables you to store custom information, like customer details or internal IDs from your application. The custom metadata is then transferred to any [connected accounts](https://docs.seam.co/latest/core-concepts/connected-accounts) that were connected using the Connect Webview, making it easy to find and filter these resources in your [workspace](https://docs.seam.co/latest/core-concepts/workspaces). You can also [filter Connect Webviews by custom metadata](https://docs.seam.co/latest/core-concepts/connect-webviews/filtering-connect-webviews-by-custom-metadata). */
30548
30611
  custom_metadata?: {
30549
30612
  [x: string]: string | boolean | null;
@@ -33501,7 +33564,7 @@ export type Routes = {
33501
33564
  /** Array of device types for which you want to list devices. */
33502
33565
  device_types?: (('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock' | 'ultraloq_lock' | 'korelock_lock') | 'keynest_key' | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone') | 'ring_camera')[] | undefined;
33503
33566
  /** Manufacturer for which you want to list devices. */
33504
- manufacturer?: ('akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'doorking' | 'four_suites' | 'genie' | 'igloo' | 'keywe' | 'kwikset' | 'linear' | 'lockly' | 'nuki' | 'philia' | 'salto' | 'samsung' | 'schlage' | 'seam' | 'unknown' | 'wyze' | 'yale' | 'two_n' | 'ttlock' | 'igloohome' | 'controlbyweb' | 'dormakaba_oracode' | 'tedee' | 'korelock' | 'akiles' | 'ecobee' | 'honeywell_resideo' | 'keynest' | 'korelock' | 'minut' | 'nest' | 'noiseaware' | 'sensi' | 'smartthings' | 'tado' | 'ultraloq' | 'ring') | undefined;
33567
+ manufacturer?: ('akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'doorking' | 'four_suites' | 'genie' | 'igloo' | 'keywe' | 'kwikset' | 'linear' | 'lockly' | 'nuki' | 'philia' | 'salto' | 'samsung' | 'schlage' | 'seam' | 'unknown' | 'wyze' | 'yale' | 'two_n' | 'ttlock' | 'igloohome' | 'controlbyweb' | 'dormakaba_oracode' | 'tedee' | 'korelock' | 'akiles' | 'ecobee' | 'honeywell_resideo' | 'keynest' | 'korelock' | 'minut' | 'nest' | 'noiseaware' | 'sensi' | 'smartthings' | 'tado' | 'ultraloq' | 'ring' | 'ical') | undefined;
33505
33568
  /** Array of device IDs for which you want to list devices. */
33506
33569
  device_ids?: string[] | undefined;
33507
33570
  /** Numerical limit on the number of devices to return. */
@@ -34873,15 +34936,15 @@ export type Routes = {
34873
34936
  jsonBody: {};
34874
34937
  commonParams: {
34875
34938
  /** Category for which you want to list providers. */
34876
- provider_category?: ('stable' | 'consumer_smartlocks' | 'beta' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'cameras') | undefined;
34939
+ provider_category?: ('stable' | 'consumer_smartlocks' | 'beta' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'cameras' | 'connectors') | undefined;
34877
34940
  };
34878
34941
  formData: {};
34879
34942
  jsonResponse: {
34880
34943
  device_providers: {
34881
- device_provider_name: 'hotek' | 'dormakaba_community' | 'legic_connect' | 'akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'schlage' | 'smartthings' | 'yale' | 'genie' | 'doorking' | 'salto' | 'salto_ks' | 'lockly' | 'ttlock' | 'linear' | 'noiseaware' | 'nuki' | 'igloo' | 'kwikset' | 'minut' | 'my_2n' | 'controlbyweb' | 'nest' | 'igloohome' | 'ecobee' | 'four_suites' | 'dormakaba_oracode' | 'pti' | 'wyze' | 'seam_passport' | 'visionline' | 'assa_abloy_credential_service' | 'tedee' | 'honeywell_resideo' | 'latch' | 'akiles' | 'assa_abloy_vostio' | 'assa_abloy_vostio_credential_service' | 'tado' | 'salto_space' | 'sensi' | 'keynest' | 'korelock' | 'dormakaba_ambiance' | 'ultraloq' | 'ring';
34944
+ device_provider_name: 'hotek' | 'dormakaba_community' | 'legic_connect' | 'akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'schlage' | 'smartthings' | 'yale' | 'genie' | 'doorking' | 'salto' | 'salto_ks' | 'lockly' | 'ttlock' | 'linear' | 'noiseaware' | 'nuki' | 'igloo' | 'kwikset' | 'minut' | 'my_2n' | 'controlbyweb' | 'nest' | 'igloohome' | 'ecobee' | 'four_suites' | 'dormakaba_oracode' | 'pti' | 'wyze' | 'seam_passport' | 'visionline' | 'assa_abloy_credential_service' | 'tedee' | 'honeywell_resideo' | 'latch' | 'akiles' | 'assa_abloy_vostio' | 'assa_abloy_vostio_credential_service' | 'tado' | 'salto_space' | 'sensi' | 'keynest' | 'korelock' | 'dormakaba_ambiance' | 'ultraloq' | 'ring' | 'ical';
34882
34945
  display_name: string;
34883
34946
  image_url: string;
34884
- provider_categories: ('stable' | 'consumer_smartlocks' | 'beta' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'cameras')[];
34947
+ provider_categories: ('stable' | 'consumer_smartlocks' | 'beta' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'cameras' | 'connectors')[];
34885
34948
  can_remotely_unlock?: boolean | undefined;
34886
34949
  can_remotely_lock?: boolean | undefined;
34887
34950
  can_program_offline_access_codes?: boolean | undefined;
@@ -35479,7 +35542,7 @@ export type Routes = {
35479
35542
  /** Array of device types for which you want to list devices. */
35480
35543
  device_types?: (('akuvox_lock' | 'august_lock' | 'brivo_access_point' | 'butterflymx_panel' | 'avigilon_alta_entry' | 'doorking_lock' | 'genie_door' | 'igloo_lock' | 'linear_lock' | 'lockly_lock' | 'kwikset_lock' | 'nuki_lock' | 'salto_lock' | 'schlage_lock' | 'smartthings_lock' | 'wyze_lock' | 'yale_lock' | 'two_n_intercom' | 'controlbyweb_device' | 'ttlock_lock' | 'igloohome_lock' | 'four_suites_door' | 'dormakaba_oracode_door' | 'tedee_lock' | 'akiles_lock' | 'ultraloq_lock' | 'korelock_lock') | 'keynest_key' | ('noiseaware_activity_zone' | 'minut_sensor') | ('ecobee_thermostat' | 'nest_thermostat' | 'honeywell_resideo_thermostat' | 'tado_thermostat' | 'sensi_thermostat' | 'smartthings_thermostat') | ('ios_phone' | 'android_phone') | 'ring_camera')[] | undefined;
35481
35544
  /** Manufacturer for which you want to list devices. */
35482
- manufacturer?: ('akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'doorking' | 'four_suites' | 'genie' | 'igloo' | 'keywe' | 'kwikset' | 'linear' | 'lockly' | 'nuki' | 'philia' | 'salto' | 'samsung' | 'schlage' | 'seam' | 'unknown' | 'wyze' | 'yale' | 'two_n' | 'ttlock' | 'igloohome' | 'controlbyweb' | 'dormakaba_oracode' | 'tedee' | 'korelock' | 'akiles' | 'ecobee' | 'honeywell_resideo' | 'keynest' | 'korelock' | 'minut' | 'nest' | 'noiseaware' | 'sensi' | 'smartthings' | 'tado' | 'ultraloq' | 'ring') | undefined;
35545
+ manufacturer?: ('akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'doorking' | 'four_suites' | 'genie' | 'igloo' | 'keywe' | 'kwikset' | 'linear' | 'lockly' | 'nuki' | 'philia' | 'salto' | 'samsung' | 'schlage' | 'seam' | 'unknown' | 'wyze' | 'yale' | 'two_n' | 'ttlock' | 'igloohome' | 'controlbyweb' | 'dormakaba_oracode' | 'tedee' | 'korelock' | 'akiles' | 'ecobee' | 'honeywell_resideo' | 'keynest' | 'korelock' | 'minut' | 'nest' | 'noiseaware' | 'sensi' | 'smartthings' | 'tado' | 'ultraloq' | 'ring' | 'ical') | undefined;
35483
35546
  /** Array of device IDs for which you want to list devices. */
35484
35547
  device_ids?: string[] | undefined;
35485
35548
  /** Timestamp by which to limit returned devices. Returns devices created before this timestamp. */
@@ -61486,6 +61549,15 @@ export type Routes = {
61486
61549
  message: string;
61487
61550
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
61488
61551
  warning_code: 'overprovisioned_access';
61552
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
61553
+ failed_devices?: {
61554
+ /** Device whose access code could not be revoked. */
61555
+ device_id: string;
61556
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
61557
+ error_code: string;
61558
+ /** Human-readable description of why revocation failed. */
61559
+ message: string;
61560
+ }[] | undefined;
61489
61561
  } | {
61490
61562
  /** Date and time at which Seam created the warning. */
61491
61563
  created_at: string;
@@ -67117,6 +67189,15 @@ export type Routes = {
67117
67189
  message: string;
67118
67190
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
67119
67191
  warning_code: 'overprovisioned_access';
67192
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
67193
+ failed_devices?: {
67194
+ /** Device whose access code could not be revoked. */
67195
+ device_id: string;
67196
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
67197
+ error_code: string;
67198
+ /** Human-readable description of why revocation failed. */
67199
+ message: string;
67200
+ }[] | undefined;
67120
67201
  } | {
67121
67202
  /** Date and time at which Seam created the warning. */
67122
67203
  created_at: string;
@@ -67543,6 +67624,15 @@ export type Routes = {
67543
67624
  message: string;
67544
67625
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
67545
67626
  warning_code: 'overprovisioned_access';
67627
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
67628
+ failed_devices?: {
67629
+ /** Device whose access code could not be revoked. */
67630
+ device_id: string;
67631
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
67632
+ error_code: string;
67633
+ /** Human-readable description of why revocation failed. */
67634
+ message: string;
67635
+ }[] | undefined;
67546
67636
  } | {
67547
67637
  /** Date and time at which Seam created the warning. */
67548
67638
  created_at: string;
@@ -95875,6 +95965,15 @@ export type Routes = {
95875
95965
  message: string;
95876
95966
  /** Unique identifier of the type of warning. Enables quick recognition and categorization of the issue. */
95877
95967
  warning_code: 'overprovisioned_access';
95968
+ /** Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget). */
95969
+ failed_devices?: {
95970
+ /** Device whose access code could not be revoked. */
95971
+ device_id: string;
95972
+ /** Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`). */
95973
+ error_code: string;
95974
+ /** Human-readable description of why revocation failed. */
95975
+ message: string;
95976
+ }[] | undefined;
95878
95977
  } | {
95879
95978
  /** Date and time at which Seam created the warning. */
95880
95979
  created_at: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.798.0",
3
+ "version": "1.800.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -71,11 +71,32 @@ const underprovisioned_access = common_access_grant_warning
71
71
  'Indicates that the access grant should have access to more locations than it currently does. Access methods are being created for the missing locations.',
72
72
  )
73
73
 
74
+ const overprovisioned_failed_device = z.object({
75
+ device_id: z
76
+ .string()
77
+ .uuid()
78
+ .describe('Device whose access code could not be revoked.'),
79
+ error_code: z
80
+ .string()
81
+ .describe(
82
+ 'Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).',
83
+ ),
84
+ message: z
85
+ .string()
86
+ .describe('Human-readable description of why revocation failed.'),
87
+ })
88
+
74
89
  const overprovisioned_access = common_access_grant_warning
75
90
  .extend({
76
91
  warning_code: z
77
92
  .literal('overprovisioned_access')
78
93
  .describe(warning_code_description),
94
+ failed_devices: z
95
+ .array(overprovisioned_failed_device)
96
+ .optional()
97
+ .describe(
98
+ 'Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).',
99
+ ),
79
100
  })
80
101
  .describe(
81
102
  'Indicates that the access grant has access to locations it should not have. Access methods are being removed from the extra locations.',
@@ -53,6 +53,7 @@ export const DEVICE_PROVIDERS = {
53
53
  DORMAKABA_AMBIANCE: 'dormakaba_ambiance',
54
54
  ULTRALOQ: 'ultraloq',
55
55
  RING: 'ring',
56
+ ICAL: 'ical',
56
57
  } as const
57
58
 
58
59
  export type DeviceProviderName =
@@ -137,6 +138,8 @@ export const PROVIDER_CATEGORY_MAP = {
137
138
 
138
139
  cameras: ['ring'],
139
140
 
141
+ connectors: ['ical'],
142
+
140
143
  internal_beta: ALL_DEVICE_PROVIDERS,
141
144
  } as const satisfies Record<string, readonly DeviceProviderName[]>
142
145
 
@@ -172,6 +175,7 @@ export const PROVIDER_CATEGORY_CAPABILITY_MAP: Record<
172
175
  noise_sensors: ['noise_sensor'],
173
176
  access_control_systems: ['access_control'],
174
177
  cameras: ['camera'],
178
+ connectors: [],
175
179
  internal_beta: [
176
180
  'lock',
177
181
  'thermostat',
@@ -2474,6 +2474,33 @@ export default {
2474
2474
  format: 'date-time',
2475
2475
  type: 'string',
2476
2476
  },
2477
+ failed_devices: {
2478
+ description:
2479
+ 'Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).',
2480
+ items: {
2481
+ properties: {
2482
+ device_id: {
2483
+ description:
2484
+ 'Device whose access code could not be revoked.',
2485
+ format: 'uuid',
2486
+ type: 'string',
2487
+ },
2488
+ error_code: {
2489
+ description:
2490
+ 'Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).',
2491
+ type: 'string',
2492
+ },
2493
+ message: {
2494
+ description:
2495
+ 'Human-readable description of why revocation failed.',
2496
+ type: 'string',
2497
+ },
2498
+ },
2499
+ required: ['device_id', 'error_code', 'message'],
2500
+ type: 'object',
2501
+ },
2502
+ type: 'array',
2503
+ },
2477
2504
  message: {
2478
2505
  description:
2479
2506
  'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
@@ -15474,6 +15501,7 @@ export default {
15474
15501
  'dormakaba_ambiance',
15475
15502
  'ultraloq',
15476
15503
  'ring',
15504
+ 'ical',
15477
15505
  ],
15478
15506
  type: 'string',
15479
15507
  },
@@ -15489,6 +15517,7 @@ export default {
15489
15517
  'noise_sensors',
15490
15518
  'access_control_systems',
15491
15519
  'cameras',
15520
+ 'connectors',
15492
15521
  ],
15493
15522
  type: 'string',
15494
15523
  },
@@ -36004,6 +36033,37 @@ export default {
36004
36033
  format: 'date-time',
36005
36034
  type: 'string',
36006
36035
  },
36036
+ failed_devices: {
36037
+ description:
36038
+ 'Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).',
36039
+ items: {
36040
+ properties: {
36041
+ device_id: {
36042
+ description:
36043
+ 'Device whose access code could not be revoked.',
36044
+ format: 'uuid',
36045
+ type: 'string',
36046
+ },
36047
+ error_code: {
36048
+ description:
36049
+ 'Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).',
36050
+ type: 'string',
36051
+ },
36052
+ message: {
36053
+ description:
36054
+ 'Human-readable description of why revocation failed.',
36055
+ type: 'string',
36056
+ },
36057
+ },
36058
+ required: [
36059
+ 'device_id',
36060
+ 'error_code',
36061
+ 'message',
36062
+ ],
36063
+ type: 'object',
36064
+ },
36065
+ type: 'array',
36066
+ },
36007
36067
  message: {
36008
36068
  description:
36009
36069
  'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
@@ -36630,6 +36690,37 @@ export default {
36630
36690
  format: 'date-time',
36631
36691
  type: 'string',
36632
36692
  },
36693
+ failed_devices: {
36694
+ description:
36695
+ 'Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).',
36696
+ items: {
36697
+ properties: {
36698
+ device_id: {
36699
+ description:
36700
+ 'Device whose access code could not be revoked.',
36701
+ format: 'uuid',
36702
+ type: 'string',
36703
+ },
36704
+ error_code: {
36705
+ description:
36706
+ 'Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).',
36707
+ type: 'string',
36708
+ },
36709
+ message: {
36710
+ description:
36711
+ 'Human-readable description of why revocation failed.',
36712
+ type: 'string',
36713
+ },
36714
+ },
36715
+ required: [
36716
+ 'device_id',
36717
+ 'error_code',
36718
+ 'message',
36719
+ ],
36720
+ type: 'object',
36721
+ },
36722
+ type: 'array',
36723
+ },
36633
36724
  message: {
36634
36725
  description:
36635
36726
  'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
@@ -37305,6 +37396,37 @@ export default {
37305
37396
  format: 'date-time',
37306
37397
  type: 'string',
37307
37398
  },
37399
+ failed_devices: {
37400
+ description:
37401
+ 'Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).',
37402
+ items: {
37403
+ properties: {
37404
+ device_id: {
37405
+ description:
37406
+ 'Device whose access code could not be revoked.',
37407
+ format: 'uuid',
37408
+ type: 'string',
37409
+ },
37410
+ error_code: {
37411
+ description:
37412
+ 'Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).',
37413
+ type: 'string',
37414
+ },
37415
+ message: {
37416
+ description:
37417
+ 'Human-readable description of why revocation failed.',
37418
+ type: 'string',
37419
+ },
37420
+ },
37421
+ required: [
37422
+ 'device_id',
37423
+ 'error_code',
37424
+ 'message',
37425
+ ],
37426
+ type: 'object',
37427
+ },
37428
+ type: 'array',
37429
+ },
37308
37430
  message: {
37309
37431
  description:
37310
37432
  'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
@@ -37967,6 +38089,37 @@ export default {
37967
38089
  format: 'date-time',
37968
38090
  type: 'string',
37969
38091
  },
38092
+ failed_devices: {
38093
+ description:
38094
+ 'Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).',
38095
+ items: {
38096
+ properties: {
38097
+ device_id: {
38098
+ description:
38099
+ 'Device whose access code could not be revoked.',
38100
+ format: 'uuid',
38101
+ type: 'string',
38102
+ },
38103
+ error_code: {
38104
+ description:
38105
+ 'Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).',
38106
+ type: 'string',
38107
+ },
38108
+ message: {
38109
+ description:
38110
+ 'Human-readable description of why revocation failed.',
38111
+ type: 'string',
38112
+ },
38113
+ },
38114
+ required: [
38115
+ 'device_id',
38116
+ 'error_code',
38117
+ 'message',
38118
+ ],
38119
+ type: 'object',
38120
+ },
38121
+ type: 'array',
38122
+ },
37970
38123
  message: {
37971
38124
  description:
37972
38125
  'Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.',
@@ -48876,6 +49029,7 @@ export default {
48876
49029
  'dormakaba_ambiance',
48877
49030
  'ultraloq',
48878
49031
  'ring',
49032
+ 'ical',
48879
49033
  'yale_access',
48880
49034
  'hid_cm',
48881
49035
  'google_nest',
@@ -48939,6 +49093,7 @@ export default {
48939
49093
  'noise_sensors',
48940
49094
  'access_control_systems',
48941
49095
  'cameras',
49096
+ 'connectors',
48942
49097
  'internal_beta',
48943
49098
  ],
48944
49099
  type: 'string',
@@ -53164,6 +53319,7 @@ export default {
53164
53319
  'tado',
53165
53320
  'ultraloq',
53166
53321
  'ring',
53322
+ 'ical',
53167
53323
  ],
53168
53324
  type: 'string',
53169
53325
  },
@@ -53678,6 +53834,7 @@ export default {
53678
53834
  'tado',
53679
53835
  'ultraloq',
53680
53836
  'ring',
53837
+ 'ical',
53681
53838
  ],
53682
53839
  type: 'string',
53683
53840
  },
@@ -53775,6 +53932,7 @@ export default {
53775
53932
  'noise_sensors',
53776
53933
  'access_control_systems',
53777
53934
  'cameras',
53935
+ 'connectors',
53778
53936
  ],
53779
53937
  type: 'string',
53780
53938
  },
@@ -53836,6 +53994,7 @@ export default {
53836
53994
  'noise_sensors',
53837
53995
  'access_control_systems',
53838
53996
  'cameras',
53997
+ 'connectors',
53839
53998
  ],
53840
53999
  type: 'string',
53841
54000
  },
@@ -55505,6 +55664,7 @@ export default {
55505
55664
  'tado',
55506
55665
  'ultraloq',
55507
55666
  'ring',
55667
+ 'ical',
55508
55668
  ],
55509
55669
  type: 'string',
55510
55670
  },
@@ -56018,6 +56178,7 @@ export default {
56018
56178
  'tado',
56019
56179
  'ultraloq',
56020
56180
  'ring',
56181
+ 'ical',
56021
56182
  ],
56022
56183
  type: 'string',
56023
56184
  },