@seamapi/types 1.928.0 → 1.930.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 (33) hide show
  1. package/dist/connect.cjs +194 -9
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +1348 -104
  4. package/dist/index.cjs +194 -9
  5. package/dist/index.cjs.map +1 -1
  6. package/lib/seam/connect/models/access-codes/managed-access-code.d.ts +16 -16
  7. package/lib/seam/connect/models/access-codes/managed-access-code.js +5 -5
  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 +5 -5
  10. package/lib/seam/connect/models/access-grants/access-grant.d.ts +4 -4
  11. package/lib/seam/connect/models/acs/acs-access-group.d.ts +4 -4
  12. package/lib/seam/connect/models/connected-accounts/connected-account.d.ts +2 -2
  13. package/lib/seam/connect/models/customer/customer-data.d.ts +12 -12
  14. package/lib/seam/connect/models/customer/location-resources.d.ts +8 -8
  15. package/lib/seam/connect/models/devices/capability-properties/access-code.d.ts +201 -0
  16. package/lib/seam/connect/models/devices/capability-properties/access-code.js +58 -0
  17. package/lib/seam/connect/models/devices/capability-properties/access-code.js.map +1 -1
  18. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +165 -13
  19. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +12 -12
  20. package/lib/seam/connect/models/devices/device-metadata.d.ts +20 -20
  21. package/lib/seam/connect/models/devices/device.d.ts +248 -40
  22. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +180 -28
  23. package/lib/seam/connect/models/spaces/space.d.ts +4 -4
  24. package/lib/seam/connect/models/thermostats/climate-preset.d.ts +4 -4
  25. package/lib/seam/connect/openapi.js +140 -4
  26. package/lib/seam/connect/openapi.js.map +1 -1
  27. package/lib/seam/connect/route-types.d.ts +895 -11
  28. package/package.json +1 -1
  29. package/src/lib/seam/connect/models/access-codes/managed-access-code.ts +5 -5
  30. package/src/lib/seam/connect/models/devices/capability-properties/access-code.ts +86 -0
  31. package/src/lib/seam/connect/models/devices/capability-properties/index.ts +1 -1
  32. package/src/lib/seam/connect/openapi.ts +168 -4
  33. package/src/lib/seam/connect/route-types.ts +1133 -11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.928.0",
3
+ "version": "1.930.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -268,14 +268,14 @@ const code_modified_external_to_seam_warning = common_access_code_warning
268
268
  'Code was modified or removed externally after Seam successfully set it on the device.',
269
269
  )
270
270
 
271
- const provider_issue_warning = common_access_code_warning
271
+ const code_rotates_periodically = common_access_code_warning
272
272
  .extend({
273
273
  warning_code: z
274
- .literal('provider_issue')
274
+ .literal('code_rotates_periodically')
275
275
  .describe(warning_code_description),
276
276
  })
277
277
  .describe(
278
- 'Indicates a provider-specific issue that may affect the access code. Check the warning message for details.',
278
+ "The access code's PIN rotates periodically when the code is renewed. Retrieve the latest code before each use.",
279
279
  )
280
280
 
281
281
  const schlage_access_code_ambiguous_timezone_dst_risk =
@@ -349,7 +349,7 @@ const being_deleted = common_access_code_warning
349
349
 
350
350
  const access_code_warning = z
