@seamapi/http 0.16.2 → 0.17.1

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 (128) hide show
  1. package/README.md +8 -0
  2. package/dist/connect.cjs +478 -0
  3. package/dist/connect.cjs.map +1 -1
  4. package/dist/connect.d.cts +38 -1
  5. package/lib/seam/connect/auth.d.ts +2 -0
  6. package/lib/seam/connect/auth.js +1 -1
  7. package/lib/seam/connect/auth.js.map +1 -1
  8. package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +1 -0
  9. package/lib/seam/connect/routes/access-codes-unmanaged.js +15 -1
  10. package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
  11. package/lib/seam/connect/routes/access-codes.d.ts +1 -0
  12. package/lib/seam/connect/routes/access-codes.js +15 -1
  13. package/lib/seam/connect/routes/access-codes.js.map +1 -1
  14. package/lib/seam/connect/routes/acs-access-groups.d.ts +1 -0
  15. package/lib/seam/connect/routes/acs-access-groups.js +15 -1
  16. package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
  17. package/lib/seam/connect/routes/acs-credential-pools.d.ts +1 -0
  18. package/lib/seam/connect/routes/acs-credential-pools.js +15 -1
  19. package/lib/seam/connect/routes/acs-credential-pools.js.map +1 -1
  20. package/lib/seam/connect/routes/acs-credential-provisioning-automations.d.ts +1 -0
  21. package/lib/seam/connect/routes/acs-credential-provisioning-automations.js +15 -1
  22. package/lib/seam/connect/routes/acs-credential-provisioning-automations.js.map +1 -1
  23. package/lib/seam/connect/routes/acs-credentials.d.ts +1 -0
  24. package/lib/seam/connect/routes/acs-credentials.js +15 -1
  25. package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
  26. package/lib/seam/connect/routes/acs-entrances.d.ts +1 -0
  27. package/lib/seam/connect/routes/acs-entrances.js +15 -1
  28. package/lib/seam/connect/routes/acs-entrances.js.map +1 -1
  29. package/lib/seam/connect/routes/acs-systems.d.ts +1 -0
  30. package/lib/seam/connect/routes/acs-systems.js +15 -1
  31. package/lib/seam/connect/routes/acs-systems.js.map +1 -1
  32. package/lib/seam/connect/routes/acs-users.d.ts +5 -0
  33. package/lib/seam/connect/routes/acs-users.js +22 -1
  34. package/lib/seam/connect/routes/acs-users.js.map +1 -1
  35. package/lib/seam/connect/routes/acs.d.ts +1 -0
  36. package/lib/seam/connect/routes/acs.js +15 -1
  37. package/lib/seam/connect/routes/acs.js.map +1 -1
  38. package/lib/seam/connect/routes/action-attempts.d.ts +1 -0
  39. package/lib/seam/connect/routes/action-attempts.js +15 -1
  40. package/lib/seam/connect/routes/action-attempts.js.map +1 -1
  41. package/lib/seam/connect/routes/client-sessions.d.ts +1 -0
  42. package/lib/seam/connect/routes/client-sessions.js +15 -1
  43. package/lib/seam/connect/routes/client-sessions.js.map +1 -1
  44. package/lib/seam/connect/routes/connect-webviews.d.ts +1 -0
  45. package/lib/seam/connect/routes/connect-webviews.js +15 -1
  46. package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
  47. package/lib/seam/connect/routes/connected-accounts.d.ts +1 -0
  48. package/lib/seam/connect/routes/connected-accounts.js +15 -1
  49. package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
  50. package/lib/seam/connect/routes/devices-unmanaged.d.ts +1 -0
  51. package/lib/seam/connect/routes/devices-unmanaged.js +15 -1
  52. package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
  53. package/lib/seam/connect/routes/devices.d.ts +1 -0
  54. package/lib/seam/connect/routes/devices.js +15 -1
  55. package/lib/seam/connect/routes/devices.js.map +1 -1
  56. package/lib/seam/connect/routes/events.d.ts +1 -0
  57. package/lib/seam/connect/routes/events.js +15 -1
  58. package/lib/seam/connect/routes/events.js.map +1 -1
  59. package/lib/seam/connect/routes/locks.d.ts +1 -0
  60. package/lib/seam/connect/routes/locks.js +15 -1
  61. package/lib/seam/connect/routes/locks.js.map +1 -1
  62. package/lib/seam/connect/routes/networks.d.ts +1 -0
  63. package/lib/seam/connect/routes/networks.js +15 -1
  64. package/lib/seam/connect/routes/networks.js.map +1 -1
  65. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +1 -0
  66. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +15 -1
  67. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
  68. package/lib/seam/connect/routes/noise-sensors.d.ts +1 -0
  69. package/lib/seam/connect/routes/noise-sensors.js +15 -1
  70. package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
  71. package/lib/seam/connect/routes/phones.d.ts +1 -0
  72. package/lib/seam/connect/routes/phones.js +15 -1
  73. package/lib/seam/connect/routes/phones.js.map +1 -1
  74. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +1 -0
  75. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js +15 -1
  76. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +1 -1
  77. package/lib/seam/connect/routes/thermostats.d.ts +1 -0
  78. package/lib/seam/connect/routes/thermostats.js +15 -1
  79. package/lib/seam/connect/routes/thermostats.js.map +1 -1
  80. package/lib/seam/connect/routes/user-identities-enrollment-automations.d.ts +1 -0
  81. package/lib/seam/connect/routes/user-identities-enrollment-automations.js +15 -1
  82. package/lib/seam/connect/routes/user-identities-enrollment-automations.js.map +1 -1
  83. package/lib/seam/connect/routes/user-identities.d.ts +1 -0
  84. package/lib/seam/connect/routes/user-identities.js +15 -1
  85. package/lib/seam/connect/routes/user-identities.js.map +1 -1
  86. package/lib/seam/connect/routes/webhooks.d.ts +5 -0
  87. package/lib/seam/connect/routes/webhooks.js +22 -1
  88. package/lib/seam/connect/routes/webhooks.js.map +1 -1
  89. package/lib/seam/connect/routes/workspaces.d.ts +1 -0
  90. package/lib/seam/connect/routes/workspaces.js +15 -1
  91. package/lib/seam/connect/routes/workspaces.js.map +1 -1
  92. package/lib/seam/connect/seam-http.d.ts +1 -0
  93. package/lib/seam/connect/seam-http.js +15 -1
  94. package/lib/seam/connect/seam-http.js.map +1 -1
  95. package/lib/version.d.ts +1 -1
  96. package/lib/version.js +1 -1
  97. package/package.json +3 -3
  98. package/src/lib/seam/connect/auth.ts +1 -1
  99. package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +23 -1
  100. package/src/lib/seam/connect/routes/access-codes.ts +23 -1
  101. package/src/lib/seam/connect/routes/acs-access-groups.ts +23 -1
  102. package/src/lib/seam/connect/routes/acs-credential-pools.ts +23 -1
  103. package/src/lib/seam/connect/routes/acs-credential-provisioning-automations.ts +23 -1
  104. package/src/lib/seam/connect/routes/acs-credentials.ts +23 -1
  105. package/src/lib/seam/connect/routes/acs-entrances.ts +23 -1
  106. package/src/lib/seam/connect/routes/acs-systems.ts +23 -1
  107. package/src/lib/seam/connect/routes/acs-users.ts +42 -1
  108. package/src/lib/seam/connect/routes/acs.ts +23 -1
  109. package/src/lib/seam/connect/routes/action-attempts.ts +23 -1
  110. package/src/lib/seam/connect/routes/client-sessions.ts +23 -1
  111. package/src/lib/seam/connect/routes/connect-webviews.ts +23 -1
  112. package/src/lib/seam/connect/routes/connected-accounts.ts +23 -1
  113. package/src/lib/seam/connect/routes/devices-unmanaged.ts +23 -1
  114. package/src/lib/seam/connect/routes/devices.ts +23 -1
  115. package/src/lib/seam/connect/routes/events.ts +23 -1
  116. package/src/lib/seam/connect/routes/locks.ts +23 -1
  117. package/src/lib/seam/connect/routes/networks.ts +23 -1
  118. package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +23 -1
  119. package/src/lib/seam/connect/routes/noise-sensors.ts +23 -1
  120. package/src/lib/seam/connect/routes/phones.ts +23 -1
  121. package/src/lib/seam/connect/routes/thermostats-climate-setting-schedules.ts +23 -1
  122. package/src/lib/seam/connect/routes/thermostats.ts +23 -1
  123. package/src/lib/seam/connect/routes/user-identities-enrollment-automations.ts +23 -1
  124. package/src/lib/seam/connect/routes/user-identities.ts +23 -1
  125. package/src/lib/seam/connect/routes/webhooks.ts +39 -1
  126. package/src/lib/seam/connect/routes/workspaces.ts +23 -1
  127. package/src/lib/seam/connect/seam-http.ts +23 -1
  128. package/src/lib/version.ts +1 -1
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -132,6 +135,25 @@ export class SeamHttpAccessCodes {
132
135
  return new SeamHttpAccessCodes(constructorOptions)
133
136
  }
