@seamapi/http 1.23.0 → 1.25.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 (182) hide show
  1. package/README.md +61 -0
  2. package/dist/connect.cjs +398 -170
  3. package/dist/connect.cjs.map +1 -1
  4. package/dist/connect.d.cts +78 -4
  5. package/dist/index.cjs +2 -2
  6. package/dist/index.cjs.map +1 -1
  7. package/lib/seam/connect/index.d.ts +2 -0
  8. package/lib/seam/connect/index.js +2 -0
  9. package/lib/seam/connect/index.js.map +1 -1
  10. package/lib/seam/connect/routes/access-codes-simulate.d.ts +2 -0
  11. package/lib/seam/connect/routes/access-codes-simulate.js +5 -1
  12. package/lib/seam/connect/routes/access-codes-simulate.js.map +1 -1
  13. package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +2 -0
  14. package/lib/seam/connect/routes/access-codes-unmanaged.js +9 -5
  15. package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
  16. package/lib/seam/connect/routes/access-codes.d.ts +2 -0
  17. package/lib/seam/connect/routes/access-codes.js +13 -9
  18. package/lib/seam/connect/routes/access-codes.js.map +1 -1
  19. package/lib/seam/connect/routes/acs-access-groups-unmanaged.d.ts +2 -0
  20. package/lib/seam/connect/routes/acs-access-groups-unmanaged.js +6 -2
  21. package/lib/seam/connect/routes/acs-access-groups-unmanaged.js.map +1 -1
  22. package/lib/seam/connect/routes/acs-access-groups.d.ts +2 -0
  23. package/lib/seam/connect/routes/acs-access-groups.js +10 -6
  24. package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
  25. package/lib/seam/connect/routes/acs-credential-pools.d.ts +2 -0
  26. package/lib/seam/connect/routes/acs-credential-pools.js +5 -1
  27. package/lib/seam/connect/routes/acs-credential-pools.js.map +1 -1
  28. package/lib/seam/connect/routes/acs-credential-provisioning-automations.d.ts +2 -0
  29. package/lib/seam/connect/routes/acs-credential-provisioning-automations.js +5 -1
  30. package/lib/seam/connect/routes/acs-credential-provisioning-automations.js.map +1 -1
  31. package/lib/seam/connect/routes/acs-credentials-unmanaged.d.ts +2 -0
  32. package/lib/seam/connect/routes/acs-credentials-unmanaged.js +6 -2
  33. package/lib/seam/connect/routes/acs-credentials-unmanaged.js.map +1 -1
  34. package/lib/seam/connect/routes/acs-credentials.d.ts +2 -0
  35. package/lib/seam/connect/routes/acs-credentials.js +13 -9
  36. package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
  37. package/lib/seam/connect/routes/acs-encoders-simulate.d.ts +2 -0
  38. package/lib/seam/connect/routes/acs-encoders-simulate.js +8 -4
  39. package/lib/seam/connect/routes/acs-encoders-simulate.js.map +1 -1
  40. package/lib/seam/connect/routes/acs-encoders.d.ts +2 -0
  41. package/lib/seam/connect/routes/acs-encoders.js +7 -3
  42. package/lib/seam/connect/routes/acs-encoders.js.map +1 -1
  43. package/lib/seam/connect/routes/acs-entrances.d.ts +2 -0
  44. package/lib/seam/connect/routes/acs-entrances.js +8 -4
  45. package/lib/seam/connect/routes/acs-entrances.js.map +1 -1
  46. package/lib/seam/connect/routes/acs-systems.d.ts +2 -0
  47. package/lib/seam/connect/routes/acs-systems.js +7 -3
  48. package/lib/seam/connect/routes/acs-systems.js.map +1 -1
  49. package/lib/seam/connect/routes/acs-users-unmanaged.d.ts +2 -0
  50. package/lib/seam/connect/routes/acs-users-unmanaged.js +6 -2
  51. package/lib/seam/connect/routes/acs-users-unmanaged.js.map +1 -1
  52. package/lib/seam/connect/routes/acs-users.d.ts +2 -0
  53. package/lib/seam/connect/routes/acs-users.js +15 -11
  54. package/lib/seam/connect/routes/acs-users.js.map +1 -1
  55. package/lib/seam/connect/routes/acs.d.ts +3 -0
  56. package/lib/seam/connect/routes/acs.js +4 -0
  57. package/lib/seam/connect/routes/acs.js.map +1 -1
  58. package/lib/seam/connect/routes/action-attempts.d.ts +2 -0
  59. package/lib/seam/connect/routes/action-attempts.js +6 -2
  60. package/lib/seam/connect/routes/action-attempts.js.map +1 -1
  61. package/lib/seam/connect/routes/bridges.d.ts +2 -0
  62. package/lib/seam/connect/routes/bridges.js +6 -2
  63. package/lib/seam/connect/routes/bridges.js.map +1 -1
  64. package/lib/seam/connect/routes/client-sessions.d.ts +2 -0
  65. package/lib/seam/connect/routes/client-sessions.js +11 -7
  66. package/lib/seam/connect/routes/client-sessions.js.map +1 -1
  67. package/lib/seam/connect/routes/connect-webviews.d.ts +2 -0
  68. package/lib/seam/connect/routes/connect-webviews.js +8 -4
  69. package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
  70. package/lib/seam/connect/routes/connected-accounts.d.ts +2 -0
  71. package/lib/seam/connect/routes/connected-accounts.js +8 -4
  72. package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
  73. package/lib/seam/connect/routes/devices-simulate.d.ts +2 -0
  74. package/lib/seam/connect/routes/devices-simulate.js +7 -3
  75. package/lib/seam/connect/routes/devices-simulate.js.map +1 -1
  76. package/lib/seam/connect/routes/devices-unmanaged.d.ts +2 -0
  77. package/lib/seam/connect/routes/devices-unmanaged.js +7 -3
  78. package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
  79. package/lib/seam/connect/routes/devices.d.ts +2 -0
  80. package/lib/seam/connect/routes/devices.js +9 -5
  81. package/lib/seam/connect/routes/devices.js.map +1 -1
  82. package/lib/seam/connect/routes/events.d.ts +2 -0
  83. package/lib/seam/connect/routes/events.js +6 -2
  84. package/lib/seam/connect/routes/events.js.map +1 -1
  85. package/lib/seam/connect/routes/locks.d.ts +2 -0
  86. package/lib/seam/connect/routes/locks.js +8 -4
  87. package/lib/seam/connect/routes/locks.js.map +1 -1
  88. package/lib/seam/connect/routes/networks.d.ts +2 -0
  89. package/lib/seam/connect/routes/networks.js +6 -2
  90. package/lib/seam/connect/routes/networks.js.map +1 -1
  91. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +2 -0
  92. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +9 -5
  93. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
  94. package/lib/seam/connect/routes/noise-sensors-simulate.d.ts +2 -0
  95. package/lib/seam/connect/routes/noise-sensors-simulate.js +5 -1
  96. package/lib/seam/connect/routes/noise-sensors-simulate.js.map +1 -1
  97. package/lib/seam/connect/routes/noise-sensors.d.ts +2 -0
  98. package/lib/seam/connect/routes/noise-sensors.js +5 -1
  99. package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
  100. package/lib/seam/connect/routes/phones-simulate.d.ts +2 -0
  101. package/lib/seam/connect/routes/phones-simulate.js +5 -1
  102. package/lib/seam/connect/routes/phones-simulate.js.map +1 -1
  103. package/lib/seam/connect/routes/phones.d.ts +6 -0
  104. package/lib/seam/connect/routes/phones.js +14 -2
  105. package/lib/seam/connect/routes/phones.js.map +1 -1
  106. package/lib/seam/connect/routes/thermostats-schedules.d.ts +2 -0
  107. package/lib/seam/connect/routes/thermostats-schedules.js +9 -5
  108. package/lib/seam/connect/routes/thermostats-schedules.js.map +1 -1
  109. package/lib/seam/connect/routes/thermostats-simulate.d.ts +2 -0
  110. package/lib/seam/connect/routes/thermostats-simulate.js +6 -2
  111. package/lib/seam/connect/routes/thermostats-simulate.js.map +1 -1
  112. package/lib/seam/connect/routes/thermostats.d.ts +2 -0
  113. package/lib/seam/connect/routes/thermostats.js +18 -14
  114. package/lib/seam/connect/routes/thermostats.js.map +1 -1
  115. package/lib/seam/connect/routes/user-identities-enrollment-automations.d.ts +2 -0
  116. package/lib/seam/connect/routes/user-identities-enrollment-automations.js +8 -4
  117. package/lib/seam/connect/routes/user-identities-enrollment-automations.js.map +1 -1
  118. package/lib/seam/connect/routes/user-identities.d.ts +2 -0
  119. package/lib/seam/connect/routes/user-identities.js +16 -12
  120. package/lib/seam/connect/routes/user-identities.js.map +1 -1
  121. package/lib/seam/connect/routes/webhooks.d.ts +2 -0
  122. package/lib/seam/connect/routes/webhooks.js +9 -5
  123. package/lib/seam/connect/routes/webhooks.js.map +1 -1
  124. package/lib/seam/connect/routes/workspaces.d.ts +2 -0
  125. package/lib/seam/connect/routes/workspaces.js +8 -4
  126. package/lib/seam/connect/routes/workspaces.js.map +1 -1
  127. package/lib/seam/connect/seam-http-request.d.ts +6 -3
  128. package/lib/seam/connect/seam-http-request.js +25 -14
  129. package/lib/seam/connect/seam-http-request.js.map +1 -1
  130. package/lib/seam/connect/seam-http.d.ts +3 -0
  131. package/lib/seam/connect/seam-http.js +4 -0
  132. package/lib/seam/connect/seam-http.js.map +1 -1
  133. package/lib/seam/connect/seam-paginator.d.ts +30 -0
  134. package/lib/seam/connect/seam-paginator.js +103 -0
  135. package/lib/seam/connect/seam-paginator.js.map +1 -0
  136. package/lib/version.d.ts +1 -1
  137. package/lib/version.js +1 -1
  138. package/package.json +4 -4
  139. package/src/lib/seam/connect/index.ts +2 -0
  140. package/src/lib/seam/connect/routes/access-codes-simulate.ts +8 -1
  141. package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +12 -5
  142. package/src/lib/seam/connect/routes/access-codes.ts +16 -9
  143. package/src/lib/seam/connect/routes/acs-access-groups-unmanaged.ts +9 -2
  144. package/src/lib/seam/connect/routes/acs-access-groups.ts +13 -6
  145. package/src/lib/seam/connect/routes/acs-credential-pools.ts +8 -1
  146. package/src/lib/seam/connect/routes/acs-credential-provisioning-automations.ts +8 -1
  147. package/src/lib/seam/connect/routes/acs-credentials-unmanaged.ts +9 -2
  148. package/src/lib/seam/connect/routes/acs-credentials.ts +16 -9
  149. package/src/lib/seam/connect/routes/acs-encoders-simulate.ts +11 -4
  150. package/src/lib/seam/connect/routes/acs-encoders.ts +10 -3
  151. package/src/lib/seam/connect/routes/acs-entrances.ts +11 -4
  152. package/src/lib/seam/connect/routes/acs-systems.ts +10 -3
  153. package/src/lib/seam/connect/routes/acs-users-unmanaged.ts +9 -2
  154. package/src/lib/seam/connect/routes/acs-users.ts +18 -11
  155. package/src/lib/seam/connect/routes/acs.ts +8 -0
  156. package/src/lib/seam/connect/routes/action-attempts.ts +9 -2
  157. package/src/lib/seam/connect/routes/bridges.ts +9 -2
  158. package/src/lib/seam/connect/routes/client-sessions.ts +14 -7
  159. package/src/lib/seam/connect/routes/connect-webviews.ts +11 -4
  160. package/src/lib/seam/connect/routes/connected-accounts.ts +11 -4
  161. package/src/lib/seam/connect/routes/devices-simulate.ts +10 -3
  162. package/src/lib/seam/connect/routes/devices-unmanaged.ts +10 -3
  163. package/src/lib/seam/connect/routes/devices.ts +12 -5
  164. package/src/lib/seam/connect/routes/events.ts +9 -2
  165. package/src/lib/seam/connect/routes/locks.ts +11 -4
  166. package/src/lib/seam/connect/routes/networks.ts +9 -2
  167. package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +12 -5
  168. package/src/lib/seam/connect/routes/noise-sensors-simulate.ts +8 -1
  169. package/src/lib/seam/connect/routes/noise-sensors.ts +8 -1
  170. package/src/lib/seam/connect/routes/phones-simulate.ts +8 -1
  171. package/src/lib/seam/connect/routes/phones.ts +26 -2
  172. package/src/lib/seam/connect/routes/thermostats-schedules.ts +12 -5
  173. package/src/lib/seam/connect/routes/thermostats-simulate.ts +9 -2
  174. package/src/lib/seam/connect/routes/thermostats.ts +21 -14
  175. package/src/lib/seam/connect/routes/user-identities-enrollment-automations.ts +11 -4
  176. package/src/lib/seam/connect/routes/user-identities.ts +19 -12
  177. package/src/lib/seam/connect/routes/webhooks.ts +12 -5
  178. package/src/lib/seam/connect/routes/workspaces.ts +11 -4
  179. package/src/lib/seam/connect/seam-http-request.ts +45 -23
  180. package/src/lib/seam/connect/seam-http.ts +8 -0
  181. package/src/lib/seam/connect/seam-paginator.ts +155 -0
  182. package/src/lib/version.ts +1 -1
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpAcsUsersUnmanaged } from './acs-users-unmanaged.js'
@@ -136,6 +137,12 @@ export class SeamHttpAcsUsers {
136
137
  return new SeamHttpAcsUsers(constructorOptions)
137
138
  }