351
351
  .discriminatedUnion('warning_code', [
352
- provider_issue_warning,
352
+ code_rotates_periodically,
353
353
  schlage_access_code_ambiguous_timezone_dst_risk,
354
354
  code_modified_external_to_seam_warning,
355
355
  delay_in_setting_on_device,
@@ -367,7 +367,7 @@ const access_code_warning = z
367
367
  export type AccessCodeWarning = z.infer<typeof access_code_warning>
368
368
 
369
369
  const _access_code_warning_map = z.object({
370
- provider_issue: provider_issue_warning.optional().nullable(),
370
+ code_rotates_periodically: code_rotates_periodically.optional().nullable(),
371
371
  schlage_access_code_ambiguous_timezone_dst_risk:
372
372
  schlage_access_code_ambiguous_timezone_dst_risk.optional().nullable(),
373
373
  code_modified_external_to_seam_warning: code_modified_external_to_seam_warning
@@ -41,6 +41,82 @@ export const access_code_constraint = z
41
41
 
42
42
  export type AccessCodeConstraint = z.infer<typeof access_code_constraint>
43
43
 
44
+ const time_frame_option_time_pair = z
45
+ .object({
46
+ display_name: z
47
+ .string()
48
+ .describe('Label for the check-in/check-out time pairing.'),
49
+ check_in_time: z
50
+ .string()
51
+ .describe(
52
+ "Check-in time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`.",
53
+ ),
54
+ check_out_time: z
55
+ .string()
56
+ .describe(
57
+ "Check-out time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`. A `check_out_time` earlier on the clock than `check_in_time` means check-out falls on a later date.",
58
+ ),
59
+ })
60
+ .describe(
61
+ 'Fixed check-in/check-out time pairing. The caller picks one whole pairing; the two times cannot be mixed across pairs.',
62
+ )
63
+
64
+ export const time_frame_option = z
65
+ .object({
66
+ display_name: z
67
+ .string()
68
+ .describe(
69
+ 'Label for this option. For a single-option device, the product name (for example, `algoPIN` or `SmartPIN`); for a multi-option device, a label that distinguishes it (for example, `Hourly` or `Fixed check-in times`).',
70
+ ),
71
+ min_duration: z
72
+ .string()
73
+ .optional()
74
+ .describe(
75
+ 'Minimum duration this option covers, as an ISO 8601 duration (for example, `PT1H` or `P29D`). Omitted when there is no minimum.',
76
+ ),
77
+ max_duration: z
78
+ .string()
79
+ .optional()
80
+ .describe(
81
+ 'Maximum duration this option covers, as an ISO 8601 duration (for example, `PT672H` or `P367D`). Omitted when there is no maximum.',
82
+ ),
83
+ matching_start_end_time: z
84
+ .literal(true)
85
+ .optional()
86
+ .describe(
87
+ 'When `true`, the check-in and check-out must fall at the same time of day (the caller picks which). Mutually exclusive with `time_pairs`.',
88
+ ),
89
+ time_pairs: z
90
+ .array(time_frame_option_time_pair)
91
+ .optional()
92
+ .describe(
93
+ 'Fixed check-in/check-out time pairings the caller chooses from. Mutually exclusive with `matching_start_end_time`.',
94
+ ),
95
+ start_date_recurrence_rule: z
96
+ .string()
97
+ .optional()
98
+ .describe(
99
+ 'iCalendar recurrence rule (RRULE) that the check-in date must fall on (for example, `FREQ=MONTHLY;BYDAY=1MO,3MO`). Constrains which calendar dates are selectable, independent of the time-of-day rules.',
100
+ ),
101
+ end_date_recurrence_rule: z
102
+ .string()
103
+ .optional()
104
+ .describe(
105
+ 'iCalendar recurrence rule (RRULE) that the check-out date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.',
106
+ ),
107
+ time_zone: z
108
+ .string()
109
+ .optional()
110
+ .describe(
111
+ 'IANA time zone for interpreting `time_pairs` and the date recurrence rules. Present only when the option fixes times or dates.',
112
+ ),
113
+ })
114
+ .describe(
115
+ 'One way to make a code: a duration band plus the time-of-day and date rules that apply within it. Absence of a rule means unrestricted on that axis.',
116
+ )
117
+
118
+ export type TimeFrameOption = z.infer<typeof time_frame_option>
119
+
44
120
  export const access_code_capability_properties = z.object({
45
121
  _experimental_supported_code_from_access_codes_lengths: z
46
122
  .array(z.number())
@@ -59,6 +135,16 @@ export const access_code_capability_properties = z.object({
59
135
  property_group_key: access_codes
60
136
  ---
61
137
  Supported code lengths for access codes.`),
138
+ offline_time_frame_options: z.array(time_frame_option).optional().describe(`
139
+ ---
140
+ property_group_key: access_codes
141
+ ---
142
+ Time frames that may be requested when creating an offline access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by \`display_name\` when they do) and satisfies that one option's rules. When \`undefined\`, any time frame works.`),
143
+ online_time_frame_options: z.array(time_frame_option).optional().describe(`
144
+ ---
145
+ property_group_key: access_codes
146
+ ---
147
+ Time frames that may be requested when creating an online access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by \`display_name\` when they do) and satisfies that one option's rules. When \`undefined\`, any time frame works.`),
62
148
  max_active_codes_supported: z.number().optional().describe(`
63
149
  ---
64
150
  property_group_key: access_codes
@@ -22,4 +22,4 @@ export const capability_properties = z.intersection(
22
22
  thermostat_capability_properties,
23
23
  )
24
24
 
25
- export type { AccessCodeConstraint } from './access-code.js'
25
+ export type { AccessCodeConstraint, TimeFrameOption } from './access-code.js'
@@ -1482,7 +1482,7 @@ const openapi: OpenAPISpec = {
1482
1482
  oneOf: [
1483
1483
  {
1484
1484
  description:
1485
- 'Indicates a provider-specific issue that may affect the access code. Check the warning message for details.',
1485
+ "The access code's PIN rotates periodically when the code is renewed. Retrieve the latest code before each use.",
1486
1486
  properties: {
1487
1487
  created_at: {
1488
1488
  description:
@@ -1498,7 +1498,7 @@ const openapi: OpenAPISpec = {
1498
1498
  warning_code: {
1499
1499
  description:
1500
1500
  'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.',
1501
- enum: ['provider_issue'],
1501
+ enum: ['code_rotates_periodically'],
1502
1502
  type: 'string',
1503
1503
  },
1504
1504
  },
@@ -15507,6 +15507,170 @@ const openapi: OpenAPISpec = {
15507
15507
  type: 'number',
15508
15508
  'x-property-group-key': 'access_codes',
15509
15509
  },
15510
+ offline_time_frame_options: {
15511
+ description:
15512
+ "Time frames that may be requested when creating an offline access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by `display_name` when they do) and satisfies that one option's rules. When `undefined`, any time frame works.",
15513
+ items: {
15514
+ description:
15515
+ 'One way to make a code: a duration band plus the time-of-day and date rules that apply within it. Absence of a rule means unrestricted on that axis.',
15516
+ properties: {
15517
+ display_name: {
15518
+ description:
15519
+ 'Label for this option. For a single-option device, the product name (for example, `algoPIN` or `SmartPIN`); for a multi-option device, a label that distinguishes it (for example, `Hourly` or `Fixed check-in times`).',
15520
+ type: 'string',
15521
+ },
15522
+ end_date_recurrence_rule: {
15523
+ description:
15524
+ 'iCalendar recurrence rule (RRULE) that the check-out date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.',
15525
+ type: 'string',
15526
+ },
15527
+ matching_start_end_time: {
15528
+ description:
15529
+ 'When `true`, the check-in and check-out must fall at the same time of day (the caller picks which). Mutually exclusive with `time_pairs`.',
15530
+ enum: [true],
15531
+ type: 'boolean',
15532
+ },
15533
+ max_duration: {
15534
+ description:
15535
+ 'Maximum duration this option covers, as an ISO 8601 duration (for example, `PT672H` or `P367D`). Omitted when there is no maximum.',
15536
+ type: 'string',
15537
+ },
15538
+ min_duration: {
15539
+ description:
15540
+ 'Minimum duration this option covers, as an ISO 8601 duration (for example, `PT1H` or `P29D`). Omitted when there is no minimum.',
15541
+ type: 'string',
15542
+ },
15543
+ start_date_recurrence_rule: {
15544
+ description:
15545
+ 'iCalendar recurrence rule (RRULE) that the check-in date must fall on (for example, `FREQ=MONTHLY;BYDAY=1MO,3MO`). Constrains which calendar dates are selectable, independent of the time-of-day rules.',
15546
+ type: 'string',
15547
+ },
15548
+ time_pairs: {
15549
+ description:
15550
+ 'Fixed check-in/check-out time pairings the caller chooses from. Mutually exclusive with `matching_start_end_time`.',
15551
+ items: {
15552
+ description:
15553
+ 'Fixed check-in/check-out time pairing. The caller picks one whole pairing; the two times cannot be mixed across pairs.',
15554
+ properties: {
15555
+ check_in_time: {
15556
+ description:
15557
+ "Check-in time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`.",
15558
+ type: 'string',
15559
+ },
15560
+ check_out_time: {
15561
+ description:
15562
+ "Check-out time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`. A `check_out_time` earlier on the clock than `check_in_time` means check-out falls on a later date.",
15563
+ type: 'string',
15564
+ },
15565
+ display_name: {
15566
+ description:
15567
+ 'Label for the check-in/check-out time pairing.',
15568
+ type: 'string',
15569
+ },
15570
+ },
15571
+ required: [
15572
+ 'display_name',
15573
+ 'check_in_time',
15574
+ 'check_out_time',
15575
+ ],
15576
+ type: 'object',
15577
+ },
15578
+ type: 'array',
15579
+ },
15580
+ time_zone: {
15581
+ description:
15582
+ 'IANA time zone for interpreting `time_pairs` and the date recurrence rules. Present only when the option fixes times or dates.',
15583
+ type: 'string',
15584
+ },
15585
+ },
15586
+ required: ['display_name'],
15587
+ type: 'object',
15588
+ },
15589
+ type: 'array',
15590
+ 'x-property-group-key': 'access_codes',
15591
+ },
15592
+ online_time_frame_options: {
15593
+ description:
15594
+ "Time frames that may be requested when creating an online access code, expressed as a list of options. The caller picks one option (by matching the requested duration when the options' duration ranges do not overlap, or by `display_name` when they do) and satisfies that one option's rules. When `undefined`, any time frame works.",
15595
+ items: {
15596
+ description:
15597
+ 'One way to make a code: a duration band plus the time-of-day and date rules that apply within it. Absence of a rule means unrestricted on that axis.',
15598
+ properties: {
15599
+ display_name: {
15600
+ description:
15601
+ 'Label for this option. For a single-option device, the product name (for example, `algoPIN` or `SmartPIN`); for a multi-option device, a label that distinguishes it (for example, `Hourly` or `Fixed check-in times`).',
15602
+ type: 'string',
15603
+ },
15604
+ end_date_recurrence_rule: {
15605
+ description:
15606
+ 'iCalendar recurrence rule (RRULE) that the check-out date must fall on. Constrains which calendar dates are selectable, independent of the time-of-day rules.',
15607
+ type: 'string',
15608
+ },
15609
+ matching_start_end_time: {
15610
+ description:
15611
+ 'When `true`, the check-in and check-out must fall at the same time of day (the caller picks which). Mutually exclusive with `time_pairs`.',
15612
+ enum: [true],
15613
+ type: 'boolean',
15614
+ },
15615
+ max_duration: {
15616
+ description:
15617
+ 'Maximum duration this option covers, as an ISO 8601 duration (for example, `PT672H` or `P367D`). Omitted when there is no maximum.',
15618
+ type: 'string',
15619
+ },
15620
+ min_duration: {
15621
+ description:
15622
+ 'Minimum duration this option covers, as an ISO 8601 duration (for example, `PT1H` or `P29D`). Omitted when there is no minimum.',
15623
+ type: 'string',
15624
+ },
15625
+ start_date_recurrence_rule: {
15626
+ description:
15627
+ 'iCalendar recurrence rule (RRULE) that the check-in date must fall on (for example, `FREQ=MONTHLY;BYDAY=1MO,3MO`). Constrains which calendar dates are selectable, independent of the time-of-day rules.',
15628
+ type: 'string',
15629
+ },
15630
+ time_pairs: {
15631
+ description:
15632
+ 'Fixed check-in/check-out time pairings the caller chooses from. Mutually exclusive with `matching_start_end_time`.',
15633
+ items: {
15634
+ description:
15635
+ 'Fixed check-in/check-out time pairing. The caller picks one whole pairing; the two times cannot be mixed across pairs.',
15636
+ properties: {
15637
+ check_in_time: {
15638
+ description:
15639
+ "Check-in time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`.",
15640
+ type: 'string',
15641
+ },
15642
+ check_out_time: {
15643
+ description:
15644
+ "Check-out time of day as a 24-hour `HH:MM` value, interpreted in the option's `time_zone`. A `check_out_time` earlier on the clock than `check_in_time` means check-out falls on a later date.",
15645
+ type: 'string',
15646
+ },
15647
+ display_name: {
15648
+ description:
15649
+ 'Label for the check-in/check-out time pairing.',
15650
+ type: 'string',
15651
+ },
15652
+ },
15653
+ required: [
15654
+ 'display_name',
15655
+ 'check_in_time',
15656
+ 'check_out_time',
15657
+ ],
15658
+ type: 'object',
15659
+ },
15660
+ type: 'array',
15661
+ },
15662
+ time_zone: {
15663
+ description:
15664
+ 'IANA time zone for interpreting `time_pairs` and the date recurrence rules. Present only when the option fixes times or dates.',
15665
+ type: 'string',
15666
+ },
15667
+ },
15668
+ required: ['display_name'],
15669
+ type: 'object',
15670
+ },
15671
+ type: 'array',
15672
+ 'x-property-group-key': 'access_codes',
15673
+ },
15510
15674
  supported_code_lengths: {
15511
15675
  description: 'Supported code lengths for access codes.',
15512
15676
  items: { format: 'float', type: 'number' },
@@ -29841,7 +30005,7 @@ const openapi: OpenAPISpec = {
29841
30005
  oneOf: [
29842
30006
  {
29843
30007
  description:
29844
- 'Indicates a provider-specific issue that may affect the access code. Check the warning message for details.',
30008
+ "The access code's PIN rotates periodically when the code is renewed. Retrieve the latest code before each use.",
29845
30009
  properties: {
29846
30010
  created_at: {
29847
30011
  description:
@@ -29857,7 +30021,7 @@ const openapi: OpenAPISpec = {
29857
30021
  warning_code: {
29858
30022
  description:
29859
30023
  'Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.',
29860
- enum: ['provider_issue'],
30024
+ enum: ['code_rotates_periodically'],
29861
30025
  type: 'string',
29862
30026
  },
29863
30027
  },