134
137
 
138
+ async updateClientSessionToken(
139
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
+ ): Promise<void> {
141
+ const { headers } = this.client.defaults
142
+ const authHeaders = getAuthHeadersForClientSessionToken({
143
+ clientSessionToken,
144
+ })
145
+ for (const key of Object.keys(authHeaders)) {
146
+ if (headers[key] == null) {
147
+ throw new Error(
148
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
149
+ )
150
+ }
151
+ }
152
+ this.client.defaults.headers = { ...headers, ...authHeaders }
153
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
154
+ await clientSessions.get()
155
+ }
156
+
135
157
  get unmanaged(): SeamHttpAccessCodesUnmanaged {
136
158
  return SeamHttpAccessCodesUnmanaged.fromClient(this.client, this.defaults)
137
159
  }
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpAcsAccessGroups {
131
134
  return new SeamHttpAcsAccessGroups(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async addUser(body?: AcsAccessGroupsAddUserBody): Promise<void> {
135
157
  await this.client.request<AcsAccessGroupsAddUserResponse>({
136
158
  url: '/acs/access_groups/add_user',
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpAcsCredentialPools {
131
134
  return new SeamHttpAcsCredentialPools(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async list(
135
157
  body?: AcsCredentialPoolsListParams,
136
158
  ): Promise<AcsCredentialPoolsListResponse['acs_credential_pools']> {
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -134,6 +137,25 @@ export class SeamHttpAcsCredentialProvisioningAutomations {
134
137
  return new SeamHttpAcsCredentialProvisioningAutomations(constructorOptions)
135
138
  }
136
139
 
140
+ async updateClientSessionToken(
141
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
142
+ ): Promise<void> {
143
+ const { headers } = this.client.defaults
144
+ const authHeaders = getAuthHeadersForClientSessionToken({
145
+ clientSessionToken,
146
+ })
147
+ for (const key of Object.keys(authHeaders)) {
148
+ if (headers[key] == null) {
149
+ throw new Error(
150
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
151
+ )
152
+ }
153
+ }
154
+ this.client.defaults.headers = { ...headers, ...authHeaders }
155
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
156
+ await clientSessions.get()
157
+ }
158
+
137
159
  async launch(
138
160
  body?: AcsCredentialProvisioningAutomationsLaunchBody,
139
161
  ): Promise<
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpAcsCredentials {
131
134
  return new SeamHttpAcsCredentials(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async assign(
135
157
  body?: AcsCredentialsAssignBody,
136
158
  ): Promise<AcsCredentialsAssignResponse['acs_credential']> {
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpAcsEntrances {
131
134
  return new SeamHttpAcsEntrances(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async get(
135
157
  body?: AcsEntrancesGetParams,
136
158
  ): Promise<AcsEntrancesGetResponse['acs_entrance']> {
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpAcsSystems {
131
134
  return new SeamHttpAcsSystems(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async get(
135
157
  body?: AcsSystemsGetParams,
136
158
  ): Promise<AcsSystemsGetResponse['acs_system']> {
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpAcsUsers {
131
134
  return new SeamHttpAcsUsers(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async addToAccessGroup(body?: AcsUsersAddToAccessGroupBody): Promise<void> {
135
157
  await this.client.request<AcsUsersAddToAccessGroupResponse>({
136
158
  url: '/acs/users/add_to_access_group',
@@ -206,6 +228,16 @@ export class SeamHttpAcsUsers {
206
228
  })
207
229
  }
208
230
 
231
+ async revokeAccessToAllEntrances(
232
+ body?: AcsUsersRevokeAccessToAllEntrancesBody,
233
+ ): Promise<void> {
234
+ await this.client.request<AcsUsersRevokeAccessToAllEntrancesResponse>({
235
+ url: '/acs/users/revoke_access_to_all_entrances',
236
+ method: 'post',
237
+ data: body,
238
+ })
239
+ }
240
+
209
241
  async suspend(body?: AcsUsersSuspendBody): Promise<void> {
210
242
  await this.client.request<AcsUsersSuspendResponse>({
211
243
  url: '/acs/users/suspend',
@@ -290,6 +322,15 @@ export type AcsUsersRemoveFromAccessGroupResponse = SetNonNullable<
290
322
 
291
323
  export type AcsUsersRemoveFromAccessGroupOptions = never
292
324
 
325
+ export type AcsUsersRevokeAccessToAllEntrancesBody =
326
+ RouteRequestBody<'/acs/users/revoke_access_to_all_entrances'>
327
+
328
+ export type AcsUsersRevokeAccessToAllEntrancesResponse = SetNonNullable<
329
+ Required<RouteResponse<'/acs/users/revoke_access_to_all_entrances'>>
330
+ >
331
+
332
+ export type AcsUsersRevokeAccessToAllEntrancesOptions = never
333
+
293
334
  export type AcsUsersSuspendBody = RouteRequestBody<'/acs/users/suspend'>
294
335
 
295
336
  export type AcsUsersSuspendResponse = SetNonNullable<
@@ -3,7 +3,10 @@
3
3
  * Do not edit this file or add other files to this directory.
4
4
  */
5
5
 
6
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
6
+ import {
7
+ getAuthHeadersForClientSessionToken,
8
+ warnOnInsecureuserIdentifierKey,
9
+ } from 'lib/seam/connect/auth.js'
7
10
  import { type Client, createClient } from 'lib/seam/connect/client.js'
8
11
  import {
9
12
  isSeamHttpOptionsWithApiKey,
@@ -135,6 +138,25 @@ export class SeamHttpAcs {
135
138
  return new SeamHttpAcs(constructorOptions)
136
139
  }
137
140
 
141
+ async updateClientSessionToken(
142
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
143
+ ): Promise<void> {
144
+ const { headers } = this.client.defaults
145
+ const authHeaders = getAuthHeadersForClientSessionToken({
146
+ clientSessionToken,
147
+ })
148
+ for (const key of Object.keys(authHeaders)) {
149
+ if (headers[key] == null) {
150
+ throw new Error(
151
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
152
+ )
153
+ }
154
+ }
155
+ this.client.defaults.headers = { ...headers, ...authHeaders }
156
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
157
+ await clientSessions.get()
158
+ }
159
+
138
160
  get accessGroups(): SeamHttpAcsAccessGroups {
139
161
  return SeamHttpAcsAccessGroups.fromClient(this.client, this.defaults)
140
162
  }
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -132,6 +135,25 @@ export class SeamHttpActionAttempts {
132
135
  return new SeamHttpActionAttempts(constructorOptions)
133
136
  }
134
137
 
138
+ async updateClientSessionToken(
139
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
+ ): Promise<void> {
141
+ const { headers } = this.client.defaults
142
+ const authHeaders = getAuthHeadersForClientSessionToken({
143
+ clientSessionToken,
144
+ })
145
+ for (const key of Object.keys(authHeaders)) {
146
+ if (headers[key] == null) {
147
+ throw new Error(
148
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
149
+ )
150
+ }
151
+ }
152
+ this.client.defaults.headers = { ...headers, ...authHeaders }
153
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
154
+ await clientSessions.get()
155
+ }
156
+
135
157
  async get(
136
158
  body?: ActionAttemptsGetParams,
137
159
  options: Pick<SeamHttpRequestOptions, 'waitForActionAttempt'> = {},
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -129,6 +132,25 @@ export class SeamHttpClientSessions {
129
132
  return new SeamHttpClientSessions(constructorOptions)
130
133
  }
131
134
 
135
+ async updateClientSessionToken(
136
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
137
+ ): Promise<void> {
138
+ const { headers } = this.client.defaults
139
+ const authHeaders = getAuthHeadersForClientSessionToken({
140
+ clientSessionToken,
141
+ })
142
+ for (const key of Object.keys(authHeaders)) {
143
+ if (headers[key] == null) {
144
+ throw new Error(
145
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
146
+ )
147
+ }
148
+ }
149
+ this.client.defaults.headers = { ...headers, ...authHeaders }
150
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
151
+ await clientSessions.get()
152
+ }
153
+
132
154
  async create(
133
155
  body?: ClientSessionsCreateBody,
134
156
  ): Promise<ClientSessionsCreateResponse['client_session']> {
@@ -10,7 +10,10 @@ import type {
10
10
  } from '@seamapi/types/connect'
11
11
  import type { SetNonNullable } from 'type-fest'
12
12
 
13
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
13
+ import {
14
+ getAuthHeadersForClientSessionToken,
15
+ warnOnInsecureuserIdentifierKey,
16
+ } from 'lib/seam/connect/auth.js'
14
17
  import { type Client, createClient } from 'lib/seam/connect/client.js'
15
18
  import {
16
19
  isSeamHttpOptionsWithApiKey,
@@ -135,6 +138,25 @@ export class SeamHttpConnectWebviews {
135
138
  return new SeamHttpConnectWebviews(constructorOptions)
136
139
  }
137
140
 
141
+ async updateClientSessionToken(
142
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
143
+ ): Promise<void> {
144
+ const { headers } = this.client.defaults
145
+ const authHeaders = getAuthHeadersForClientSessionToken({
146
+ clientSessionToken,
147
+ })
148
+ for (const key of Object.keys(authHeaders)) {
149
+ if (headers[key] == null) {
150
+ throw new Error(
151
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
152
+ )
153
+ }
154
+ }
155
+ this.client.defaults.headers = { ...headers, ...authHeaders }
156
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
157
+ await clientSessions.get()
158
+ }
159
+
138
160
  async create(
139
161
  body?: ConnectWebviewsCreateBody,
140
162
  ): Promise<ConnectWebviewsCreateResponse['connect_webview']> {
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpConnectedAccounts {
131
134
  return new SeamHttpConnectedAccounts(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async delete(body?: ConnectedAccountsDeleteBody): Promise<void> {
135
157
  await this.client.request<ConnectedAccountsDeleteResponse>({
136
158
  url: '/connected_accounts/delete',
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpDevicesUnmanaged {
131
134
  return new SeamHttpDevicesUnmanaged(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async get(
135
157
  body?: DevicesUnmanagedGetParams,
136
158
  ): Promise<DevicesUnmanagedGetResponse['device']> {
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -132,6 +135,25 @@ export class SeamHttpDevices {
132
135
  return new SeamHttpDevices(constructorOptions)
133
136
  }
134
137
 
138
+ async updateClientSessionToken(
139
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
140
+ ): Promise<void> {
141
+ const { headers } = this.client.defaults
142
+ const authHeaders = getAuthHeadersForClientSessionToken({
143
+ clientSessionToken,
144
+ })
145
+ for (const key of Object.keys(authHeaders)) {
146
+ if (headers[key] == null) {
147
+ throw new Error(
148
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
149
+ )
150
+ }
151
+ }
152
+ this.client.defaults.headers = { ...headers, ...authHeaders }
153
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
154
+ await clientSessions.get()
155
+ }
156
+
135
157
  get unmanaged(): SeamHttpDevicesUnmanaged {
136
158
  return SeamHttpDevicesUnmanaged.fromClient(this.client, this.defaults)
137
159
  }
@@ -6,7 +6,10 @@
6
6
  import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
7
  import type { SetNonNullable } from 'type-fest'
8
8
 
9
- import { warnOnInsecureuserIdentifierKey } from 'lib/seam/connect/auth.js'
9
+ import {
10
+ getAuthHeadersForClientSessionToken,
11
+ warnOnInsecureuserIdentifierKey,
12
+ } from 'lib/seam/connect/auth.js'
10
13
  import { type Client, createClient } from 'lib/seam/connect/client.js'
11
14
  import {
12
15
  isSeamHttpOptionsWithApiKey,
@@ -131,6 +134,25 @@ export class SeamHttpEvents {
131
134
  return new SeamHttpEvents(constructorOptions)
132
135
  }
133
136
 
137
+ async updateClientSessionToken(
138
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
139
+ ): Promise<void> {
140
+ const { headers } = this.client.defaults
141
+ const authHeaders = getAuthHeadersForClientSessionToken({
142
+ clientSessionToken,
143
+ })
144
+ for (const key of Object.keys(authHeaders)) {
145
+ if (headers[key] == null) {
146
+ throw new Error(
147
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
148
+ )
149
+ }
150
+ }
151
+ this.client.defaults.headers = { ...headers, ...authHeaders }
152
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
153
+ await clientSessions.get()
154
+ }
155
+
134
156
  async get(body?: EventsGetParams): Promise<EventsGetResponse['event']> {
135
157
  const { data } = await this.client.request<EventsGetResponse>({
136
158
  url: '/events/get',