@seamapi/types 1.196.1 → 1.198.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.
Files changed (55) hide show
  1. package/dist/connect.cjs +1721 -1502
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +1870 -1101
  4. package/dist/devicedb.d.cts +40 -40
  5. package/lib/seam/connect/model-types.d.ts +1 -1
  6. package/lib/seam/connect/models/access-codes/managed-access-code.d.ts +113 -12
  7. package/lib/seam/connect/models/access-codes/managed-access-code.js +17 -2
  8. package/lib/seam/connect/models/access-codes/managed-access-code.js.map +1 -1
  9. package/lib/seam/connect/models/access-codes/unmanaged-access-code.d.ts +87 -12
  10. package/lib/seam/connect/models/acs/acs-access-group.d.ts +4 -4
  11. package/lib/seam/connect/models/acs/acs-credential-pool.d.ts +4 -4
  12. package/lib/seam/connect/models/acs/acs-credential.d.ts +4 -4
  13. package/lib/seam/connect/models/acs/acs-entrance.d.ts +10 -10
  14. package/lib/seam/connect/models/acs/acs-system.d.ts +29 -29
  15. package/lib/seam/connect/models/acs/acs-user.d.ts +6 -6
  16. package/lib/seam/connect/models/acs/metadata/latch.d.ts +4 -4
  17. package/lib/seam/connect/models/connect-webviews/connect-webview.d.ts +6 -6
  18. package/lib/seam/connect/models/connected-accounts/connected-account.d.ts +69 -8
  19. package/lib/seam/connect/models/connected-accounts/connected-account.js +15 -2
  20. package/lib/seam/connect/models/connected-accounts/connected-account.js.map +1 -1
  21. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +15 -15
  22. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +30 -30
  23. package/lib/seam/connect/models/devices/device-metadata.d.ts +8 -8
  24. package/lib/seam/connect/models/devices/device-provider.d.ts +2 -2
  25. package/lib/seam/connect/models/devices/device.d.ts +116 -65
  26. package/lib/seam/connect/models/devices/device.js +16 -8
  27. package/lib/seam/connect/models/devices/device.js.map +1 -1
  28. package/lib/seam/connect/models/devices/phone.d.ts +44 -19
  29. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +53 -28
  30. package/lib/seam/connect/models/events/access-codes.d.ts +306 -306
  31. package/lib/seam/connect/models/events/acs/common.d.ts +4 -4
  32. package/lib/seam/connect/models/events/acs/credentials.d.ts +12 -12
  33. package/lib/seam/connect/models/events/acs/index.d.ts +18 -18
  34. package/lib/seam/connect/models/events/acs/systems.d.ts +12 -12
  35. package/lib/seam/connect/models/events/acs/users.d.ts +12 -12
  36. package/lib/seam/connect/models/events/connected-accounts.d.ts +42 -42
  37. package/lib/seam/connect/models/events/devices.d.ts +316 -316
  38. package/lib/seam/connect/models/events/phones.d.ts +6 -6
  39. package/lib/seam/connect/models/events/seam-event.d.ts +353 -353
  40. package/lib/seam/connect/models/thermostats/climate-setting-schedule.d.ts +3 -3
  41. package/lib/seam/connect/models/user-identities/user-identity.d.ts +2 -2
  42. package/lib/seam/connect/openapi.d.ts +272 -26
  43. package/lib/seam/connect/openapi.js +211 -23
  44. package/lib/seam/connect/openapi.js.map +1 -1
  45. package/lib/seam/connect/route-types.d.ts +249 -36
  46. package/lib/seam/devicedb/models/device-model.d.ts +8 -8
  47. package/lib/seam/devicedb/models/manufacturer.d.ts +2 -2
  48. package/lib/seam/devicedb/route-specs.d.ts +30 -30
  49. package/package.json +1 -1
  50. package/src/lib/seam/connect/model-types.ts +6 -0
  51. package/src/lib/seam/connect/models/access-codes/managed-access-code.ts +26 -2
  52. package/src/lib/seam/connect/models/connected-accounts/connected-account.ts +23 -2
  53. package/src/lib/seam/connect/models/devices/device.ts +24 -12
  54. package/src/lib/seam/connect/openapi.ts +211 -23
  55. package/src/lib/seam/connect/route-types.ts +379 -92
