@seamapi/types 1.67.0 → 1.69.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 +132 -34
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +205 -38
- package/dist/devicedb.cjs +6 -0
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +62 -0
- package/lib/seam/connect/openapi.d.ts +143 -11
- package/lib/seam/connect/openapi.js +120 -22
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +62 -27
- package/lib/seam/connect/unstable/models/access-codes/unmanaged-access-code.d.ts +6 -6
- package/lib/seam/connect/unstable/models/acs/credential.d.ts +7 -7
- package/lib/seam/connect/unstable/models/acs/credential.js +3 -2
- package/lib/seam/connect/unstable/models/acs/credential.js.map +1 -1
- package/lib/seam/connect/unstable/models/acs/user.d.ts +18 -9
- package/lib/seam/connect/unstable/models/acs/user.js +2 -3
- package/lib/seam/connect/unstable/models/acs/user.js.map +1 -1
- package/lib/seam/connect/unstable/models/schedule.d.ts +21 -0
- package/lib/seam/connect/unstable/models/schedule.js +12 -0
- package/lib/seam/connect/unstable/models/schedule.js.map +1 -0
- package/lib/seam/devicedb/public-models/device-model-v1.d.ts +10 -0
- package/lib/seam/devicedb/public-models/manufacturer.d.ts +4 -0
- package/lib/seam/devicedb/public-models/manufacturer.js +2 -0
- package/lib/seam/devicedb/public-models/manufacturer.js.map +1 -1
- package/lib/seam/devicedb/route-specs.d.ts +42 -0
- package/lib/seam/devicedb/route-specs.js +8 -0
- package/lib/seam/devicedb/route-specs.js.map +1 -1
- package/lib/seam/devicedb/route-types.d.ts +6 -0
- package/package.json +1 -1
- package/src/lib/seam/connect/openapi.ts +120 -22
- package/src/lib/seam/connect/route-types.ts +121 -27
- package/src/lib/seam/connect/unstable/models/acs/credential.ts +3 -2
- package/src/lib/seam/connect/unstable/models/acs/user.ts +3 -3
- package/src/lib/seam/connect/unstable/models/schedule.ts +13 -0
- package/src/lib/seam/devicedb/public-models/manufacturer.ts +2 -0
- package/src/lib/seam/devicedb/route-specs.ts +8 -0
- package/src/lib/seam/devicedb/route-types.ts +30 -0
package/dist/connect.d.cts
CHANGED
|
@@ -266,6 +266,20 @@ declare const _default: {
|
|
|
266
266
|
};
|
|
267
267
|
acs_user: {
|
|
268
268
|
properties: {
|
|
269
|
+
access_schedule: {
|
|
270
|
+
properties: {
|
|
271
|
+
ends_at: {
|
|
272
|
+
format: string;
|
|
273
|
+
type: string;
|
|
274
|
+
};
|
|
275
|
+
starts_at: {
|
|
276
|
+
format: string;
|
|
277
|
+
type: string;
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
required: string[];
|
|
281
|
+
type: string;
|
|
282
|
+
};
|
|
269
283
|
acs_system_id: {
|
|
270
284
|
format: string;
|
|
271
285
|
type: string;
|
|
@@ -290,10 +304,6 @@ declare const _default: {
|
|
|
290
304
|
format: string;
|
|
291
305
|
type: string;
|
|
292
306
|
};
|
|
293
|
-
ends_at: {
|
|
294
|
-
format: string;
|
|
295
|
-
type: string;
|
|
296
|
-
};
|
|
297
307
|
external_type: {
|
|
298
308
|
enum: string[];
|
|
299
309
|
type: string;
|
|
@@ -311,17 +321,10 @@ declare const _default: {
|
|
|
311
321
|
is_suspended: {
|
|
312
322
|
type: string;
|
|
313
323
|
};
|
|
314
|
-
is_virtual: {
|
|
315
|
-
type: string;
|
|
316
|
-
};
|
|
317
324
|
phone_number: {
|
|
318
325
|
nullable: boolean;
|
|
319
326
|
type: string;
|
|
320
327
|
};
|
|
321
|
-
starts_at: {
|
|
322
|
-
format: string;
|
|
323
|
-
type: string;
|
|
324
|
-
};
|
|
325
328
|
workspace_id: {
|
|
326
329
|
format: string;
|
|
327
330
|
type: string;
|
|
@@ -5240,10 +5243,28 @@ declare const _default: {
|
|
|
5240
5243
|
format: string;
|
|
5241
5244
|
type: string;
|
|
5242
5245
|
};
|
|
5246
|
+
assa_abloy_credential_service_mobile_endpoint_id: {
|
|
5247
|
+
format: string;
|
|
5248
|
+
type: string;
|
|
5249
|
+
};
|
|
5250
|
+
card_format: {
|
|
5251
|
+
enum: string[];
|
|
5252
|
+
type: string;
|
|
5253
|
+
};
|
|
5243
5254
|
code: {
|
|
5244
5255
|
pattern: string;
|
|
5245
5256
|
type: string;
|
|
5246
5257
|
};
|
|
5258
|
+
external_type: {
|
|
5259
|
+
enum: string[];
|
|
5260
|
+
type: string;
|
|
5261
|
+
};
|
|
5262
|
+
is_multi_phone_sync_credential: {
|
|
5263
|
+
type: string;
|
|
5264
|
+
};
|
|
5265
|
+
is_override_key: {
|
|
5266
|
+
type: string;
|
|
5267
|
+
};
|
|
5247
5268
|
};
|
|
5248
5269
|
required: string[];
|
|
5249
5270
|
type: string;
|
|
@@ -6667,6 +6688,10 @@ declare const _default: {
|
|
|
6667
6688
|
nullable: boolean;
|
|
6668
6689
|
type: string;
|
|
6669
6690
|
};
|
|
6691
|
+
user_identity_id: {
|
|
6692
|
+
format: string;
|
|
6693
|
+
type: string;
|
|
6694
|
+
};
|
|
6670
6695
|
};
|
|
6671
6696
|
required: string[];
|
|
6672
6697
|
type: string;
|
|
@@ -12764,6 +12789,113 @@ declare const _default: {
|
|
|
12764
12789
|
'x-fern-sdk-method-name': string;
|
|
12765
12790
|
};
|
|
12766
12791
|
};
|
|
12792
|
+
'/user_identities/enrollment_automations/launch': {
|
|
12793
|
+
post: {
|
|
12794
|
+
operationId: string;
|
|
12795
|
+
requestBody: {
|
|
12796
|
+
content: {
|
|
12797
|
+
'application/json': {
|
|
12798
|
+
schema: {
|
|
12799
|
+
properties: {
|
|
12800
|
+
acs_credential_pool_id: {
|
|
12801
|
+
format: string;
|
|
12802
|
+
type: string;
|
|
12803
|
+
};
|
|
12804
|
+
create_credential_manager_user: {
|
|
12805
|
+
type: string;
|
|
12806
|
+
};
|
|
12807
|
+
credential_manager_acs_system_id: {
|
|
12808
|
+
format: string;
|
|
12809
|
+
type: string;
|
|
12810
|
+
};
|
|
12811
|
+
credential_manager_acs_user_id: {
|
|
12812
|
+
format: string;
|
|
12813
|
+
type: string;
|
|
12814
|
+
};
|
|
12815
|
+
user_identity_id: {
|
|
12816
|
+
format: string;
|
|
12817
|
+
type: string;
|
|
12818
|
+
};
|
|
12819
|
+
};
|
|
12820
|
+
required: string[];
|
|
12821
|
+
type: string;
|
|
12822
|
+
};
|
|
12823
|
+
};
|
|
12824
|
+
};
|
|
12825
|
+
};
|
|
12826
|
+
responses: {
|
|
12827
|
+
200: {
|
|
12828
|
+
content: {
|
|
12829
|
+
'application/json': {
|
|
12830
|
+
schema: {
|
|
12831
|
+
properties: {
|
|
12832
|
+
enrollment_automation: {
|
|
12833
|
+
properties: {
|
|
12834
|
+
acs_credential_provisioning_automation_id: {
|
|
12835
|
+
format: string;
|
|
12836
|
+
type: string;
|
|
12837
|
+
};
|
|
12838
|
+
created_at: {
|
|
12839
|
+
format: string;
|
|
12840
|
+
type: string;
|
|
12841
|
+
};
|
|
12842
|
+
credential_manager_acs_system_id: {
|
|
12843
|
+
format: string;
|
|
12844
|
+
type: string;
|
|
12845
|
+
};
|
|
12846
|
+
enrollment_automation_id: {
|
|
12847
|
+
format: string;
|
|
12848
|
+
type: string;
|
|
12849
|
+
};
|
|
12850
|
+
user_identity_id: {
|
|
12851
|
+
format: string;
|
|
12852
|
+
type: string;
|
|
12853
|
+
};
|
|
12854
|
+
workspace_id: {
|
|
12855
|
+
format: string;
|
|
12856
|
+
type: string;
|
|
12857
|
+
};
|
|
12858
|
+
};
|
|
12859
|
+
required: string[];
|
|
12860
|
+
type: string;
|
|
12861
|
+
};
|
|
12862
|
+
ok: {
|
|
12863
|
+
type: string;
|
|
12864
|
+
};
|
|
12865
|
+
};
|
|
12866
|
+
required: string[];
|
|
12867
|
+
type: string;
|
|
12868
|
+
};
|
|
12869
|
+
};
|
|
12870
|
+
};
|
|
12871
|
+
description: string;
|
|
12872
|
+
};
|
|
12873
|
+
400: {
|
|
12874
|
+
description: string;
|
|
12875
|
+
};
|
|
12876
|
+
401: {
|
|
12877
|
+
description: string;
|
|
12878
|
+
};
|
|
12879
|
+
};
|
|
12880
|
+
security: ({
|
|
12881
|
+
pat_with_workspace: never[];
|
|
12882
|
+
console_session?: never;
|
|
12883
|
+
api_key?: never;
|
|
12884
|
+
} | {
|
|
12885
|
+
console_session: never[];
|
|
12886
|
+
pat_with_workspace?: never;
|
|
12887
|
+
api_key?: never;
|
|
12888
|
+
} | {
|
|
12889
|
+
api_key: never[];
|
|
12890
|
+
pat_with_workspace?: never;
|
|
12891
|
+
console_session?: never;
|
|
12892
|
+
})[];
|
|
12893
|
+
summary: string;
|
|
12894
|
+
tags: never[];
|
|
12895
|
+
'x-fern-sdk-group-name': string[];
|
|
12896
|
+
'x-fern-sdk-method-name': string;
|
|
12897
|
+
};
|
|
12898
|
+
};
|
|
12767
12899
|
'/user_identities/get': {
|
|
12768
12900
|
post: {
|
|
12769
12901
|
operationId: string;
|
|
@@ -14905,9 +15037,10 @@ interface Routes {
|
|
|
14905
15037
|
external_type?: ('pti_user' | 'brivo_user' | 'hid_cm_user' | 'salto_site_user') | undefined;
|
|
14906
15038
|
external_type_display_name?: string | undefined;
|
|
14907
15039
|
is_suspended: boolean;
|
|
14908
|
-
|
|
14909
|
-
|
|
14910
|
-
|
|
15040
|
+
access_schedule?: {
|
|
15041
|
+
starts_at: string;
|
|
15042
|
+
ends_at: string;
|
|
15043
|
+
} | undefined;
|
|
14911
15044
|
full_name?: string | undefined;
|
|
14912
15045
|
/** Deprecated: use email_address. */
|
|
14913
15046
|
email?: string | undefined;
|
|
@@ -14991,8 +15124,8 @@ interface Routes {
|
|
|
14991
15124
|
display_name: string;
|
|
14992
15125
|
code?: (string | undefined) | null;
|
|
14993
15126
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
14994
|
-
external_type
|
|
14995
|
-
external_type_display_name
|
|
15127
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15128
|
+
external_type_display_name?: string | undefined;
|
|
14996
15129
|
created_at: string;
|
|
14997
15130
|
workspace_id: string;
|
|
14998
15131
|
};
|
|
@@ -15007,6 +15140,11 @@ interface Routes {
|
|
|
15007
15140
|
acs_user_id: string;
|
|
15008
15141
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
15009
15142
|
code?: string | undefined;
|
|
15143
|
+
is_multi_phone_sync_credential?: boolean | undefined;
|
|
15144
|
+
assa_abloy_credential_service_mobile_endpoint_id?: string | undefined;
|
|
15145
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15146
|
+
card_format?: ('TLCode' | 'rfid48') | undefined;
|
|
15147
|
+
is_override_key?: boolean | undefined;
|
|
15010
15148
|
};
|
|
15011
15149
|
formData: {};
|
|
15012
15150
|
jsonResponse: {
|
|
@@ -15018,8 +15156,8 @@ interface Routes {
|
|
|
15018
15156
|
display_name: string;
|
|
15019
15157
|
code?: (string | undefined) | null;
|
|
15020
15158
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
15021
|
-
external_type
|
|
15022
|
-
external_type_display_name
|
|
15159
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15160
|
+
external_type_display_name?: string | undefined;
|
|
15023
15161
|
created_at: string;
|
|
15024
15162
|
workspace_id: string;
|
|
15025
15163
|
};
|
|
@@ -15054,8 +15192,8 @@ interface Routes {
|
|
|
15054
15192
|
display_name: string;
|
|
15055
15193
|
code?: (string | undefined) | null;
|
|
15056
15194
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
15057
|
-
external_type
|
|
15058
|
-
external_type_display_name
|
|
15195
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15196
|
+
external_type_display_name?: string | undefined;
|
|
15059
15197
|
created_at: string;
|
|
15060
15198
|
workspace_id: string;
|
|
15061
15199
|
};
|
|
@@ -15084,8 +15222,8 @@ interface Routes {
|
|
|
15084
15222
|
display_name: string;
|
|
15085
15223
|
code?: (string | undefined) | null;
|
|
15086
15224
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
15087
|
-
external_type
|
|
15088
|
-
external_type_display_name
|
|
15225
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15226
|
+
external_type_display_name?: string | undefined;
|
|
15089
15227
|
created_at: string;
|
|
15090
15228
|
workspace_id: string;
|
|
15091
15229
|
}>;
|
|
@@ -15110,8 +15248,8 @@ interface Routes {
|
|
|
15110
15248
|
display_name: string;
|
|
15111
15249
|
code?: (string | undefined) | null;
|
|
15112
15250
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
15113
|
-
external_type
|
|
15114
|
-
external_type_display_name
|
|
15251
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15252
|
+
external_type_display_name?: string | undefined;
|
|
15115
15253
|
created_at: string;
|
|
15116
15254
|
workspace_id: string;
|
|
15117
15255
|
};
|
|
@@ -15136,8 +15274,8 @@ interface Routes {
|
|
|
15136
15274
|
display_name: string;
|
|
15137
15275
|
code?: (string | undefined) | null;
|
|
15138
15276
|
access_method: 'code' | 'card' | 'mobile_key';
|
|
15139
|
-
external_type
|
|
15140
|
-
external_type_display_name
|
|
15277
|
+
external_type?: ('pti_card' | 'brivo_credential' | 'hid_credential' | 'visionline_card') | undefined;
|
|
15278
|
+
external_type_display_name?: string | undefined;
|
|
15141
15279
|
created_at: string;
|
|
15142
15280
|
workspace_id: string;
|
|
15143
15281
|
};
|
|
@@ -15260,6 +15398,7 @@ interface Routes {
|
|
|
15260
15398
|
jsonBody: {
|
|
15261
15399
|
acs_system_id: string;
|
|
15262
15400
|
acs_access_group_ids?: string[];
|
|
15401
|
+
user_identity_id?: string | undefined;
|
|
15263
15402
|
access_schedule?: {
|
|
15264
15403
|
starts_at: string;
|
|
15265
15404
|
ends_at: string;
|
|
@@ -15283,9 +15422,10 @@ interface Routes {
|
|
|
15283
15422
|
external_type?: ('pti_user' | 'brivo_user' | 'hid_cm_user' | 'salto_site_user') | undefined;
|
|
15284
15423
|
external_type_display_name?: string | undefined;
|
|
15285
15424
|
is_suspended: boolean;
|
|
15286
|
-
|
|
15287
|
-
|
|
15288
|
-
|
|
15425
|
+
access_schedule?: {
|
|
15426
|
+
starts_at: string;
|
|
15427
|
+
ends_at: string;
|
|
15428
|
+
} | undefined;
|
|
15289
15429
|
full_name?: string | undefined;
|
|
15290
15430
|
/** Deprecated: use email_address. */
|
|
15291
15431
|
email?: string | undefined;
|
|
@@ -15325,9 +15465,10 @@ interface Routes {
|
|
|
15325
15465
|
external_type?: ('pti_user' | 'brivo_user' | 'hid_cm_user' | 'salto_site_user') | undefined;
|
|
15326
15466
|
external_type_display_name?: string | undefined;
|
|
15327
15467
|
is_suspended: boolean;
|
|
15328
|
-
|
|
15329
|
-
|
|
15330
|
-
|
|
15468
|
+
access_schedule?: {
|
|
15469
|
+
starts_at: string;
|
|
15470
|
+
ends_at: string;
|
|
15471
|
+
} | undefined;
|
|
15331
15472
|
full_name?: string | undefined;
|
|
15332
15473
|
/** Deprecated: use email_address. */
|
|
15333
15474
|
email?: string | undefined;
|
|
@@ -15356,9 +15497,10 @@ interface Routes {
|
|
|
15356
15497
|
external_type?: ('pti_user' | 'brivo_user' | 'hid_cm_user' | 'salto_site_user') | undefined;
|
|
15357
15498
|
external_type_display_name?: string | undefined;
|
|
15358
15499
|
is_suspended: boolean;
|
|
15359
|
-
|
|
15360
|
-
|
|
15361
|
-
|
|
15500
|
+
access_schedule?: {
|
|
15501
|
+
starts_at: string;
|
|
15502
|
+
ends_at: string;
|
|
15503
|
+
} | undefined;
|
|
15362
15504
|
full_name?: string | undefined;
|
|
15363
15505
|
/** Deprecated: use email_address. */
|
|
15364
15506
|
email?: string | undefined;
|
|
@@ -20385,6 +20527,30 @@ interface Routes {
|
|
|
20385
20527
|
};
|
|
20386
20528
|
};
|
|
20387
20529
|
};
|
|
20530
|
+
'/user_identities/enrollment_automations/launch': {
|
|
20531
|
+
route: '/user_identities/enrollment_automations/launch';
|
|
20532
|
+
method: 'POST';
|
|
20533
|
+
queryParams: {};
|
|
20534
|
+
jsonBody: {};
|
|
20535
|
+
commonParams: {
|
|
20536
|
+
user_identity_id: string;
|
|
20537
|
+
credential_manager_acs_system_id: string;
|
|
20538
|
+
acs_credential_pool_id?: string | undefined;
|
|
20539
|
+
create_credential_manager_user?: boolean | undefined;
|
|
20540
|
+
credential_manager_acs_user_id?: string | undefined;
|
|
20541
|
+
};
|
|
20542
|
+
formData: {};
|
|
20543
|
+
jsonResponse: {
|
|
20544
|
+
enrollment_automation: {
|
|
20545
|
+
acs_credential_provisioning_automation_id: string;
|
|
20546
|
+
credential_manager_acs_system_id: string;
|
|
20547
|
+
user_identity_id: string;
|
|
20548
|
+
created_at: string;
|
|
20549
|
+
workspace_id: string;
|
|
20550
|
+
enrollment_automation_id: string;
|
|
20551
|
+
};
|
|
20552
|
+
};
|
|
20553
|
+
};
|
|
20388
20554
|
'/user_identities/get': {
|
|
20389
20555
|
route: '/user_identities/get';
|
|
20390
20556
|
method: 'GET' | 'POST';
|
|
@@ -20914,9 +21080,10 @@ interface Routes {
|
|
|
20914
21080
|
external_type?: ('pti_user' | 'brivo_user' | 'hid_cm_user' | 'salto_site_user') | undefined;
|
|
20915
21081
|
external_type_display_name?: string | undefined;
|
|
20916
21082
|
is_suspended: boolean;
|
|
20917
|
-
|
|
20918
|
-
|
|
20919
|
-
|
|
21083
|
+
access_schedule?: {
|
|
21084
|
+
starts_at: string;
|
|
21085
|
+
ends_at: string;
|
|
21086
|
+
} | undefined;
|
|
20920
21087
|
full_name?: string | undefined;
|
|
20921
21088
|
/** Deprecated: use email_address. */
|
|
20922
21089
|
email?: string | undefined;
|
package/dist/devicedb.cjs
CHANGED
|
@@ -48,7 +48,9 @@ var manufacturer = zod.z.object({
|
|
|
48
48
|
manufacturer_id: zod.z.string().uuid(),
|
|
49
49
|
display_name: zod.z.string(),
|
|
50
50
|
logo: image_reference.optional(),
|
|
51
|
+
/** @deprecated */
|
|
51
52
|
integration: manufacturer_integration_support_level,
|
|
53
|
+
integration_support_level: manufacturer_integration_support_level,
|
|
52
54
|
is_connect_webview_supported: zod.z.boolean(),
|
|
53
55
|
requires_seam_support_to_add_account: zod.z.boolean(),
|
|
54
56
|
device_model_count: zod.z.number()
|
|
@@ -190,7 +192,9 @@ var routes = {
|
|
|
190
192
|
main_category: device_category.optional(),
|
|
191
193
|
manufacturer_id: zod.z.string().uuid().optional(),
|
|
192
194
|
manufacturer_ids: zod.z.string().uuid().array().optional(),
|
|
195
|
+
/** @deprecated */
|
|
193
196
|
integration_status: manufacturer.shape.integration.optional(),
|
|
197
|
+
integration_support_levels: zod.z.array(manufacturer_integration_support_level).optional(),
|
|
194
198
|
text_search: zod.z.string().optional(),
|
|
195
199
|
include_if: zod.z.array(dot_path).optional(),
|
|
196
200
|
exclude_if: zod.z.array(dot_path).optional()
|
|
@@ -213,7 +217,9 @@ var routes = {
|
|
|
213
217
|
auth: "publishable_key",
|
|
214
218
|
methods: ["GET", "OPTIONS"],
|
|
215
219
|
queryParams: zod.z.object({
|
|
220
|
+
/** @deprecated */
|
|
216
221
|
integration_status: manufacturer.shape.integration.optional(),
|
|
222
|
+
integration_support_levels: zod.z.array(manufacturer_integration_support_level).optional(),
|
|
217
223
|
liqe_query: zod.z.string().optional()
|
|
218
224
|
}),
|
|
219
225
|
jsonResponse: zod.z.object({
|
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,EAC/B,aAAa;AAAA,EACb,8BAA8BA,GAAE,QAAQ;AAAA,EACxC,sCAAsCA,GAAE,QAAQ;AAAA,EAChD,oBAAoBA,GAAE,OAAO;AAC/B,CAAC;;;AFnBM,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,MACrD,oBAA4B,aAAa,MAAM,YAAY,SAAS;AAAA,MACpE,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,MACpB,oBAA4B,aAAa,MAAM,YAAY,SAAS;AAAA,MACpE,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 integration: 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 integration_status: schemas.manufacturer.shape.integration.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 integration_status: schemas.manufacturer.shape.integration.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":";;;;;;;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"]}
|