138
139
 
140
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
141
+ request: SeamHttpRequest<TResponse, TResponseKey>,
142
+ ): SeamPaginator<TResponse, TResponseKey> {
143
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
144
+ }
145
+
139
146
  async updateClientSessionToken(
140
147
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
141
148
  ): Promise<void> {
@@ -163,7 +170,7 @@ export class SeamHttpAcsUsers {
163
170
  body?: AcsUsersAddToAccessGroupBody,
164
171
  ): SeamHttpRequest<void, undefined> {
165
172
  return new SeamHttpRequest(this, {
166
- path: '/acs/users/add_to_access_group',
173
+ pathname: '/acs/users/add_to_access_group',
167
174
  method: 'post',
168
175
  body,
169
176
  responseKey: undefined,
@@ -174,7 +181,7 @@ export class SeamHttpAcsUsers {
174
181
  body?: AcsUsersCreateBody,
175
182
  ): SeamHttpRequest<AcsUsersCreateResponse, 'acs_user'> {
176
183
  return new SeamHttpRequest(this, {
177
- path: '/acs/users/create',
184
+ pathname: '/acs/users/create',
178
185
  method: 'post',
179
186
  body,
180
187
  responseKey: 'acs_user',
@@ -183,7 +190,7 @@ export class SeamHttpAcsUsers {
183
190
 
184
191
  delete(body?: AcsUsersDeleteParams): SeamHttpRequest<void, undefined> {
185
192
  return new SeamHttpRequest(this, {
186
- path: '/acs/users/delete',
193
+ pathname: '/acs/users/delete',
187
194
  method: 'post',
188
195
  body,
189
196
  responseKey: undefined,
@@ -194,7 +201,7 @@ export class SeamHttpAcsUsers {
194
201
  body?: AcsUsersGetParams,
195
202
  ): SeamHttpRequest<AcsUsersGetResponse, 'acs_user'> {
196
203
  return new SeamHttpRequest(this, {
197
- path: '/acs/users/get',
204
+ pathname: '/acs/users/get',
198
205
  method: 'post',
199
206
  body,
200
207
  responseKey: 'acs_user',
@@ -205,7 +212,7 @@ export class SeamHttpAcsUsers {
205
212
  body?: AcsUsersListParams,
206
213
  ): SeamHttpRequest<AcsUsersListResponse, 'acs_users'> {
207
214
  return new SeamHttpRequest(this, {
208
- path: '/acs/users/list',
215
+ pathname: '/acs/users/list',
209
216
  method: 'post',
210
217
  body,
211
218
  responseKey: 'acs_users',
@@ -216,7 +223,7 @@ export class SeamHttpAcsUsers {
216
223
  body?: AcsUsersListAccessibleEntrancesParams,
217
224
  ): SeamHttpRequest<AcsUsersListAccessibleEntrancesResponse, 'acs_entrances'> {
218
225
  return new SeamHttpRequest(this, {
219
- path: '/acs/users/list_accessible_entrances',
226
+ pathname: '/acs/users/list_accessible_entrances',
220
227
  method: 'post',
221
228
  body,
222
229
  responseKey: 'acs_entrances',
@@ -227,7 +234,7 @@ export class SeamHttpAcsUsers {
227
234
  body?: AcsUsersRemoveFromAccessGroupParams,
228
235
  ): SeamHttpRequest<void, undefined> {
229
236
  return new SeamHttpRequest(this, {
230
- path: '/acs/users/remove_from_access_group',
237
+ pathname: '/acs/users/remove_from_access_group',
231
238
  method: 'post',
232
239
  body,
233
240
  responseKey: undefined,
@@ -238,7 +245,7 @@ export class SeamHttpAcsUsers {
238
245
  body?: AcsUsersRevokeAccessToAllEntrancesParams,
239
246
  ): SeamHttpRequest<void, undefined> {
240
247
  return new SeamHttpRequest(this, {
241
- path: '/acs/users/revoke_access_to_all_entrances',
248
+ pathname: '/acs/users/revoke_access_to_all_entrances',
242
249
  method: 'post',
243
250
  body,
244
251
  responseKey: undefined,
@@ -247,7 +254,7 @@ export class SeamHttpAcsUsers {
247
254
 
248
255
  suspend(body?: AcsUsersSuspendBody): SeamHttpRequest<void, undefined> {
249
256
  return new SeamHttpRequest(this, {
250
- path: '/acs/users/suspend',
257
+ pathname: '/acs/users/suspend',
251
258
  method: 'post',
252
259
  body,
253
260
  responseKey: undefined,
@@ -256,7 +263,7 @@ export class SeamHttpAcsUsers {
256
263
 
257
264
  unsuspend(body?: AcsUsersUnsuspendBody): SeamHttpRequest<void, undefined> {
258
265
  return new SeamHttpRequest(this, {
259
- path: '/acs/users/unsuspend',
266
+ pathname: '/acs/users/unsuspend',
260
267
  method: 'post',
261
268
  body,
262
269
  responseKey: undefined,
@@ -265,7 +272,7 @@ export class SeamHttpAcsUsers {
265
272
 
266
273
  update(body?: AcsUsersUpdateBody): SeamHttpRequest<void, undefined> {
267
274
  return new SeamHttpRequest(this, {
268
- path: '/acs/users/update',
275
+ pathname: '/acs/users/update',
269
276
  method: 'post',
270
277
  body,
271
278
  responseKey: undefined,
@@ -28,6 +28,8 @@ import {
28
28
  limitToSeamHttpRequestOptions,
29
29
  parseOptions,
30
30
  } from 'lib/seam/connect/parse-options.js'
31
+ import type { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
32
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
31
33
 
32
34
  import { SeamHttpAcsAccessGroups } from './acs-access-groups.js'
33
35
  import { SeamHttpAcsCredentialPools } from './acs-credential-pools.js'
@@ -139,6 +141,12 @@ export class SeamHttpAcs {
139
141
  return new SeamHttpAcs(constructorOptions)
140
142
  }
141
143
 
144
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
145
+ request: SeamHttpRequest<TResponse, TResponseKey>,
146
+ ): SeamPaginator<TResponse, TResponseKey> {
147
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
148
+ }
149
+
142
150
  async updateClientSessionToken(
143
151
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
144
152
  ): Promise<void> {
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpActionAttempts {
135
136
  return new SeamHttpActionAttempts(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -159,7 +166,7 @@ export class SeamHttpActionAttempts {
159
166
  options: Pick<SeamHttpRequestOptions, 'waitForActionAttempt'> = {},
160
167
  ): SeamHttpRequest<ActionAttemptsGetResponse, 'action_attempt'> {
161
168
  return new SeamHttpRequest(this, {
162
- path: '/action_attempts/get',
169
+ pathname: '/action_attempts/get',
163
170
  method: 'post',
164
171
  body,
165
172
  responseKey: 'action_attempt',
@@ -171,7 +178,7 @@ export class SeamHttpActionAttempts {
171
178
  body?: ActionAttemptsListParams,
172
179
  ): SeamHttpRequest<ActionAttemptsListResponse, 'action_attempts'> {
173
180
  return new SeamHttpRequest(this, {
174
- path: '/action_attempts/list',
181
+ pathname: '/action_attempts/list',
175
182
  method: 'post',
176
183
  body,
177
184
  responseKey: 'action_attempts',
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpBridges {
135
136
  return new SeamHttpBridges(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -156,7 +163,7 @@ export class SeamHttpBridges {
156
163
 
157
164
  get(body?: BridgesGetParams): SeamHttpRequest<BridgesGetResponse, 'bridge'> {
158
165
  return new SeamHttpRequest(this, {
159
- path: '/bridges/get',
166
+ pathname: '/bridges/get',
160
167
  method: 'post',
161
168
  body,
162
169
  responseKey: 'bridge',
@@ -167,7 +174,7 @@ export class SeamHttpBridges {
167
174
  body?: BridgesListParams,
168
175
  ): SeamHttpRequest<BridgesListResponse, 'bridges'> {
169
176
  return new SeamHttpRequest(this, {
170
- path: '/bridges/list',
177
+ pathname: '/bridges/list',
171
178
  method: 'post',
172
179
  body,
173
180
  responseKey: 'bridges',
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  export class SeamHttpClientSessions {
@@ -133,6 +134,12 @@ export class SeamHttpClientSessions {
133
134
  return new SeamHttpClientSessions(constructorOptions)
134
135
  }
135
136
 
137
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
138
+ request: SeamHttpRequest<TResponse, TResponseKey>,
139
+ ): SeamPaginator<TResponse, TResponseKey> {
140
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
141
+ }
142
+
136
143
  async updateClientSessionToken(
137
144
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
138
145
  ): Promise<void> {
@@ -156,7 +163,7 @@ export class SeamHttpClientSessions {
156
163
  body?: ClientSessionsCreateBody,
157
164
  ): SeamHttpRequest<ClientSessionsCreateResponse, 'client_session'> {
158
165
  return new SeamHttpRequest(this, {
159
- path: '/client_sessions/create',
166
+ pathname: '/client_sessions/create',
160
167
  method: 'post',
161
168
  body,
162
169
  responseKey: 'client_session',
@@ -165,7 +172,7 @@ export class SeamHttpClientSessions {
165
172
 
166
173
  delete(body?: ClientSessionsDeleteParams): SeamHttpRequest<void, undefined> {
167
174
  return new SeamHttpRequest(this, {
168
- path: '/client_sessions/delete',
175
+ pathname: '/client_sessions/delete',
169
176
  method: 'post',
170
177
  body,
171
178
  responseKey: undefined,
@@ -176,7 +183,7 @@ export class SeamHttpClientSessions {
176
183
  body?: ClientSessionsGetParams,
177
184
  ): SeamHttpRequest<ClientSessionsGetResponse, 'client_session'> {
178
185
  return new SeamHttpRequest(this, {
179
- path: '/client_sessions/get',
186
+ pathname: '/client_sessions/get',
180
187
  method: 'post',
181
188
  body,
182
189
  responseKey: 'client_session',
@@ -187,7 +194,7 @@ export class SeamHttpClientSessions {
187
194
  body?: ClientSessionsGetOrCreateBody,
188
195
  ): SeamHttpRequest<ClientSessionsGetOrCreateResponse, 'client_session'> {
189
196
  return new SeamHttpRequest(this, {
190
- path: '/client_sessions/get_or_create',
197
+ pathname: '/client_sessions/get_or_create',
191
198
  method: 'post',
192
199
  body,
193
200
  responseKey: 'client_session',
@@ -198,7 +205,7 @@ export class SeamHttpClientSessions {
198
205
  body?: ClientSessionsGrantAccessBody,
199
206
  ): SeamHttpRequest<void, undefined> {
200
207
  return new SeamHttpRequest(this, {
201
- path: '/client_sessions/grant_access',
208
+ pathname: '/client_sessions/grant_access',
202
209
  method: 'post',
203
210
  body,
204
211
  responseKey: undefined,
@@ -209,7 +216,7 @@ export class SeamHttpClientSessions {
209
216
  body?: ClientSessionsListParams,
210
217
  ): SeamHttpRequest<ClientSessionsListResponse, 'client_sessions'> {
211
218
  return new SeamHttpRequest(this, {
212
- path: '/client_sessions/list',
219
+ pathname: '/client_sessions/list',
213
220
  method: 'post',
214
221
  body,
215
222
  responseKey: 'client_sessions',
@@ -218,7 +225,7 @@ export class SeamHttpClientSessions {
218
225
 
219
226
  revoke(body?: ClientSessionsRevokeParams): SeamHttpRequest<void, undefined> {
220
227
  return new SeamHttpRequest(this, {
221
- path: '/client_sessions/revoke',
228
+ pathname: '/client_sessions/revoke',
222
229
  method: 'post',
223
230
  body,
224
231
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpConnectWebviews {
135
136
  return new SeamHttpConnectWebviews(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -158,7 +165,7 @@ export class SeamHttpConnectWebviews {
158
165
  body?: ConnectWebviewsCreateBody,
159
166
  ): SeamHttpRequest<ConnectWebviewsCreateResponse, 'connect_webview'> {
160
167
  return new SeamHttpRequest(this, {
161
- path: '/connect_webviews/create',
168
+ pathname: '/connect_webviews/create',
162
169
  method: 'post',
163
170
  body,
164
171
  responseKey: 'connect_webview',
@@ -167,7 +174,7 @@ export class SeamHttpConnectWebviews {
167
174
 
168
175
  delete(body?: ConnectWebviewsDeleteParams): SeamHttpRequest<void, undefined> {
169
176
  return new SeamHttpRequest(this, {
170
- path: '/connect_webviews/delete',
177
+ pathname: '/connect_webviews/delete',
171
178
  method: 'post',
172
179
  body,
173
180
  responseKey: undefined,
@@ -178,7 +185,7 @@ export class SeamHttpConnectWebviews {
178
185
  body?: ConnectWebviewsGetParams,
179
186
  ): SeamHttpRequest<ConnectWebviewsGetResponse, 'connect_webview'> {
180
187
  return new SeamHttpRequest(this, {
181
- path: '/connect_webviews/get',
188
+ pathname: '/connect_webviews/get',
182
189
  method: 'post',
183
190
  body,
184
191
  responseKey: 'connect_webview',
@@ -189,7 +196,7 @@ export class SeamHttpConnectWebviews {
189
196
  body?: ConnectWebviewsListParams,
190
197
  ): SeamHttpRequest<ConnectWebviewsListResponse, 'connect_webviews'> {
191
198
  return new SeamHttpRequest(this, {
192
- path: '/connect_webviews/list',
199
+ pathname: '/connect_webviews/list',
193
200
  method: 'post',
194
201
  body,
195
202
  responseKey: 'connect_webviews',
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpConnectedAccounts {
135
136
  return new SeamHttpConnectedAccounts(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -158,7 +165,7 @@ export class SeamHttpConnectedAccounts {
158
165
  body?: ConnectedAccountsDeleteParams,
159
166
  ): SeamHttpRequest<void, undefined> {
160
167
  return new SeamHttpRequest(this, {
161
- path: '/connected_accounts/delete',
168
+ pathname: '/connected_accounts/delete',
162
169
  method: 'post',
163
170
  body,
164
171
  responseKey: undefined,
@@ -169,7 +176,7 @@ export class SeamHttpConnectedAccounts {
169
176
  body?: ConnectedAccountsGetParams,
170
177
  ): SeamHttpRequest<ConnectedAccountsGetResponse, 'connected_account'> {
171
178
  return new SeamHttpRequest(this, {
172
- path: '/connected_accounts/get',
179
+ pathname: '/connected_accounts/get',
173
180
  method: 'post',
174
181
  body,
175
182
  responseKey: 'connected_account',
@@ -180,7 +187,7 @@ export class SeamHttpConnectedAccounts {
180
187
  body?: ConnectedAccountsListParams,
181
188
  ): SeamHttpRequest<ConnectedAccountsListResponse, 'connected_accounts'> {
182
189
  return new SeamHttpRequest(this, {
183
- path: '/connected_accounts/list',
190
+ pathname: '/connected_accounts/list',
184
191
  method: 'post',
185
192
  body,
186
193
  responseKey: 'connected_accounts',
@@ -189,7 +196,7 @@ export class SeamHttpConnectedAccounts {
189
196
 
190
197
  update(body?: ConnectedAccountsUpdateBody): SeamHttpRequest<void, undefined> {
191
198
  return new SeamHttpRequest(this, {
192
- path: '/connected_accounts/update',
199
+ pathname: '/connected_accounts/update',
193
200
  method: 'post',
194
201
  body,
195
202
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpDevicesSimulate {
135
136
  return new SeamHttpDevicesSimulate(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -156,7 +163,7 @@ export class SeamHttpDevicesSimulate {
156
163
 
157
164
  connect(body?: DevicesSimulateConnectBody): SeamHttpRequest<void, undefined> {
158
165
  return new SeamHttpRequest(this, {
159
- path: '/devices/simulate/connect',
166
+ pathname: '/devices/simulate/connect',
160
167
  method: 'post',
161
168
  body,
162
169
  responseKey: undefined,
@@ -167,7 +174,7 @@ export class SeamHttpDevicesSimulate {
167
174
  body?: DevicesSimulateDisconnectBody,
168
175
  ): SeamHttpRequest<void, undefined> {
169
176
  return new SeamHttpRequest(this, {
170
- path: '/devices/simulate/disconnect',
177
+ pathname: '/devices/simulate/disconnect',
171
178
  method: 'post',
172
179
  body,
173
180
  responseKey: undefined,
@@ -176,7 +183,7 @@ export class SeamHttpDevicesSimulate {
176
183
 
177
184
  remove(body?: DevicesSimulateRemoveBody): SeamHttpRequest<void, undefined> {
178
185
  return new SeamHttpRequest(this, {
179
- path: '/devices/simulate/remove',
186
+ pathname: '/devices/simulate/remove',
180
187
  method: 'post',
181
188
  body,
182
189
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpDevicesUnmanaged {
135
136
  return new SeamHttpDevicesUnmanaged(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -158,7 +165,7 @@ export class SeamHttpDevicesUnmanaged {
158
165
  body?: DevicesUnmanagedGetParams,
159
166
  ): SeamHttpRequest<DevicesUnmanagedGetResponse, 'device'> {
160
167
  return new SeamHttpRequest(this, {
161
- path: '/devices/unmanaged/get',
168
+ pathname: '/devices/unmanaged/get',
162
169
  method: 'post',
163
170
  body,
164
171
  responseKey: 'device',
@@ -169,7 +176,7 @@ export class SeamHttpDevicesUnmanaged {
169
176
  body?: DevicesUnmanagedListParams,
170
177
  ): SeamHttpRequest<DevicesUnmanagedListResponse, 'devices'> {
171
178
  return new SeamHttpRequest(this, {
172
- path: '/devices/unmanaged/list',
179
+ pathname: '/devices/unmanaged/list',
173
180
  method: 'post',
174
181
  body,
175
182
  responseKey: 'devices',
@@ -178,7 +185,7 @@ export class SeamHttpDevicesUnmanaged {
178
185
 
179
186
  update(body?: DevicesUnmanagedUpdateBody): SeamHttpRequest<void, undefined> {
180
187
  return new SeamHttpRequest(this, {
181
- path: '/devices/unmanaged/update',
188
+ pathname: '/devices/unmanaged/update',
182
189
  method: 'post',
183
190
  body,
184
191
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -137,6 +138,12 @@ export class SeamHttpDevices {
137
138
  return new SeamHttpDevices(constructorOptions)
138
139
  }
139
140
 
141
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
142
+ request: SeamHttpRequest<TResponse, TResponseKey>,
143
+ ): SeamPaginator<TResponse, TResponseKey> {
144
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
145
+ }
146
+
140
147
  async updateClientSessionToken(
141
148
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
142
149
  ): Promise<void> {
@@ -166,7 +173,7 @@ export class SeamHttpDevices {
166
173
 
167
174
  delete(body?: DevicesDeleteParams): SeamHttpRequest<void, undefined> {
168
175
  return new SeamHttpRequest(this, {
169
- path: '/devices/delete',
176
+ pathname: '/devices/delete',
170
177
  method: 'post',
171
178
  body,
172
179
  responseKey: undefined,
@@ -175,7 +182,7 @@ export class SeamHttpDevices {
175
182
 
176
183
  get(body?: DevicesGetParams): SeamHttpRequest<DevicesGetResponse, 'device'> {
177
184
  return new SeamHttpRequest(this, {
178
- path: '/devices/get',
185
+ pathname: '/devices/get',
179
186
  method: 'post',
180
187
  body,
181
188
  responseKey: 'device',
@@ -186,7 +193,7 @@ export class SeamHttpDevices {
186
193
  body?: DevicesListParams,
187
194
  ): SeamHttpRequest<DevicesListResponse, 'devices'> {
188
195
  return new SeamHttpRequest(this, {
189
- path: '/devices/list',
196
+ pathname: '/devices/list',
190
197
  method: 'post',
191
198
  body,
192
199
  responseKey: 'devices',
@@ -197,7 +204,7 @@ export class SeamHttpDevices {
197
204
  body?: DevicesListDeviceProvidersParams,
198
205
  ): SeamHttpRequest<DevicesListDeviceProvidersResponse, 'device_providers'> {
199
206
  return new SeamHttpRequest(this, {
200
- path: '/devices/list_device_providers',
207
+ pathname: '/devices/list_device_providers',
201
208
  method: 'post',
202
209
  body,
203
210
  responseKey: 'device_providers',
@@ -206,7 +213,7 @@ export class SeamHttpDevices {
206
213
 
207
214
  update(body?: DevicesUpdateBody): SeamHttpRequest<void, undefined> {
208
215
  return new SeamHttpRequest(this, {
209
- path: '/devices/update',
216
+ pathname: '/devices/update',
210
217
  method: 'post',
211
218
  body,
212
219
  responseKey: undefined,
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpEvents {
135
136
  return new SeamHttpEvents(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -156,7 +163,7 @@ export class SeamHttpEvents {
156
163
 
157
164
  get(body?: EventsGetParams): SeamHttpRequest<EventsGetResponse, 'event'> {
158
165
  return new SeamHttpRequest(this, {
159
- path: '/events/get',
166
+ pathname: '/events/get',
160
167
  method: 'post',
161
168
  body,
162
169
  responseKey: 'event',
@@ -165,7 +172,7 @@ export class SeamHttpEvents {
165
172
 
166
173
  list(body?: EventsListParams): SeamHttpRequest<EventsListResponse, 'events'> {
167
174
  return new SeamHttpRequest(this, {
168
- path: '/events/list',
175
+ pathname: '/events/list',
169
176
  method: 'post',
170
177
  body,
171
178
  responseKey: 'events',
@@ -31,6 +31,7 @@ import {
31
31
  parseOptions,
32
32
  } from 'lib/seam/connect/parse-options.js'
33
33
  import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
34
35
  import type { SetNonNullable } from 'lib/types.js'
35
36
 
36
37
  import { SeamHttpClientSessions } from './client-sessions.js'
@@ -135,6 +136,12 @@ export class SeamHttpLocks {
135
136
  return new SeamHttpLocks(constructorOptions)
136
137
  }
137
138
 
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
138
145
  async updateClientSessionToken(
139
146
  clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
147
  ): Promise<void> {
@@ -156,7 +163,7 @@ export class SeamHttpLocks {
156
163
 
157
164
  get(body?: LocksGetParams): SeamHttpRequest<LocksGetResponse, 'device'> {
158
165
  return new SeamHttpRequest(this, {
159
- path: '/locks/get',
166
+ pathname: '/locks/get',
160
167
  method: 'post',
161
168
  body,
162
169
  responseKey: 'device',
@@ -165,7 +172,7 @@ export class SeamHttpLocks {
165
172
 
166
173
  list(body?: LocksListParams): SeamHttpRequest<LocksListResponse, 'devices'> {
167
174
  return new SeamHttpRequest(this, {
168
- path: '/locks/list',
175
+ pathname: '/locks/list',
169
176
  method: 'post',
170
177
  body,
171
178
  responseKey: 'devices',
@@ -177,7 +184,7 @@ export class SeamHttpLocks {
177
184
  options: Pick<SeamHttpRequestOptions, 'waitForActionAttempt'> = {},
178
185
  ): SeamHttpRequest<LocksLockDoorResponse, 'action_attempt'> {
179
186
  return new SeamHttpRequest(this, {
180
- path: '/locks/lock_door',
187
+ pathname: '/locks/lock_door',
181
188
  method: 'post',
182
189
  body,
183
190
  responseKey: 'action_attempt',
@@ -190,7 +197,7 @@ export class SeamHttpLocks {
190
197
  options: Pick<SeamHttpRequestOptions, 'waitForActionAttempt'> = {},
191
198
  ): SeamHttpRequest<LocksUnlockDoorResponse, 'action_attempt'> {
192
199
  return new SeamHttpRequest(this, {
193
- path: '/locks/unlock_door',
200
+ pathname: '/locks/unlock_door',
194
201
  method: 'post',
195
202
  body,
196
203
  responseKey: 'action_attempt',