@seamapi/types 1.928.0 → 1.929.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 (28) hide show
  1. package/dist/connect.cjs +185 -0
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +1453 -209
  4. package/dist/index.cjs +185 -0
  5. package/dist/index.cjs.map +1 -1
  6. package/lib/seam/connect/models/access-grants/access-grant.d.ts +4 -4
  7. package/lib/seam/connect/models/acs/acs-access-group.d.ts +4 -4
  8. package/lib/seam/connect/models/connected-accounts/connected-account.d.ts +2 -2
  9. package/lib/seam/connect/models/customer/customer-data.d.ts +12 -12
  10. package/lib/seam/connect/models/customer/location-resources.d.ts +8 -8
  11. package/lib/seam/connect/models/devices/capability-properties/access-code.d.ts +201 -0
  12. package/lib/seam/connect/models/devices/capability-properties/access-code.js +58 -0
  13. package/lib/seam/connect/models/devices/capability-properties/access-code.js.map +1 -1
  14. package/lib/seam/connect/models/devices/capability-properties/index.d.ts +165 -13
  15. package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +12 -12
  16. package/lib/seam/connect/models/devices/device-metadata.d.ts +20 -20
  17. package/lib/seam/connect/models/devices/device.d.ts +248 -40
  18. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +180 -28
  19. package/lib/seam/connect/models/spaces/space.d.ts +4 -4
  20. package/lib/seam/connect/models/thermostats/climate-preset.d.ts +4 -4
  21. package/lib/seam/connect/openapi.js +136 -0
  22. package/lib/seam/connect/openapi.js.map +1 -1
  23. package/lib/seam/connect/route-types.d.ts +884 -0
  24. package/package.json +1 -1
  25. package/src/lib/seam/connect/models/devices/capability-properties/access-code.ts +86 -0
  26. package/src/lib/seam/connect/models/devices/capability-properties/index.ts +1 -1
  27. package/src/lib/seam/connect/openapi.ts +164 -0
  28. package/src/lib/seam/connect/route-types.ts +1122 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.928.0",
3
+ "version": "1.929.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -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'
@@ -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' },