@@ -58,8 +58,8 @@ export declare const manufacturer: z.ZodObject<{
58
58
  seam_api_guide: z.ZodOptional<z.ZodString>;
59
59
  description: z.ZodOptional<z.ZodString>;
60
60
  }, "strip", z.ZodTypeAny, {
61
- display_name: string;
62
61
  manufacturer_id: string;
62
+ display_name: string;
63
63
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
64
64
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
65
65
  is_connect_webview_supported: boolean;
@@ -86,8 +86,8 @@ export declare const manufacturer: z.ZodObject<{
86
86
  seam_api_guide?: string | undefined;
87
87
  description?: string | undefined;
88
88
  }, {
89
- display_name: string;
90
89
  manufacturer_id: string;
90
+ display_name: string;
91
91
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
92
92
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
93
93
  is_connect_webview_supported: boolean;
@@ -57,8 +57,8 @@ export declare const routes: {
57
57
  seam_api_guide: z.ZodOptional<z.ZodString>;
58
58
  description: z.ZodOptional<z.ZodString>;
59
59
  }, "device_model_count">, "strip", z.ZodTypeAny, {
60
- display_name: string;
61
60
  manufacturer_id: string;
61
+ display_name: string;
62
62
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
63
63
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
64
64
  is_connect_webview_supported: boolean;
@@ -84,8 +84,8 @@ export declare const routes: {
84
84
  us_customer_support_contact_url?: string | undefined;
85
85
  seam_api_guide?: string | undefined;
86
86
  }, {
87
- display_name: string;
88
87
  manufacturer_id: string;
88
+ display_name: string;
89
89
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
90
90
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
91
91
  is_connect_webview_supported: boolean;
@@ -214,8 +214,8 @@ export declare const routes: {
214
214
  display_name: string;
215
215
  device_model_id: string;
216
216
  manufacturer: {
217
- display_name: string;
218
217
  manufacturer_id: string;
218
+ display_name: string;
219
219
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
220
220
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
221
221
  is_connect_webview_supported: boolean;
@@ -274,8 +274,8 @@ export declare const routes: {
274
274
  display_name: string;
275
275
  device_model_id: string;
276
276
  manufacturer: {
277
- display_name: string;
278
277
  manufacturer_id: string;
278
+ display_name: string;
279
279
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
280
280
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
281
281
  is_connect_webview_supported: boolean;
@@ -575,8 +575,8 @@ export declare const routes: {
575
575
  display_name: string;
576
576
  device_model_id: string;
577
577
  manufacturer: {
578
- display_name: string;
579
578
  manufacturer_id: string;
579
+ display_name: string;
580
580
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
581
581
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
582
582
  is_connect_webview_supported: boolean;
@@ -652,8 +652,8 @@ export declare const routes: {
652
652
  display_name: string;
653
653
  device_model_id: string;
654
654
  manufacturer: {
655
- display_name: string;
656
655
  manufacturer_id: string;
656
+ display_name: string;
657
657
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
658
658
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
659
659
  is_connect_webview_supported: boolean;
@@ -720,8 +720,8 @@ export declare const routes: {
720
720
  display_name: string;
721
721
  device_model_id: string;
722
722
  manufacturer: {
723
- display_name: string;
724
723
  manufacturer_id: string;
724
+ display_name: string;
725
725
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
726
726
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
727
727
  is_connect_webview_supported: boolean;
@@ -794,8 +794,8 @@ export declare const routes: {
794
794
  display_name: string;
795
795
  device_model_id: string;
796
796
  manufacturer: {
797
- display_name: string;
798
797
  manufacturer_id: string;
798
+ display_name: string;
799
799
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
800
800
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
801
801
  is_connect_webview_supported: boolean;
@@ -856,8 +856,8 @@ export declare const routes: {
856
856
  display_name: string;
857
857
  device_model_id: string;
858
858
  manufacturer: {
859
- display_name: string;
860
859
  manufacturer_id: string;
860
+ display_name: string;
861
861
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
862
862
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
863
863
  is_connect_webview_supported: boolean;
@@ -930,8 +930,8 @@ export declare const routes: {
930
930
  display_name: string;
931
931
  device_model_id: string;
932
932
  manufacturer: {
933
- display_name: string;
934
933
  manufacturer_id: string;
934
+ display_name: string;
935
935
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
936
936
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
937
937
  is_connect_webview_supported: boolean;
@@ -994,8 +994,8 @@ export declare const routes: {
994
994
  display_name: string;
995
995
  device_model_id: string;
996
996
  manufacturer: {
997
- display_name: string;
998
997
  manufacturer_id: string;
998
+ display_name: string;
999
999
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1000
1000
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1001
1001
  is_connect_webview_supported: boolean;
@@ -1071,8 +1071,8 @@ export declare const routes: {
1071
1071
  display_name: string;
1072
1072
  device_model_id: string;
1073
1073
  manufacturer: {
1074
- display_name: string;
1075
1074
  manufacturer_id: string;
1075
+ display_name: string;
1076
1076
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1077
1077
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1078
1078
  is_connect_webview_supported: boolean;
@@ -1139,8 +1139,8 @@ export declare const routes: {
1139
1139
  display_name: string;
1140
1140
  device_model_id: string;
1141
1141
  manufacturer: {
1142
- display_name: string;
1143
1142
  manufacturer_id: string;
1143
+ display_name: string;
1144
1144
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1145
1145
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1146
1146
  is_connect_webview_supported: boolean;
@@ -1213,8 +1213,8 @@ export declare const routes: {
1213
1213
  display_name: string;
1214
1214
  device_model_id: string;
1215
1215
  manufacturer: {
1216
- display_name: string;
1217
1216
  manufacturer_id: string;
1217
+ display_name: string;
1218
1218
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1219
1219
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1220
1220
  is_connect_webview_supported: boolean;
@@ -1275,8 +1275,8 @@ export declare const routes: {
1275
1275
  display_name: string;
1276
1276
  device_model_id: string;
1277
1277
  manufacturer: {
1278
- display_name: string;
1279
1278
  manufacturer_id: string;
1279
+ display_name: string;
1280
1280
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1281
1281
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1282
1282
  is_connect_webview_supported: boolean;
@@ -1349,8 +1349,8 @@ export declare const routes: {
1349
1349
  display_name: string;
1350
1350
  device_model_id: string;
1351
1351
  manufacturer: {
1352
- display_name: string;
1353
1352
  manufacturer_id: string;
1353
+ display_name: string;
1354
1354
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1355
1355
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1356
1356
  is_connect_webview_supported: boolean;
@@ -1488,8 +1488,8 @@ export declare const routes: {
1488
1488
  seam_api_guide: z.ZodOptional<z.ZodString>;
1489
1489
  description: z.ZodOptional<z.ZodString>;
1490
1490
  }, "device_model_count">, "strip", z.ZodTypeAny, {
1491
- display_name: string;
1492
1491
  manufacturer_id: string;
1492
+ display_name: string;
1493
1493
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1494
1494
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1495
1495
  is_connect_webview_supported: boolean;
@@ -1515,8 +1515,8 @@ export declare const routes: {
1515
1515
  us_customer_support_contact_url?: string | undefined;
1516
1516
  seam_api_guide?: string | undefined;
1517
1517
  }, {
1518
- display_name: string;
1519
1518
  manufacturer_id: string;
1519
+ display_name: string;
1520
1520
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1521
1521
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1522
1522
  is_connect_webview_supported: boolean;
@@ -1645,8 +1645,8 @@ export declare const routes: {
1645
1645
  display_name: string;
1646
1646
  device_model_id: string;
1647
1647
  manufacturer: {
1648
- display_name: string;
1649
1648
  manufacturer_id: string;
1649
+ display_name: string;
1650
1650
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1651
1651
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1652
1652
  is_connect_webview_supported: boolean;
@@ -1705,8 +1705,8 @@ export declare const routes: {
1705
1705
  display_name: string;
1706
1706
  device_model_id: string;
1707
1707
  manufacturer: {
1708
- display_name: string;
1709
1708
  manufacturer_id: string;
1709
+ display_name: string;
1710
1710
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1711
1711
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
1712
1712
  is_connect_webview_supported: boolean;
@@ -2006,8 +2006,8 @@ export declare const routes: {
2006
2006
  display_name: string;
2007
2007
  device_model_id: string;
2008
2008
  manufacturer: {
2009
- display_name: string;
2010
2009
  manufacturer_id: string;
2010
+ display_name: string;
2011
2011
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2012
2012
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2013
2013
  is_connect_webview_supported: boolean;
@@ -2125,8 +2125,8 @@ export declare const routes: {
2125
2125
  display_name: string;
2126
2126
  device_model_id: string;
2127
2127
  manufacturer: {
2128
- display_name: string;
2129
2128
  manufacturer_id: string;
2129
+ display_name: string;
2130
2130
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2131
2131
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2132
2132
  is_connect_webview_supported: boolean;
@@ -2295,8 +2295,8 @@ export declare const routes: {
2295
2295
  seam_api_guide: z.ZodOptional<z.ZodString>;
2296
2296
  description: z.ZodOptional<z.ZodString>;
2297
2297
  }, "strip", z.ZodTypeAny, {
2298
- display_name: string;
2299
2298
  manufacturer_id: string;
2299
+ display_name: string;
2300
2300
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2301
2301
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2302
2302
  is_connect_webview_supported: boolean;
@@ -2323,8 +2323,8 @@ export declare const routes: {
2323
2323
  seam_api_guide?: string | undefined;
2324
2324
  description?: string | undefined;
2325
2325
  }, {
2326
- display_name: string;
2327
2326
  manufacturer_id: string;
2327
+ display_name: string;
2328
2328
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2329
2329
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2330
2330
  is_connect_webview_supported: boolean;
@@ -2353,8 +2353,8 @@ export declare const routes: {
2353
2353
  }>;
2354
2354
  }, "strip", z.ZodTypeAny, {
2355
2355
  manufacturer: {
2356
- display_name: string;
2357
2356
  manufacturer_id: string;
2357
+ display_name: string;
2358
2358
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2359
2359
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2360
2360
  is_connect_webview_supported: boolean;
@@ -2383,8 +2383,8 @@ export declare const routes: {
2383
2383
  };
2384
2384
  }, {
2385
2385
  manufacturer: {
2386
- display_name: string;
2387
2386
  manufacturer_id: string;
2387
+ display_name: string;
2388
2388
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2389
2389
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2390
2390
  is_connect_webview_supported: boolean;
@@ -2475,8 +2475,8 @@ export declare const routes: {
2475
2475
  seam_api_guide: z.ZodOptional<z.ZodString>;
2476
2476
  description: z.ZodOptional<z.ZodString>;
2477
2477
  }, "strip", z.ZodTypeAny, {
2478
- display_name: string;
2479
2478
  manufacturer_id: string;
2479
+ display_name: string;
2480
2480
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2481
2481
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2482
2482
  is_connect_webview_supported: boolean;
@@ -2503,8 +2503,8 @@ export declare const routes: {
2503
2503
  seam_api_guide?: string | undefined;
2504
2504
  description?: string | undefined;
2505
2505
  }, {
2506
- display_name: string;
2507
2506
  manufacturer_id: string;
2507
+ display_name: string;
2508
2508
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2509
2509
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2510
2510
  is_connect_webview_supported: boolean;
@@ -2533,8 +2533,8 @@ export declare const routes: {
2533
2533
  }>, "many">;
2534
2534
  }, "strip", z.ZodTypeAny, {
2535
2535
  manufacturers: {
2536
- display_name: string;
2537
2536
  manufacturer_id: string;
2537
+ display_name: string;
2538
2538
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2539
2539
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2540
2540
  is_connect_webview_supported: boolean;
@@ -2563,8 +2563,8 @@ export declare const routes: {
2563
2563
  }[];
2564
2564
  }, {
2565
2565
  manufacturers: {
2566
- display_name: string;
2567
2566
  manufacturer_id: string;
2567
+ display_name: string;
2568
2568
  integration: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2569
2569
  integration_support_level: "beta" | "stable" | "planned" | "unsupported" | "inquire";
2570
2570
  is_connect_webview_supported: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.196.1",
3
+ "version": "1.198.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -1,5 +1,7 @@
1
1
  export type {
2
2
  AccessCode,
3
+ AccessCodeError,
4
+ AccessCodeWarning,
3
5
  AcsAccessGroup,
4
6
  AcsCredential,
5
7
  AcsEntrance,
@@ -9,10 +11,14 @@ export type {
9
11
  ClientSession,
10
12
  ClimateSettingSchedule,
11
13
  ConnectedAccount,
14
+ ConnectedAccountError,
15
+ ConnectedAccountWarning,
12
16
  ConnectWebview,
13
17
  CustomMetadata,
14
18
  Device,
19
+ DeviceError,
15
20
  DeviceProvider,
21
+ DeviceWarning,
16
22
  NoiseThreshold,
17
23
  SeamEvent,
18
24
  SeamEventType,
@@ -1,5 +1,29 @@
1
1
  import { z } from 'zod'
2
2
 
3
+ import { connected_account_error } from '../connected-accounts/index.js'
4
+ import { device_error } from '../devices/index.js'
5
+
6
+ const common_access_code_error = z.object({
7
+ message: z.string(),
8
+ is_access_code_error: z.literal(true),
9
+ })
10
+
11
+ const common_access_code_warning = z.object({
12
+ message: z.string(),
13
+ })
14
+
15
+ const access_code_error = common_access_code_error.extend({
16
+ error_code: z.string(),
17
+ })
18
+
19
+ export type AccessCodeError = z.infer<typeof access_code_error>
20
+
21
+ const access_code_warning = common_access_code_warning.extend({
22
+ warning_code: z.string(),
23
+ })
24
+
25
+ export type AccessCodeWarning = z.infer<typeof access_code_warning>
26
+
3
27
  export const access_code = z.object({
4
28
  common_code_key: z
5
29
  .string()
@@ -51,12 +75,12 @@ export const access_code = z.object({
51
75
  .datetime()
52
76
  .describe('Date and time at which the access code was created.'),
53
77
  errors: z
54
- .any()
78
+ .array(z.union([access_code_error, device_error, connected_account_error]))
55
79
  .describe(
56
80
  'Collection of errors associated with the access code, structured in a dictionary format. A unique "error_code" keys each error. Each error entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the error. "created_at" is a date that indicates when the error was generated. This structure enables detailed tracking and timely response to critical issues.',
57
81
  ),
58
82
  warnings: z
59
- .any()
83
+ .array(access_code_warning)
60
84
  .describe(
61
85
  'Collection of warnings associated with the access code, structured in a dictionary format. A unique "warning_code" keys each warning. Each warning entry is an object containing two fields: "message" and "created_at." "message" is a string that describes the warning. "created_at" is a date that indicates when the warning was generated. This structure enables detailed tracking and timely response to potential issues that are not critical but that may require attention.',
62
86
  ),
@@ -2,6 +2,27 @@ import { z } from 'zod'
2
2
 
3
3
  import { custom_metadata } from '../custom-metadata.js'
4
4
 
5
+ const common_connected_account_error = z.object({
6
+ message: z.string(),
7
+ is_connected_account_error: z.literal(true),
8
+ })
9
+
10
+ const common_connected_account_warning = z.object({
11
+ message: z.string(),
12
+ })
13
+
14
+ export const connected_account_error = common_connected_account_error.extend({
15
+ error_code: z.string(),
16
+ })
17
+
18
+ export type ConnectedAccountError = z.infer<typeof connected_account_error>
19
+
20
+ const connected_account_warning = common_connected_account_warning.extend({
21
+ warning_code: z.string(),
22
+ })
23
+
24
+ export type ConnectedAccountWarning = z.infer<typeof connected_account_warning>
25
+
5
26
  export const connected_account = z.object({
6
27
  connected_account_id: z.string().uuid().optional(),
7
28
  created_at: z.string().datetime().optional(),
@@ -16,8 +37,8 @@ export const connected_account = z.object({
16
37
  .optional(),
17
38
  account_type: z.string().optional(),
18
39
  account_type_display_name: z.string(),
19
- errors: z.any(),
20
- warnings: z.any(),
40
+ errors: z.array(connected_account_error),
41
+ warnings: z.array(connected_account_warning),
21
42
  custom_metadata,
22
43
  automatically_manage_new_devices: z.boolean(),
23
44
  })
@@ -2,6 +2,7 @@ import { z } from 'zod'
2
2
 
3
3
  import { schemas as devicedb_schemas } from '@seamapi/types/devicedb'
4
4
 
5
+ import { connected_account_error } from '../connected-accounts/index.js'
5
6
  import { custom_metadata } from '../custom-metadata.js'
6
7
  import { capabilities } from './capabilities-supported.js'
7
8
  import { capability_properties } from './capability-properties/index.js'
@@ -20,6 +21,27 @@ export const battery_status = z.enum(['critical', 'low', 'good', 'full'])
20
21
 
21
22
  export type BatteryStatus = z.infer<typeof battery_status>
22
23
 
24
+ const common_device_error = z.object({
25
+ message: z.string(),
26
+ is_device_error: z.literal(true),
27
+ })
28
+
29
+ const common_device_warning = z.object({
30
+ message: z.string(),
31
+ })
32
+
33
+ export const device_error = common_device_error.extend({
34
+ error_code: z.string(),
35
+ })
36
+
37
+ export type DeviceError = z.infer<typeof device_error>
38
+
39
+ const device_warning = common_device_warning.extend({
40
+ warning_code: z.string(),
41
+ })
42
+
43
+ export type DeviceWarning = z.infer<typeof device_warning>
44
+
23
45
  export const common_device_properties = z.object({
24
46
  online: z.boolean().describe('Indicates whether the device is online.'),
25
47
  name: z.string().describe(`
@@ -215,22 +237,12 @@ export const device = z
215
237
  'Unique identifier for the Seam workspace associated with the device.',
216
238
  ),
217
239
  errors: z
218
- .array(
219
- z.object({
220
- error_code: z.string(),
221
- message: z.string(),
222
- }),
223
- )
240
+ .array(z.union([device_error, connected_account_error]))
224
241
  .describe(
225
242
  'Array of errors associated with the device. Each error object within the array contains two fields: "error_code" and "message." "error_code" is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.',
226
243
  ),
227
244
  warnings: z
228
- .array(
229
- z.object({
230
- warning_code: z.string(),
231
- message: z.string(),
232
- }),
233
- )
245
+ .array(device_warning)
234
246
  .describe(
235
247
  'Array of warnings associated with the device. Each warning object within the array contains two fields: "warning_code" and "message." "warning_code" is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. "message" provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.',
236
248
  ),